WO2025001042A1 - 资产信息的上报方法及装置、非易失性可读存储介质及电子设备 - Google Patents
资产信息的上报方法及装置、非易失性可读存储介质及电子设备 Download PDFInfo
- Publication number
- WO2025001042A1 WO2025001042A1 PCT/CN2024/070672 CN2024070672W WO2025001042A1 WO 2025001042 A1 WO2025001042 A1 WO 2025001042A1 CN 2024070672 W CN2024070672 W CN 2024070672W WO 2025001042 A1 WO2025001042 A1 WO 2025001042A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- information
- target device
- register
- spd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- Embodiments of the present application relate to the field of computers, and in particular, to a method and device for reporting asset information, a non-volatile readable storage medium, and an electronic device.
- I2C Inter-Integrated Circuit, a synchronous, half-duplex communication bus
- SPD Serial Presence Detect
- DIMM Dual-Inline-Memory-Modules, a memory stick
- the BMC Baseboard Management Controller
- the BIOS Basic Input Output System
- IPMI Intelligent Platform Management Interface
- the asset information reporting method in the related art has the problem of low efficiency in reporting asset information due to out-of-band access.
- the embodiments of the present application provide a method and device for reporting asset information, a non-volatile readable storage medium and an electronic device, so as to at least solve the problem of low efficiency of reporting asset information due to out-of-band access in the asset information reporting method in the related art.
- a method for reporting asset information comprising: when a target device supports memory expansion, reading sequence presence detection (SPD) information of a specified memory stick attached to the target device from a configuration space register of a memory expansion controller of the target device through a basic input/output system, wherein the target device is a device supporting an open interconnection standard CXL protocol; when the target SPD information is read, reporting the target SPD information as system asset information to a central processor of the target device through the basic input/output system.
- SPD sequence presence detection
- an asset information reporting device comprising: a first reading unit, configured to read, when the target device supports memory expansion, sequence presence detection SPD information of a specified memory stick attached to the target device from a configuration space register of a memory expansion controller of the target device through a basic input/output system, wherein the target device is a device supporting an open interconnection standard CXL protocol; and a reporting unit, configured to report the target SPD information as system asset information to a central processor of the target device through a basic input/output system when the target SPD information is read.
- a computer non-volatile readable storage medium in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
- an electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
- the SPD information of the specified memory stick is stored in the configuration space register of the memory expansion controller.
- the sequence existence detection SPD information of the specified memory stick hung under the target device is read from the configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the target device is a device supporting the open interconnection standard CXL protocol; when the target SPD information is read, the target SPD information is reported to the central processor of the target device as system asset information through the basic input and output system.
- the information stored in the configuration space register can be directly accessed by the basic input and output system without having to be indirectly obtained through the BMC, the purpose of obtaining asset information only through in-band access can be achieved, thereby achieving the technical effect of improving the efficiency of asset information reporting, thereby solving the problem of low efficiency of asset information reporting due to out-of-band access in the asset information reporting method in the related art.
- FIG1 is a schematic diagram of a hardware environment of a method for reporting asset information according to an embodiment of the present application
- FIG2 is a flow chart of a method for reporting asset information according to an embodiment of the present application.
- FIG3 is a schematic diagram of a method for reporting asset information according to an embodiment of the present application.
- FIG4 is a schematic diagram of another method for reporting asset information according to an embodiment of the present application.
- FIG5 is a schematic diagram of another method for reporting asset information according to an embodiment of the present application.
- FIG6 is a schematic diagram of another method for reporting asset information according to an embodiment of the present application.
- FIG. 7 is a flow chart of another method for reporting asset information according to an embodiment of the present application.
- FIG1 is a hardware environment diagram of a method for reporting asset information according to an embodiment of the present application.
- the computer terminal may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data, wherein the above-mentioned computer terminal may also include a transmission device 106 configured to have a communication function and an input and output device 108.
- FIG1 is only for illustration and does not limit the structure of the above-mentioned computer terminal.
- the computer terminal may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .
- the memory 104 may be configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the asset information reporting method in the embodiment of the present application.
- the processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method.
- the memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic disks.
- the memory 104 may be a nonvolatile storage device, a flash memory, or other nonvolatile solid-state memory.
- the memory 104 includes a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
- the transmission device 106 is configured to receive or send data via a network.
- the above network examples may include a wireless network provided by a communication provider of a computer terminal.
- the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet.
- the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is configured to communicate with the Internet wirelessly.
- RF Radio Frequency
- FIG. 2 is a flow chart of a method for reporting asset information according to an embodiment of the present application. As shown in FIG. 2 , the process includes the following steps:
- Step S202 when the target device supports memory expansion, read the sequence presence detection SPD information of the specified memory bank under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the target device is a device supporting the open interconnection standard CXL protocol.
- the asset information reporting method in this embodiment can be applied to the scenario of reporting the asset information of a specified memory bar in a CXL device.
- the CXL device can be a device that supports the CXL protocol.
- the CXL protocol allows the memory of the CPU (central processing unit) to maintain consistency with the memory on the attached device.
- the specified memory bar in the CXL device can be a DIMM attached to the CXL device.
- the asset information of the specified memory bar can be the SPD information of the DIMM, including but not limited to the memory chip and module manufacturer, operating frequency, operating voltage, speed, capacity, voltage, and row and column address bandwidth and other parameters.
- the asset information reporting process of DIMM is mainly that when the system is powered on, the CPU is selected through the PCH (integrated south bridge chip) through the MUX (Multiplexer), and accesses the DIMM through I2C to obtain SPD information.
- the CXL device When the CXL device is introduced into the system, the DIMMs attached to it are visible to the system and can be introduced into the address space of the system.
- the path from the CPU to the CXL memory is CXL, a composite bus based on the PCIe (PCI-Express, i.e. Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) Phy (Physical) layer link.
- the way for the system that introduces the CXL protocol to obtain DIMM asset information requires the BMC (Baseboard Management Controller) to be connected to the MXC (Memory Expander Controller) chip through I2C, and the MXC accesses the SPD information of the DIMM through I2C.
- the BIOS can obtain the corresponding SPD information from the BMC through the IPMI command.
- this method can obtain accurate SPD information, it requires out-of-band access, which is not direct enough for the BIOS and the efficiency of obtaining asset information is also low.
- the corresponding SPD information reading operation can be performed on the target device.
- the SPD information reading operation can be performed by directly reading the SPD information of the specified memory bank attached to the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system (i.e., BIOS).
- BIOS basic input and output system
- the target device can be a device that supports the open interconnect standard CXL protocol.
- the memory expansion controller and the designated memory bank may be connected via I2C.
- the configuration space register of the memory expansion controller may refer to a configuration space register in the memory expansion controller that is only configured to store SPD information, and may be a register or a group of registers.
- the target SPD information can be directly reported to the central processing unit of the target device as system asset information through the basic input and output system.
- the reporting method can be to add the read target SPD information to the data table structure that records the system asset information to complete the reporting of the system asset information, or to directly send the target SPD information to the central processing unit, which is not limited in this embodiment.
- the sequence existence detection SPD information of the specified memory bank attached to the target device is read from the configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the target device is a device supporting the open interconnection standard CXL protocol; when the target SPD information is read, the target SPD information is reported to the central processor of the target device as system asset information through the basic input and output system, thereby solving the problem of low reporting efficiency of asset information due to out-of-band access in the reporting method of asset information in the related technology, thereby achieving the technical effect of improving the reporting efficiency of asset information.
- the target SPD information when the target SPD information is read, the target SPD information is reported to the central processor of the target device as system asset information through the basic input and output system, including: when the target SPD information is read, the target SPD information is added to a designated data structure of the basic input and output system through the basic input and output system to report the target SPD information to the central processor of the target device as system asset information of the basic input and output system, wherein the designated data structure is a data structure for reporting system asset information.
- the system asset information can be obtained by accessing the structure of the SMBIOS, that is, based on the table structure method, the type structure table corresponding to the system asset information is found, and then the corresponding system asset information is obtained. Therefore, in this embodiment, reporting the target SPD information as the system asset information to the central processor of the target device can be completed by adding the target SPD information to the specified data structure of the basic input and output system through the basic input and output system.
- SMBIOS System Management Basic Input/Output System
- the above-mentioned specified data structure can be a data structure used to report system asset information, such as a data table structure used to record storage devices, that is, Smbios type17. (A data table structure in the system management basic input/output system).
- sequence presence detection SPD information of a specified memory bank hung under the target device is read from a configuration space register of a memory expansion controller of the target device through a basic input/output system, including: when the target device supports memory expansion, the configuration space register of the memory expansion controller is accessed in a memory mapping manner through the basic input/output system to read the SPD information of the specified memory bank hung under the target device from the configuration space register of the memory expansion controller.
- the memory expansion controller of the target device may have multiple configuration space registers to store configuration information corresponding to the target device and SPD information of a specified memory bank of the target device respectively.
- the information stored in the configuration space register may be obtained by memory mapping.
- mapping relationship between the information to be obtained and the configuration space register can be directly determined.
- the configuration space register corresponding to the information to be obtained is determined, and then the configuration space register is accessed, and the information to be obtained is read from the configuration space register.
- the reading of SPD information can be the same as the aforementioned method of reading the information to be obtained.
- the configuration space register of the memory expansion controller of the target device can be accessed through the basic input and output system in a memory mapping manner to realize reading the SPD information of the specified memory stick from the configuration space register of the memory expansion controller.
- the reading of SPD information is completed through internal mapping, which can improve the efficiency of information acquisition.
- the above method when the target device supports memory expansion, before reading the sequence existence detection SPD information of the specified memory stick hung under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, the above method also includes: after the memory expansion controller is powered on, reading the SPD information of the specified memory stick hung under the target device through the memory expansion controller; and writing the read SPD information of the specified memory stick into the configuration space register of the memory expansion controller.
- the writing of the SPD information of the specified memory bar to the configuration space register of the memory expansion controller can be performed immediately after the memory expansion controller is powered on. That is, after the memory expansion controller is powered on, the SPD information of the specified memory bar under the target device can be read by the memory expansion controller, and the read SPD information of the specified memory bar can be written into the configuration space register of the memory expansion controller, so that the basic input and output system can access the corresponding information (including SPD information) of the target device in time when it is started. The result of the writing can be successful or failed.
- MXC can read SPD information immediately after power-on and fill it into its own configuration space registers, and BIOS cannot start reading SPD information until the CPU is powered on, and MXC is powered on before the CPU is powered on, when BIOS needs SPD information, MXC is likely to have prepared the SPD information, thereby reducing the possibility of data delay.
- the memory expansion controller starts to read and write the SPD information after being powered on, which can effectively reduce the possibility of data delay and improve the efficiency of the basic input and output system in obtaining the SPD information.
- the configuration space register of the memory expansion controller is a DVSEC register that specifies vendor-specific expansion capabilities; writing the read SPD information of the specified memory bar into the configuration space register of the memory expansion controller includes: writing the read SPD information of the specified memory bar into a DVSEC register, wherein the space size of the DVSEC register is the specified space size; or, writing the sub-SPD information read from each data block of a plurality of data blocks into a DVSEC register, wherein the SPD information of the specified memory bar is divided into a plurality of sub-SPD information, and each of the plurality of sub-SPD information is written into a data block in each data block.
- the configuration space register may be a DVSEC (Designated Vendor-Specific Extended Capability) register, and writing the read SPD information of the specified memory bar into the configuration space register of the memory extension controller may refer to writing the read SPD information into the DVSEC space.
- the first version (capability version) may be used to indicate the capability (a structure) version.
- the second version (dvsec revision) is a vendor-defined version number, which is used to indicate the version of the DVSEC structure.
- the DVSEC space size (DVSEC Length: 0x400) may be specified in the DVSEC Header, and the DVSEC Vendor ID (DVSEC Vendor Identity Document, specifying the vendor-specific extended capability vendor identifier) may be configured as a fixed value corresponding to the device type. Different DVSEC spaces may be distinguished by setting different DVSEC IDs (DVSEC Identity Document, specifying the vendor-specific extended capability identifier).
- the device type here may be a device with memory expansion capability and a device without memory expansion capability, which are distinguished according to whether the device has memory expansion capability.
- the SPD information of the specified memory stick read can be written into a DVSEC register.
- the space size of the DVSEC register can be a specified space size, that is, the size of the SPD information of the DIMM.
- DIMM DDR5 DDR SDRAM 5, Double Data Rate Synchronous Dynamic Random Access Memory, the fifth generation memory stick
- its SPD information is 1KB
- the corresponding DVSEC space size is 1KB.
- the SPD information of the corresponding DIMM may be divided into multiple sub-SPD information, each of the multiple sub-SPD information is stored in a data block in each data block, and correspondingly, the format of the SPD information may be as shown in Table 1.
- the sub-SPD information read from each of the plurality of data blocks can be written into a DVSEC register.
- a DVSEC ID can be applied for respectively according to different data blocks, and each corresponds to a DVSEC register.
- the SPD information is written in different writing modes, so that the efficiency of writing the SPD information in the configuration space register can be improved.
- the method before writing the sub-SPD information read from each data block of a plurality of data blocks into a DVSEC register respectively, the method further includes: setting a corresponding DVSEC register for each data block according to the spatial size of each data block, wherein the spatial size of the DVSEC register corresponding to each data block is greater than or equal to the spatial size of each data block.
- a corresponding DVSEC register can be set for each data block according to the space size of each data block.
- the space size of the set DVSEC register can be greater than or equal to the space size of the corresponding data block.
- the above data block may be the aforementioned Block, and each Block may have a different size.
- the spatial size of the DVSEC register ie, DVSEC Length
- DVSEC Length may also be different.
- the space size of the corresponding register is set according to the size of each data block, so that the storage utilization rate of the register can be improved.
- the method before writing the sub-SPD information read from each of the multiple data blocks into a DVSEC register respectively, the method also includes: numbering each of the multiple data blocks; setting a corresponding register identifier for each data block, wherein the register identifier corresponding to each data block includes: a first register identifier of a register supplier for identifying the DVSEC register corresponding to each data block, a second register identifier for identifying the DVSEC register corresponding to each data block, and a partial identifier in the second register identifier corresponding to each data block matches the number of each data block.
- each of the multiple data blocks can be numbered and a corresponding register identifier can be set for each data block according to the number.
- the register identifier corresponding to each data block may include: a first register identifier (i.e., DVSEC Vendor ID) for identifying a register vendor of a DVSEC register corresponding to each data block, and a second register identifier (i.e., DVSEC ID) for identifying a DVSEC register corresponding to each data block.
- DVSEC Vendor ID a first register identifier
- DVSEC ID i.e., DVSEC ID
- a portion of the identifier in the second register identifier corresponding to each data block may match the number of each data block.
- the DVSEC Vendor ID of the DVSEC register can be set to 1E98 according to the CXL protocol.
- the DVSEC ID of the DVSEC register since the current CXL official regulations stipulate that the occupied DVSEC IDs are: 0-A (1010 (bit)), bit (4) can be used as the identification bit, that is, (10000) can correspond to the data block. Since the SPD information can correspond to a total of 16 blocks, the 16 blocks can be numbered 0 to 15 as shown in Table 1, then the DVSEC ID of the 16 DVSEC registers can start from (10000) and be set to (10000-11111).
- the corresponding DVSEC register can be selected through the partial bits in the DVSEC ID of each register that correspond to the data block identifier.
- the method further includes: determining a first hash value corresponding to the read SPD information of the specified memory bar; comparing the first hash value with a second hash value corresponding to the SPD information recorded in a configuration space register of the memory expansion controller, wherein writing the read SPD information of the specified memory bar into the configuration space register of the memory expansion controller is performed when the first hash value and the second hash value are inconsistent.
- a corresponding hash value can be generated for each SPD information read and the hash value can be saved.
- the hash value of the currently read SPD information can be compared with the saved hash value. If the current hash value is different from the saved hash value, it is saved in the configuration space register.
- a first hash value corresponding to the read SPD information of the specified memory stick can be determined first, and the first hash value can be compared with a second hash value corresponding to the SPD information recorded in the configuration space register of the memory expansion controller. If the first hash value and the second hash value are inconsistent, the read SPD information of the specified memory stick is written into the configuration space register of the memory expansion controller.
- the method when the target device supports memory expansion, before reading the sequence existence detection SPD information of the specified memory bank hanging under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, the method also includes: reading the memory expansion indication information from the specific configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the specific configuration space register is a configuration space register that records the device type of the target device, and the memory expansion indication information is used to indicate whether the target device supports memory expansion; when the memory expansion indication information indicates that the target device supports memory expansion, it is determined that the target device supports memory expansion. When the memory expansion indication information indicates that the target device does not support memory expansion, it is determined that the target device has no SPD information.
- the memory expansion indication information can be read from the specific configuration space register of the memory expansion controller of the target device through the basic input and output system.
- the memory expansion indication information indicates that the target device supports memory expansion, it is determined that the target device supports memory expansion, and related operations such as reading and writing SPD information are performed according to the description of the above embodiment.
- the specific configuration space register may be a configuration space register that records the device type of the target device, or may be a configuration space register that only records the device type of the target device, and may be the same type as the aforementioned configuration space register or may be different, which is not limited in this embodiment.
- the memory expansion indication information may be used to indicate whether the target device supports memory expansion.
- the memory expansion indication information indicates that the target device does not support memory expansion, it can be determined that the target device has no SPD information, and related operations such as reading and writing the SPD information are not performed.
- the indication data in the register is read first, and then the reading and writing operations of the SPD information are performed after determining that the device supports memory expansion. This can avoid performing a long-term SPD information reading operation on a device without SPD information, thereby improving the information reading efficiency.
- the above method after reading the sequence existence detection SPD information of the specified memory stick under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, the above method also includes: if the SPD information is not read, starting a timer, wherein the timing time of the timer is a preset time interval between two adjacent readings of the SPD information of the specified memory stick; when the timing time of the timer is reached, re-reading the SPD information of the specified memory stick from the configuration space register of the memory expansion controller through the basic input and output system.
- the memory expansion controller does not write the read SPD information into its own configuration space register, and there is also a possibility that the reading from the configuration space register of the memory expansion controller fails.
- the SPD information can be read again by the basic input and output system after a period of time.
- the time interval between two adjacent readings can be preset, and the time interval can be set by a timer.
- a timer can be started, and when the timer time is reached, the SPD information of the specified memory bank is read again from the configuration space register of the memory expansion controller through the basic input and output system.
- the timer time can be a preset time interval between two adjacent readings of the SPD information of the specified memory bank.
- an error may be directly returned.
- the time of re-reading is controlled by a timer, which can avoid invalid reading in a short time and increase the possibility of successful reading.
- the above method before reading the sequence existence detection SPD information of the specified memory stick attached to the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, the above method further: obtains first bit information corresponding to the SPD information of the specified memory stick from the configuration space register of the memory expansion controller, wherein the first bit information is used to identify whether the SPD information stored in the configuration space register of the memory expansion controller is valid, and reading the SPD information of the specified memory stick from the configuration space register of the memory expansion controller is performed when the first bit information is used to identify that the SPD information stored in the configuration space register of the memory expansion controller is valid.
- a corresponding first bit information may be added to identify whether the SPD information stored in the configuration space register of the memory expansion controller is valid. For example, 1 may be used to indicate that the SPD information is valid, and 0 may be used to indicate that the SPD information is invalid.
- whether the SPD information is valid may indicate whether the SPD information complies with the relevant provisions of the DDR SPD protocol, that is, if the SPD information is valid, it indicates that it complies with the relevant provisions of the DDR SPD protocol, and if the SPD information is invalid, it indicates that it does not comply with the relevant provisions of the DDR SPD protocol.
- first bit information corresponding to the SPD information of the specified memory stick can be obtained from the configuration space register of the memory expansion controller, and it can be determined whether the first bit information is valid. If the first bit information is valid, an operation of reading the SPD information of the specified memory stick from the configuration space register of the memory expansion controller is performed.
- a memory bar is designated as a group of memory bars; the method further includes: in the event of a memory failure, obtaining failure indication information corresponding to a group of memory bars from a configuration space register of a memory expansion controller, wherein the failure indication information corresponding to a group of memory bars is used to indicate whether each memory bar in a group of memory bars fails; and locating the failure according to the failure indication information corresponding to a group of memory bars to locate the failed memory bar in the group of memory bars.
- the above-mentioned designated memory sticks are a group of memory sticks.
- fault indication information corresponding to each memory stick can be written in the configuration space register of the memory expansion controller.
- fault indication information corresponding to a group of memory bars can be obtained from the configuration space register of the memory expansion controller.
- the fault indication information corresponding to a group of memory bars can be used to indicate whether each memory bar in the group of memory bars fails.
- Fault location can be performed based on the fault indication information corresponding to the group of memory bars to locate the memory bar in the group of memory bars that fails.
- the faulty memory bar is determined through the fault indication information in the configuration space register of the memory expansion controller, so that the accuracy of locating the memory fault can be improved.
- obtaining fault indication information corresponding to a group of memory bars from a configuration space register of a memory expansion controller includes: in the case of a memory failure, obtaining second bit information corresponding to each memory bar in the group of memory bars from the configuration space register of the memory expansion controller, wherein the second bit information corresponding to each memory bar is used to indicate whether each memory bar has a failure. barrier.
- the fault indication information may be represented by bits.
- second bit information corresponding to each memory bank in a group of memory banks may be obtained from a configuration space register of the memory expansion controller.
- the second bit information corresponding to each memory bar can be used to indicate whether each memory bar is faulty. For a non-faulty memory bar, the corresponding second bit information can be 0, and for a faulty memory bar, the corresponding second bit information can be 1.
- part of the identifier of the configuration space register can be set to identifiers corresponding to different memory sticks. That is, multiple memory sticks can be numbered, and part of the identifier in the second register identifier of the aforementioned DVSEC register can be set to identifiers that can represent the numbers of different memory sticks.
- the DVSEC ID is 16 bits in total, and the first 8 bits can be used to represent the number of the DIMM.
- MXC finds a DIMM error, it can set the corresponding bit in the corresponding configuration space register to indicate that the corresponding DIMM has failed.
- the host Host polls the configuration space register of MXC. After reading the register with the corresponding bit as 1, it determines the corresponding DIMM according to the identifier of the register.
- the faulty memory bar is determined according to the second bit information in the configuration space register of the memory expansion controller, thereby improving the accuracy of fault location.
- the method further includes: when the memory expansion controller is connected to a group of host-side servers, respectively storing SPD information corresponding to each host-side server in the group of host-side servers in different areas of a designated memory bank.
- SPD information corresponding to each host-side server in a group of host-side servers can be stored separately in different areas of a designated memory bar.
- a memory bar when an MXC is connected to different hosts, a memory bar may be partitioned and allocated to different hosts.
- SPD information corresponding to each host-side server in a group of host-side servers is respectively stored in different areas of a designated memory bank, so that the utilization rate of the memory expansion controller can be improved.
- the method further includes: after the memory expansion controller is powered on, reading the SPD information of the designated memory bar hung under the target device through the memory expansion controller; updating the memory size in the read SPD information of the designated memory bar according to the size of the different areas of the designated memory bar, and writing it into the configuration space register of the memory expansion controller, wherein the memory size in the SPD information of the designated memory bar before the update is the memory size of the designated memory bar.
- the design of the configuration space register can be carried out in the manner of the aforementioned embodiment.
- the design of the configuration space register can be optionally complex to support multi-logic devices.
- the SPD information of the specified memory bar under the target device can be read by the memory expansion controller. According to the size of different areas of the specified memory bar, the memory size in the read SPD information of the specified memory bar can be updated and written into the configuration space register of the memory expansion controller.
- the memory size in the SPD information of the specified memory bank before the update may be the memory size of the specified memory bank.
- the update of the memory size in the SPD information of the specified memory bar may be performed according to different areas in the aforementioned specified memory bar that respectively store the SPD information corresponding to each host-side server in a group of host-side servers.
- the memory size in the SPD information read by MXC is a total value, but when MXC reports the SPD information, it can modify the memory size in the SPD information according to the situation of each partition.
- the memory expansion controller can modify the memory size of the read SPD information according to the partitioning status of the attached memory bar, and the reported SPD information can be made more accurate without adding other analysis operations.
- the target device is a CXL device.
- This optional example provides an asset information reporting method based on CXL memory expansion.
- a configuration space register for storing DIMM's SPD information in MXC After MXC is powered on, the DIMM's SPD information is filled into its own configuration space register. After waiting for the CPU to be powered on, the BIOS can directly obtain the corresponding SPD information from the configuration space register of MXC, thereby realizing in-band asset information reporting of the CXL memory expansion device, which will help to locate faults in future application scenarios with large memory pools.
- the process of the asset information reporting method in this optional example may be as shown in FIG. 7 , and may include the following steps:
- Step 1 Power on the system.
- Step 2 Power on MXC.
- Step 3 MXC reads DIMM Spd information through I2C and stores it in its own DVSEC space.
- BIOS reads the information in the register space of DVSEC Vendor ID: 1e98h.
- Step 5 Based on the read information, determine whether the CXL device has memory expansion capability.
- Step 6 If the CXL device supports memory expansion, read the corresponding register (e.g., DVSEC Vendor ID: 30) to obtain SPD information.
- the corresponding register e.g., DVSEC Vendor ID: 30
- Step 7 add the read SPD information of the CXL device into Smbios type17 and report it as the system asset information list.
- This optional example solves the problem that the current CXL device asset information needs to be obtained through the BMC, so that the CXL device asset information can be reported as asset information like normal DIMM.
- the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a non-volatile readable storage medium (such as ROM/RAM, disk, CD), including a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
- a non-volatile readable storage medium such as ROM/RAM, disk, CD
- a terminal device which can be a mobile phone, computer, server, or network device, etc.
- a reporting device for asset information which is configured to implement the reporting method for asset information provided in the above embodiments, and will not be repeated hereafter.
- the term “module” may be a combination of software and/or hardware that implements a predetermined function.
- the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
- FIG8 is a structural block diagram of a device for reporting asset information according to an embodiment of the present application. As shown in FIG8 , the device includes:
- the first reading unit 802 is configured to read the sequence presence detection SPD information of the specified memory bank under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system when the target device supports memory expansion, wherein the target device is a device supporting the open interconnection standard CXL protocol;
- the reporting unit 804 is configured to report the target SPD information as system asset information to the central processor of the target device through the basic input and output system when the target SPD information is read.
- the sequence existence detection SPD information of the specified memory bank hung under the target device is read from the configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the target device is a device supporting the open interconnection standard CXL protocol; when the target SPD information is read, the target SPD information is reported to the central processor of the target device as system asset information through the basic input and output system, which can solve the problem of low reporting efficiency of asset information due to out-of-band access in the reporting method of asset information in the related art, thereby improving the reporting efficiency of asset information.
- the reporting unit includes:
- the adding module is configured to add the target SPD information to the specified data structure of the basic input/output system through the basic input/output system when the target SPD information is read, so as to report the target SPD information as the system asset information of the basic input/output system to the central processor of the target device, wherein the specified data structure is a data structure for reporting the system asset information.
- the first reading unit includes:
- the access module is configured to access the configuration space register of the memory expansion controller in a memory mapping manner through the basic input and output system when the target device supports memory expansion, so as to read the SPD information of the specified memory bank hung under the target device from the configuration space register of the memory expansion controller.
- the above device further includes:
- the second reading unit is configured to read the SPD information of the specified memory bank attached to the target device through the memory expansion controller after the memory expansion controller is powered on;
- the writing unit is configured to write the read SPD information of the specified memory bank into the configuration space register of the memory expansion controller.
- the configuration space register of the memory expansion controller is a vendor-specific expansion capability DVSEC register; the writing unit includes:
- the first writing module is configured to write the read SPD information of the specified memory bank into a DVSEC register, wherein the space size of the DVSEC register is the specified space size.
- the configuration space register of the memory expansion controller is a vendor-specific expansion capability DVSEC register; the writing unit includes:
- the second writing module is configured to write the sub-SPD information read from each data block in the multiple data blocks into a DVSEC register respectively, wherein the SPD information of the specified memory bar is divided into multiple sub-SPD information, and each sub-SPD information in the multiple sub-SPD information is written into a data block in each data block respectively.
- the above device further includes:
- the first setting unit is configured to set a corresponding DVSEC register for each data block according to the space size of each data block before writing the sub-SPD information read from each data block among the multiple data blocks into a DVSEC register respectively, wherein the space size of the DVSEC register corresponding to each data block is greater than or equal to the space size of each data block.
- the above device further includes:
- an execution unit configured to number each of the plurality of data blocks before writing the sub-SPD information read from each of the plurality of data blocks into a DVSEC register respectively;
- the second setting unit is configured to set a corresponding register identifier for each data block, wherein the register identifier corresponding to each data block includes: a first register identifier of a register supplier for identifying the DVSEC register corresponding to each data block, a second register identifier for identifying the DVSEC register corresponding to each data block, and a partial identifier in the second register identifier corresponding to each data block matches the number of each data block.
- the above device further includes:
- a first determining unit is configured to determine a first hash value corresponding to the read SPD information of the specified memory bank attached to the target device after reading the SPD information of the specified memory bank through the memory expansion controller;
- a comparison unit is configured to compare a first hash value and a second hash value corresponding to the SPD information recorded in the configuration space register of the memory expansion controller, wherein writing the read SPD information of the specified memory bank into the configuration space register of the memory expansion controller is performed when the first hash value and the second hash value are inconsistent.
- the above device further includes:
- the third reading unit is configured to read memory extension indication information from a specific configuration space register of the memory extension controller of the target device through the basic input and output system before reading the sequence presence detection SPD information of the designated memory bank hung under the target device from the configuration space register of the memory extension controller of the target device through the basic input and output system when the target device supports memory extension, wherein the specific configuration space register is a configuration space register recording the device type of the target device, and the memory extension indication information is used to indicate whether the target device supports memory extension;
- the second determining unit is configured to determine that the target device supports memory expansion when the memory expansion indication information indicates that the target device supports memory expansion.
- the above device further includes:
- the third determining unit is configured to determine that the target device has no SPD information after reading the memory extension indication information from the specific configuration space register of the memory extension controller of the target device through the basic input and output system, if the memory extension indication information indicates that the target device does not support memory extension.
- the above device further includes:
- the starting unit is configured to start a timer after reading the sequence presence detection SPD information of the designated memory bank under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, if the SPD information is not read, wherein the timing time of the timer is a preset time interval between two adjacent readings of the SPD information of the designated memory bank;
- the fourth reading unit is configured to read the SPD information of the designated memory bank from the configuration space register of the memory expansion controller again through the basic input and output system when the timing time of the timer is reached.
- the above device further includes:
- the first acquisition unit is configured to acquire first bit information corresponding to the SPD information of the specified memory bank from the configuration space register of the memory expansion controller of the target device before reading the sequence presence detection SPD information of the specified memory bank hung under the target device from the configuration space register of the memory expansion controller of the target device through the basic input and output system, wherein the first bit information is used to identify the SPD information stored in the configuration space register of the memory expansion controller.
- the SPD information of the specified memory bank is read from the configuration space register of the memory expansion controller when the first bit information is used to identify that the SPD information stored in the configuration space register of the memory expansion controller is valid.
- a second acquisition unit configured to acquire, in the event of a memory failure, fault indication information corresponding to a group of memory bars from a configuration space register of the memory expansion controller, wherein the fault indication information corresponding to the group of memory bars is used to indicate whether each memory bar in the group of memory bars fails;
- the locating unit is configured to perform fault locating according to the fault indication information corresponding to a group of memory bars, so as to locate a faulty memory bar in the group of memory bars.
- the second acquiring unit includes:
- the above device further includes:
- the storage unit is configured to store SPD information corresponding to each host-side server in a group of host-side servers in different areas of a designated memory bank when the memory expansion controller is connected to the group of host-side servers.
- the above device further includes:
- the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
- the above-mentioned computer non-volatile readable storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
- modules or steps of the above-mentioned embodiments of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种资产信息的上报方法及装置、非易失性可读存储介质及电子设备,其中,该资产信息的上报方法包括:在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息,其中,所述目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过所述基本输入输出系统将所述目标SPD信息作为系统资产信息上报至所述目标设备的中央处理器。
Description
相关申请的交叉引用
本申请要求于2023年06月27日提交中国专利局,申请号为202310767751.5,申请名称为“资产信息的上报方法及装置、存储介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及计算机领域,特别的,涉及一种资产信息的上报方法及装置、非易失性可读存储介质及电子设备。
目前,由于CXL(Computer Express Link,一种开放式互连新标准)协议可以有效解决CPU(Central Processing Unit,中央处理器)、Memory(内存)扩展以及加速器缓存一致性的问题,进而减少数据在不同设备之间的拷贝次数,节省了内存空间。
然而,引入CXL设备的系统,无法直接使用传统的I2C(Inter-Integrated Circuit,一种同步、半双工的通信总线)线路来读取DIMM(Dual-Inline-Memory-Modules,双列直插式存储模块,一种内存条)的SPD(Serial Presence Detect,序列存在检测)区域,在MXC(Memory Expander Controller,内存扩展控制器)芯片通过I2C访问到DIMM的SPD信息之后,需要先由通过I2C线路与MXC芯片连接的BMC(Baseboard Management Controller,底板管理控制器)从MXC处获取到SPD信息,BIOS(Basic Input Output System,基本输入输出系统)再通过IPMI(Intelligent Platform Management Interface,智能平台管理接口)命令从BMC处获得SPD信息,以完成DIMM的资产信息的上报。
由此可见,相关技术中的资产信息的上报方法,存在由于涉及带外访问导致的资产信息的上报效率较低的问题。
发明内容
本申请实施例提供了一种资产信息的上报方法及装置、非易失性可读存储介质及电子设备,以至少解决相关技术中的资产信息的上报方法存在由于涉及带外访问导致的资产信息的上报效率较低的问题。
根据第一方面,提供了一种资产信息的上报方法,包括:在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器。
根据第二方面,提供了一种资产信息的上报装置,包括:第一读取单元,被设置为在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;上报单元,被设置为在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器。
根据第三方面,还提供了一种计算机非易失性可读存储介质,计算机非易失性可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据第四方面,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请实施例,采用将指定内存条的SPD信息在存入内存扩展控制器的配置空间寄存器中的方式,在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器,由于存入配置空间寄存器的信息可以直接让基本输入输出系统访问到,无需再通过BMC间接获取,可以实现仅通过带内访问获取资产信息的目的,达到提高资产信息上报的效率的技术效果,进而解决了相关技术中的资产信息的上报方法存在由于涉及带外访问导致的资产信息的上报效率较低的问题。
图1是根据本申请实施例的一种资产信息的上报方法的硬件环境示意图;
图2是根据本申请实施例的一种资产信息的上报方法的流程图;
图3是根据本申请实施例的一种资产信息的上报方法的示意图;
图4是根据本申请实施例的另一种资产信息的上报方法的示意图;
图5是根据本申请实施例的又一种资产信息的上报方法的示意图;
图6是根据本申请实施例的又一种资产信息的上报方法的示意图;
图7是根据本申请实施例的另一种资产信息的上报方法的流程图;
图8是根据本申请实施例的一种资产信息的上报装置的结构框图。
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本申请实施例的一种资产信息的上报方法的硬件环境示意图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和被设置为存储数据的存储器104,其中,上述计算机终端还可以包括被设置为通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可被设置为存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的资产信息的上报方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁
性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106被设置为经由一个网络接收或者发送数据。上述的网络实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其被设置为通过无线方式与互联网进行通讯。
根据本申请实施例的一个方面,提供了一种资产信息的上报方法,以由计算机终端来执行本实施例中的资产信息的上报方法为例,图2是根据本申请实施例的一种资产信息的上报方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备。
本实施例中的资产信息的上报方法可以应用到将CXL设备内的指定内存条的资产信息的上报的场景中。CXL设备可以是支持CXL协议的设备。CXL协议允许CPU(central processing unit,中央处理器)的memory(内存)和attached device(附加设备)上的memory之间保持一致性。CXL设备内的指定内存条可以是CXL设备下挂的DIMM。对应地,指定内存条的资产信息可以是DIMM的SPD信息,包括但不限于内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数。
对于未引入CXL协议的普通系统,其DIMM的资产信息上报流程主要是,系统上电,CPU通过PCH(集成南桥芯片)经过MUX(Multiplexer,多路复用器)选通,经I2C访问到DIMM获取SPD信息。当在系统中引入CXL设备时,其下所挂DIMM是系统可见的,可以被引入系统的地址空间中。但是CPU到CXL memory的通路是CXL,一种基于PCIe(PCI-Express,即Peripheral Component Interconnect express,一种高速串行计算机扩展总线标准)Phy(Physical,物理)层链路的复合总线。引入CXL协议的系统获取DIMM资产信息的方式,需要由BMC(Baseboard Management Controller,底板管理控制器)通过I2C连接到MXC(Memory Expander Controller,内存扩展控制器)芯片,MXC通过I2C访问到DIMM的SPD信息。在BMC获取了资产信息之后,BIOS可以通过IPMI命令从BMC处获得对应的SPD信息。然而,该方法虽然可以获取到准确的SPD信息,但是需要涉及到带外访问,对于BIOS来说不够直接,获取资产信息的效率也较低。
为了至少解决部分上述问题,考虑到MXC和CPU之间是通过CXL/PCIe连接的,PCIe协议规定了PCIe设备可以将自己的一些配置信息通过memory map(内存映射)的方式让Host(主机)/CPU访问到,对于CXL设备下挂的DIMM的SPD信息,也可以采用同样的方式完成对SPD信息的访问。例如,通过自定义一组PCIe Extended Capability(扩展能力)寄存器,将SPD信息存入自定义的寄存器中,BIOS可直接通过memory map方式访问到SPD信息,如图3所示,无需再经过带外访问。
考虑到SPD信息只存在于存储设备中,对于没有内存扩展能力的设备,无需进行SPD信息的读取,在本实施例中,可以在确定目标设备支持内存扩展的情况下,再对目标设备执行对应的SPD信息的读取操作。SPD信息的读取操作可以是通过基本输入输出系统(即,BIOS),直接从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的SPD信息。这里,目标设备可以是支持开放式互连标准CXL协议的设
备,即,CXL设备。内存扩展控制器和指定内存条之间可以通过I2C连接。内存扩展控制器的配置空间寄存器可以是指内存扩展控制器中仅被设置为存储SPD信息的配置空间寄存器,可以是一个寄存器,也可以是一组寄存器。
步骤S204,在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器。
对于读取到的指定内存条的SPD信息,在确定其为目标设备的目标SPD信息的情况下,可以通过基本输入输出系统,直接将目标SPD信息作为系统资产信息上报至目标设备的中央处理器。上报的方式可以是通过将读取到的目标SPD信息添加至记录系统资产信息的数据表结构中,以完成系统资产信息的上报,也可以是直接将目标SPD信息发送至中央处理器,本实施例对此不做限定。
通过上述步骤,通过在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器,可以解决相关技术中的资产信息的上报方法存在由于涉及带外访问导致的资产信息的上报效率较低的问题,达到提高资产信息的上报效率的技术效果。
在一个示范性实施例中,在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器,包括:在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息添加到基本输入输出系统的指定数据结构中,以将目标SPD信息作为基本输入输出系统的系统资产信息上报至目标设备的中央处理器,其中,指定数据结构是用于进行系统资产信息的上报的数据结构。
考虑到对符合SMBIOS(System Management Basic Input/Output System,系统管理基本输入/输出系统)规范的计算机,可以通过访问SMBIOS的结构的方式来获得系统资产信息,即,基于表结构的方法,找到与系统资产信息对应的type结构表,进而获取对应的系统资产信息。因此,在本实施例中,将目标SPD信息作为系统资产信息上报至目标设备的中央处理器,可以是通过基本输入输出系统将目标SPD信息添加到基本输入输出系统的指定数据结构中完成的。
上述指定数据结构可以是用于进行系统资产信息的上报的数据结构,如,用于记录存储设备的数据表结构,即,Smbios type17.(系统管理基本输入/输出系统中的一个数据表结构)。
通过本实施例,通过将目标SPD信息添加至指定数据结构中以完成系统资产信息的上报,可以提高信息上报的简便性。
在一个示范性实施例中,在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,包括:在目标设备支持内存扩展的情况下,通过基本输入输出系统按照内存映射的方式访问内存扩展控制器的配置空间寄存器,以从内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的SPD信息。
目标设备的内存扩展控制器可以有多个配置空间寄存器,以分别存储与目标设备对应的配置信息和目标设备的指定内存条的SPD信息。获取配置空间寄存器内存储的信息的方式可以是内存映射。
通过内存映射的方式,可以直接根据待获取信息与配置空间寄存器的映射关系,确
定与待获取信息对应的配置空间寄存器,进而访问该配置空间寄存器,并从该配置空间寄存器中读取待获取信息。
在本实施例中,对于SPD信息的读取,可以与前述读取待获取信息的方式相同,通过基本输入输出系统按照内存映射的方式访问目标设备的内存扩展控制器的配置空间寄存器,以实现从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息。
通过本实施例,通过内部映射方式完成SPD信息的读取,可以提高信息获取的效率。
在一个示范性实施例中,在在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之前,上述方法还包括:在内存扩展控制器上电之后,通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息;将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中。
为了避免出现数据延迟,在本实施例中,对于内存扩展控制器的配置空间寄存器对指定内存条的SPD信息的写入,可以是在内存扩展控制器上电之后立即进行的。即,在内存扩展控制器上电之后,可以通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息,并将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中,以便于基本输入输出系统在启动时就可以及时访问到目标设备的对应信息(包括SPD信息)。写入的结果可以是成功的,也可以是失败的。
由于MXC在上电之后可以立即读取SPD信息并将其填入自己的配置空间寄存器,而BIOS对SPD信息的读取需要再CPU上电之后才能启动,且MXC的上电在CPU上电之前,在BIOS需要SPD信息时,MXC有很大可能已经准备好SPD信息,从而减少数据延迟的可能性。
通过本实施例,内存扩展控制器上电之后就开始读取和写入SPD信息,可以有效减少数据延迟的可能性,提高基本输入输出系统获取SPD信息的效率。
在一个示范性实施例中,内存扩展控制器的配置空间寄存器为指定供应商特定扩展能力DVSEC寄存器;将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中,包括:将读取到的指定内存条的SPD信息写入到一个DVSEC寄存器中,其中,DVSEC寄存器的空间大小为指定空间大小;或者,将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中,其中,指定内存条的SPD信息被划分为多个子SPD信息,多个子SPD信息中的每个子SPD信息被分别写入到每个数据块中的一个数据块中。
配置空间寄存器可以是DVSEC(Designated Vendor-Specific Extended Capability,指定供应商特定扩展能力)寄存器,将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器,可以是指将读取到的SPD信息写入到DVSEC的空间中。如图4所示,第一种版本(capability version)可以用于表示capability(一种结构体)版本。第二种版本(dvsec revision)为供应商自定义版本号,用于表示DVSEC结构体的版本,DVSEC Header(标头)中可以指定DVSEC空间大小(DVSEC Length:0x400),DVSEC Vendor ID(DVSEC Vendor Identity Document,指定供应商特定扩展能力的供应商标识)可以配置为与设备类型对应的固定值,通过设置不同的DVSEC ID(DVSEC Identity Document,指定供应商特定扩展能力标识),以区分不同DVSEC空间。这里的设备类型可以是根据设备是否具有内存扩展能力区分出的具有内存扩展能力的设备和不具有内存扩展能力的设备。
在本实施例中,可以将读取到的指定内存条的SPD信息写入一个DVSEC寄存器中。DVSEC寄存器的空间大小可以为指定空间大小,即,DIMM的SPD信息的大小。以DIMM DDR5(DDR SDRAM 5,Double Data Rate Synchronous Dynamic Random Access Memory,第五代内存条)的SPD信息为例,其SPD信息为1KB,对应的DVSEC空间大小为1KB。
考虑到目标设备可能是块设备,对应的DIMM的SPD信息可能被划分为多个子SPD信息,多个子SPD信息中的每个子SPD信息被分别存储到每个数据块中的一个数据块中,对应地,SPD信息的格式可以如表1所示。
表1
在本实施例中,对于SPD信息被划分为多个子SPD信息的情况,可以将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中。对应地,根据不同的数据块可以分别申请一个DVSEC ID,分别对应一个DVSEC寄存器。
通过本实施例,通过不同写入方式对SPD信息进行写入,可以提高SPD信息在配置空间寄存器中写入的效率。
在一个示范性实施例中,在将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中之前,方法还包括:根据每个数据块的空间大小,为每个数据块设置对应的DVSEC寄存器,其中,与每个数据块设置对应的DVSEC寄存器的空间大小大于或者等于每个数据块的空间大小。
对于多个数据块的分别存储子SPD信息的情况,在本实施例中,可以根据每个数据块的空间大小,为每个数据块分别设置对应的DVSEC寄存器。设置的DVSEC寄存器的空间大小可以大于或者等于对应的数据块的空间大小。
上述数据块可以是前述Block(块),每个Block大小可以是不同的,对应地,每个
DVSEC寄存器的空间大小(即,DVSEC Length)也可以是不同的。
通过本实施例,根据每个数据块的大小设置对应的寄存器的空间大小,可以提高寄存器的存储利用率。
在一个示范性实施例中,在将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中之前,方法还包括:对多个数据块中的每个数据块进行编号;为每个数据块设置对应的寄存器标识,其中,与每个数据块对应的寄存器标识包括:用于标识与每个数据块对应的DVSEC寄存器的寄存器供应商的第一寄存器标识,用于标识与每个数据块对应的DVSEC寄存器的第二寄存器标识,与每个数据块对应的第二寄存器标识中的部分标识与每个数据块的编号匹配。
对于多个数据块的分别存储子SPD信息的情况,为了提高读取到的子SPD信息在DVSEC寄存器中的填入效率,避免将从一个数据块中的读取的子SPD信息填入到其他数据块对应的DVSEC寄存器中的情况发生,在本实施例中,可以对多个数据块中的每个数据块进行编号,并按照编号为每个数据块设置对应的寄存器标识。
上述与每个数据块对应的寄存器标识可以包括:用于标识与每个数据块对应的DVSEC寄存器的寄存器供应商的第一寄存器标识(即,DVSEC Vendor ID),以及用于标识与每个数据块对应的DVSEC寄存器的第二寄存器标识(即,DVSEC ID)。与每个数据块对应的第二寄存器标识中的部分标识可以与每个数据块的编号匹配。
例如,对于DVSEC寄存器的DVSEC Vendor ID,可以按照CXL协议设置为1E98。而对于DVSEC寄存器的DVSEC ID,由于目前CXL官方规定占用了的DVSEC ID有:0-A(1010(bit)),可以使用bit(4)作为标识位,也就是说(10000)开始可以与数据块对应。由于SPD信息一共可以对应16个Block,可以如表1所示分别将16个Block编号为0~15,那么16个DVSEC寄存器的DVSEC ID,可以从(10000)开始,对应设置为(10000-11111)。在需要将读取到的子SPD信息填入一个DVSEC寄存器时,就可以通过每个寄存器的DVSEC ID中与数据块标识对应的部分比特位来选择对应的DVSEC寄存器。
通过本实施例,通过第二寄存器标识来区分存储不同数据块的子SPD信息的DVSEC寄存器,可以提高SPD信息在DVSEC寄存器中的填入效率。
在一个示范性实施例中,在通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息之后,上述方法还包括:确定与读取到的指定内存条的SPD信息对应的第一哈希值;比较第一哈希值和与内存扩展控制器的配置空间寄存器中已记录的SPD信息对应的第二哈希值,其中,将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中是在第一哈希值和第二哈希值不一致的情况下执行的。
为了避免内存扩展控制器每次上电都重复读取并写入相同的SPD信息,在本实施例中,可以对每次读取到的SPD信息生成对应的哈希值,并对哈希值进行保存,在内存扩展控制器上电并读取到SPD信息时,可以先将当前读取到的SPD信息的哈希值与已保存的哈希值进行比较,如果当前哈希值与已保存的哈希值都不同,再将其保存至配置空间寄存器中。
在通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息之后,可以先确定与读取到的指定内存条的SPD信息对应的第一哈希值,并将第一哈希值和与内存扩展控制器的配置空间寄存器中已记录的SPD信息对应的第二哈希值进行比较,在第一哈希值和第二哈希值不一致的情况下,将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中。
通过本实施例,通过记录每次读取到的SPD信息的哈希值,可以避免对相同的SPD
信息的重复写入。
在一个示范性实施例中,在在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之前,方法还包括:通过基本输入输出系统从目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息,其中,特定配置空间寄存器为记录目标设备的设备类型的配置空间寄存器,内存扩展指示信息用于指示目标设备是否支持内存扩展;在内存扩展指示信息指示目标设备支持内存扩展的情况下,确定目标设备支持内存扩展。在内存扩展指示信息指示目标设备不支持内存扩展的情况下,确定目标设备没有SPD信息。
考虑到存在不支持内存扩展的设备,在本实施例中,在系统上电之后,可以先通过基本输入输出系统从目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息。在内存扩展指示信息指示目标设备支持内存扩展的情况下,确定目标设备支持内存扩展,并按照前述实施例的描述进行SPD信息的读取和写入等相关操作。
上述特定配置空间寄存器可以是记录目标设备的设备类型的配置空间寄存器,可以是仅记录目标设备的设备类型配置空间寄存器,可以与前述配置空间寄存器的类型相同,也可以不同,本实施例对此不做限定。上述内存扩展指示信息可以用于指示目标设备是否支持内存扩展。
在内存扩展指示信息指示目标设备不支持内存扩展的情况下,可以确定目标设备没有SPD信息,不执行对SPD信息的读取和写入等相关操作。
通过本实施例,先通过读取到的寄存器中的指示数据,在确定设备支持内存扩展再执行对SPD信息的读取和写入等操作,可以避免在无SPD信息的设备进行较长时间的SPD信息的读取操作,从而提高信息的读取效率。
在一个示范性实施例中,在通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之后,上述方法还包括:在未读取到SPD信息的情况下,启动定时器,其中,定时器的定时时间为预设的、相邻两次读取指定内存条的SPD信息的时间间隔;在定时器的定时时间到达的情况下,通过基本输入输出系统重新从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息。
考虑到在CPU上电之后、BIOS从内存扩展控制器的配置空间寄存器中读取SPD信息时,存在内存扩展控制器未将读取到的SPD信息写入在自己的配置空间寄存器的可能,也存在从内存扩展控制器的配置空间寄存器中读取失败的可能。对于读取失败的可能情况,考虑到通过再次读取可能会读取成功,在本实施例中,在通过基本输入输出系统从配置空间寄存器中未读取到SPD信息的情况下,可以间隔一段时间,通过基本输入输出系统对SPD信息进行再次读取。相邻两次读取的时间间隔可以是预先设定的,可以通过定时器来进行时间间隔的设定的。
在未读取到SPD信息的情况下,可以启动定时器,并在定时器的定时时间到达的情况下,通过基本输入输出系统重新从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息。这里,定时器的定时时间可以是预设的、相邻两次读取指定内存条的SPD信息的时间间隔。
可选地,在重新读取仍未读取到SPD信息的情况下,可以直接返回错误。
通过本实施例,在未读取到的SPD信息时,通过定时器控制再次读取的时刻,可以避免短时间内的无效读取,提高读取成功的可能性。
在一个示范性实施例中,在通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之前,上述方法还:从内存扩展控制器的配置空间寄存器中获取与指定内存条的SPD信息对应的第一比特位信息,其中,第一比特位信息用于标识内存扩展控制器的配置空间寄存器中存储的SPD信息是否有效,从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息是在第一比特位信息用于标识内存扩展控制器的配置空间寄存器中存储的SPD信息有效的情况下执行的。
为了读取到的数据错误的SPD信息,进而导致上报的系统资产信息出现错误,在本实施例中,对于存储在配置空间寄存器中的SPD信息,可以增加对应的第一比特位信息,通过第一比特位信息标识内存扩展控制器的配置空间寄存器中存储的SPD信息是否有效。例如,可以用1标识该SPD信息有效,0标识该SPD信息无效。这里,SPD信息是否有效可以表示SPD信息是否符合DDR SPD协议的相关规定,即,SPD信息有效表示其符合DDR SPD协议的相关规定,SPD信息无效表示其不符合DDR SPD协议的相关规定。
在通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的SPD信息之前,可以先从内存扩展控制器的配置空间寄存器中获取与指定内存条的SPD信息对应的第一比特位信息,确定该第一比特位信息是否有效,并在该第一比特位信息有效的情况下,执行从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息的操作。
通过本实施例,通过对配置空间寄存器中存储的SPD信息增加对应的第一比特位信息,以便于基本输入输出系统确定该SPD信息是否有效,可以有效避免上报错误的资产信息。
在一个示范性实施例中,指定内存条为一组内存条;方法还包括:在发生内存故障的情况下,从内存扩展控制器的配置空间寄存器中获取与一组内存条对应的故障指示信息,其中,与一组内存条对应的故障指示信息用于指示一组内存条中的每个内存条是否发生故障;根据与一组内存条对应的故障指示信息进行故障定位,以定位出一组内存条中发生故障的内存条。
现有技术中,在发生内存故障时,只能确定定位到内存扩展控制器,在一个内存扩展控制器仅下挂一个内存条时,可以准确知道出现故障的内存条,但若如图5所示,一个内存扩展控制器下挂多个内存条,将无法对出现故障的内存条进行准确定位。
为了至少解决上述部分问题,在一个内存扩展控制器下挂多个内存条的情况下,上述指定内存条为一组内存条,在本实施例中,可以在内存扩展控制器的配置空间寄存器中写入与每个内存条对应的故障指示信息。
在发生内存故障的情况下,可以从内存扩展控制器的配置空间寄存器中获取与一组内存条对应的故障指示信息。这里,与一组内存条对应的故障指示信息可以用于指示一组内存条中的每个内存条是否发生故障。根据与一组内存条对应的故障指示信息可以进行故障定位,以定位出一组内存条中发生故障的内存条。
通过本实施例,通过内存扩展控制器的配置空间寄存器中的故障指示信息,确定发生故障的内存条,可以提高内存故障定位的准确性。
在一个示范性实施例中,在发生内存故障的情况下,从内存扩展控制器的配置空间寄存器中获取与一组内存条对应的故障指示信息,包括:在发生内存故障的情况下,从内存扩展控制器的配置空间寄存器中获取与一组内存条中的每个内存条对应的第二比特位信息,其中,与每个内存条对应的第二比特位信息用于指示每个内存条是否发生故
障。
在本实施例中,故障指示信息可以是用比特位表示的。在发生内存故障的情况下,可以从内存扩展控制器的配置空间寄存器中获取与一组内存条中的每个内存条对应的第二比特位信息。
上述与每个内存条对应的第二比特位信息,可以用于指示每个内存条是否发生故障。对于未发生故障的内存条,对应的第二比特位信息可以是0,而对于发生故障的内存条,对应的第二比特位信息可以是1。
可选地,在一个内存扩展控制器下挂多个内存条的情况下,在设置配置空间寄存器以存储内存条的SPD信息的同时,可以将配置空间寄存器的部分标识设置为与不同内存条对应的标识。即,可以对多个内存条进行编号,并将前述DVSEC寄存器的第二寄存器标识中的部分标识设置为可以表示不同内存条的编号的标识。例如,DVSEC ID一共16bit,可以使用前8bit表示DIMM的编号。
例如,MXC发现一个DIMM报错后,可以在对应的配置空间寄存器中置起对应bit,表示对应的DIMM发生故障,主机Host收到报错后,轮询MXC的配置空间寄存器,在读取到对应bit为1的寄存器后,根据该寄存器的标识确定对应的DIMM。
通过本实施例,在发生内存故障的情况下,根据内存扩展控制器的配置空间寄存器中的第二比特位信息确定发生故障的内存条,可以提高故障定位的准确性。
在一个示范性实施例中,方法还包括:在内存扩展控制器与一组主机端服务器相连的情况下,在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息。
考虑到存在如图6所示的,一个MXC可以连接到不同的主机Host的情况,在本实施例中,在内存扩展控制器与一组主机端服务器相连的情况下,可以在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息。
例如,以指定内存条为一根内存条为例,在一个MXC连接到不同的Host的情况下,一根内存条可能被分区分配给不同的Host。
通过本实施例,在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息,可以提高内存扩展控制器的利用率。
在一个示范性实施例中,在在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息之后,方法还包括:在内存扩展控制器上电之后,通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息;根据指定内存条的不同区域的大小,对读取到的指定内存条的SPD信息中的内存大小进行更新,并写入到内存扩展控制器的配置空间寄存器中,其中,更新前的指定内存条的SPD信息中的内存大小为指定内存条的内存大小。
在一个MXC仅支持连接到一个Host的情况下,配置空间寄存器的设计可以按照前述实施例的方式来进行。而对于在一个MXC可以连接到不同的Host,一根内存条可能被分区分配给不同的Host的情况,配置空间寄存器的设计可以进行可选的复杂设计,以支持multi logic device(多逻辑器件)。
在本实施例中,在内存扩展控制器上电之后,可以通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息。根据指定内存条的不同区域的大小,可以对读取到的指定内存条的SPD信息中的内存大小进行更新,并写入到内存扩展控制器的配置空间寄存器中。
上述更新前的指定内存条的SPD信息中的内存大小可以是指定内存条的内存大小。
对读取到的指定内存条的SPD信息中的内存大小进行的更新,可以是按照前述指定内存条中、分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息的不同区域进行的更新。
例如,在同一个DIMM不同分区的大小不同的情况下,MXC读取到的SPD信息中memory size的大小为一个总的值,但MXC在上报SPD信息的时候,可以根据各个分区的情况修改SPD信息中memory size的大小。
通过本实施例,内存扩展控制器可以根据下挂的内存条的分区情况修改读取到的SPD信息的内存大小,在无需增加其他分析操作的情况下,可以使得上报的SPD信息更准确。
下面结合可选示例对本申请实施例中的资产信息的上报方法进行解释说明。在本可选示例中,目标设备为CXL设备。
本可选示例中提供了一种基于CXL内存扩展的资产信息上报方法,通过在MXC中定义用于存储DIMM的SPD信息的配置空间寄存器,MXC上电后,就将DIMM的SPD信息填入自己的配置空间寄存器,等待CPU上电后,BIOS可以直接从MXC的配置空间寄存器中获取到相应的SPD信息,实现CXL内存扩展设备的带内资产信息上报,有助于未来大内存池的应用场景下的故障定位问题。
本可选示例中的资产信息的上报方法的流程可以如图7所示,可以包括以下步骤:
步骤1,系统上电。
步骤2,MXC上电。
步骤3,MXC通过I2C读取DIMM Spd信息,并存放入自己的DVSEC空间。
步骤4,BIOS读取DVSEC Vendor ID:1e98h的寄存器空间中的信息。
步骤5,根据读取到的信息,判断CXL设备是否具有memory扩展能力。
步骤6,若该CXL设备支持内存扩展,则读取对应的寄存器(如,DVSEC Vendor ID:30)来获取SPD信息。
步骤7,将读取到的CXL设备的SPD信息添加入Smbios type17.作为系统资产信息清单进行上报。
通过本可选示例,解决了当前CXL设备资产信息需要通过BMC来获取的问题,使得CXL设备资产信息可以像正常Dimm一样作为资产信息上报。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的可选的实施例属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的又一方面,还提供了一种资产信息的上报装置,该装置被设置为实现上述实施例中所提供的资产信息的上报方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的一种资产信息的上报装置的结构框图,如图8所示,该装置包括:
第一读取单元802,被设置为在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;
上报单元804,被设置为在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器。
通过本申请实施例,在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息,其中,目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息作为系统资产信息上报至目标设备的中央处理器,可以解决相关技术中的资产信息的上报方法存在由于涉及带外访问导致的资产信息的上报效率较低的问题,提高资产信息的上报效率。
可选地,上报单元包括:
添加模块,被设置为在读取到目标SPD信息的情况下,通过基本输入输出系统将目标SPD信息添加到基本输入输出系统的指定数据结构中,以将目标SPD信息作为基本输入输出系统的系统资产信息上报至目标设备的中央处理器,其中,指定数据结构是用于进行系统资产信息的上报的数据结构。
可选地,第一读取单元包括:
访问模块,被设置为在目标设备支持内存扩展的情况下,通过基本输入输出系统按照内存映射的方式访问内存扩展控制器的配置空间寄存器,以从内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的SPD信息。
可选地,上述装置还包括:
第二读取单元,被设置为在内存扩展控制器上电之后,通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息;
写入单元,被设置为将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中。
可选地,内存扩展控制器的配置空间寄存器为指定供应商特定扩展能力DVSEC寄存器;写入单元包括:
第一写入模块,被设置为将读取到的指定内存条的SPD信息写入到一个DVSEC寄存器中,其中,DVSEC寄存器的空间大小为指定空间大小。
可选地,内存扩展控制器的配置空间寄存器为指定供应商特定扩展能力DVSEC寄存器;写入单元包括:
第二写入模块,被设置为将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中,其中,指定内存条的SPD信息被划分为多个子SPD信息,多个子SPD信息中的每个子SPD信息被分别写入到每个数据块中的一个数据块中。
可选地,上述装置还包括:
第一设置单元,被设置为在将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中之前,根据每个数据块的空间大小,为每个数据块设置对应的DVSEC寄存器,其中,与每个数据块设置对应的DVSEC寄存器的空间大小大于或者等于每个数据块的空间大小。
可选地,上述装置还包括:
执行单元,被设置为在将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个DVSEC寄存器中之前,对多个数据块中的每个数据块进行编号;
第二设置单元,被设置为为每个数据块设置对应的寄存器标识,其中,与每个数据块对应的寄存器标识包括:用于标识与每个数据块对应的DVSEC寄存器的寄存器供应商的第一寄存器标识,用于标识与每个数据块对应的DVSEC寄存器的第二寄存器标识,与每个数据块对应的第二寄存器标识中的部分标识与每个数据块的编号匹配。
可选地,上述装置还包括:
第一确定单元,被设置为在通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息之后,确定与读取到的指定内存条的SPD信息对应的第一哈希值;
比较单元,被设置为比较第一哈希值和与内存扩展控制器的配置空间寄存器中已记录的SPD信息对应的第二哈希值,其中,将读取到的指定内存条的SPD信息写入到内存扩展控制器的配置空间寄存器中是在第一哈希值和第二哈希值不一致的情况下执行的。
可选地,上述装置还包括:
第三读取单元,被设置为在在目标设备支持内存扩展的情况下,通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之前,通过基本输入输出系统从目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息,其中,特定配置空间寄存器为记录目标设备的设备类型的配置空间寄存器,内存扩展指示信息用于指示目标设备是否支持内存扩展;
第二确定单元,被设置为在内存扩展指示信息指示目标设备支持内存扩展的情况下,确定目标设备支持内存扩展。
可选地,上述装置还包括:
第三确定单元,被设置为在通过基本输入输出系统从目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息之后,在内存扩展指示信息指示目标设备不支持内存扩展的情况下,确定目标设备没有SPD信息。
可选地,上述装置还包括:
启动单元,被设置为在通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之后,在未读取到SPD信息的情况下,启动定时器,其中,定时器的定时时间为预设的、相邻两次读取指定内存条的SPD信息的时间间隔;
第四读取单元,被设置为在定时器的定时时间到达的情况下,通过基本输入输出系统重新从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息。
可选地,上述装置还包括:
第一获取单元,被设置为在通过基本输入输出系统从目标设备的内存扩展控制器的配置空间寄存器中读取目标设备下挂的指定内存条的序列存在检测SPD信息之前,从内存扩展控制器的配置空间寄存器中获取与指定内存条的SPD信息对应的第一比特位信息,其中,第一比特位信息用于标识内存扩展控制器的配置空间寄存器中存储的SPD信
息是否有效,从内存扩展控制器的配置空间寄存器中读取指定内存条的SPD信息是在第一比特位信息用于标识内存扩展控制器的配置空间寄存器中存储的SPD信息有效的情况下执行的。
可选地,指定内存条为一组内存条;上述装置还包括:
第二获取单元,被设置为在发生内存故障的情况下,从内存扩展控制器的配置空间寄存器中获取与一组内存条对应的故障指示信息,其中,与一组内存条对应的故障指示信息用于指示一组内存条中的每个内存条是否发生故障;
定位单元,被设置为根据与一组内存条对应的故障指示信息进行故障定位,以定位出一组内存条中发生故障的内存条。
可选地,第二获取单元包括:
获取模块,被设置为在发生内存故障的情况下,从内存扩展控制器的配置空间寄存器中获取与一组内存条中的每个内存条对应的第二比特位信息,其中,与每个内存条对应的第二比特位信息用于指示每个内存条是否发生故障。
可选地,上述装置还包括:
存储单元,被设置为在内存扩展控制器与一组主机端服务器相连的情况下,在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息。
可选地,上述装置还包括:
第五读取单元,被设置为在在一个指定内存条的不同区域中分别存储与一组主机端服务器中的每个主机端服务器对应的SPD信息之后,在内存扩展控制器上电之后,通过内存扩展控制器读取目标设备下挂的指定内存条的SPD信息;
更新单元,被设置为根据指定内存条的不同区域的大小,对读取到的指定内存条的SPD信息中的内存大小进行更新,并写入到内存扩展控制器的配置空间寄存器中,其中,更新前的指定内存条的SPD信息中的内存大小为指定内存条的内存大小。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本申请实施例的又一方面,还提供了一种计算机非易失性可读存储介质,该计算机非易失性可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机非易失性可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的可选示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的可选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (20)
- 一种资产信息的上报方法,其特征在于,包括:在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息,其中,所述目标设备为支持开放式互连标准CXL协议的设备;在读取到目标SPD信息的情况下,通过所述基本输入输出系统将所述目标SPD信息作为系统资产信息上报至所述目标设备的中央处理器。
- 根据权利要求1所述的方法,其特征在于,所述在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息,包括:在所述目标设备支持内存扩展的情况下,通过所述基本输入输出系统按照内存映射的方式访问所述内存扩展控制器的配置空间寄存器,以从所述内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的所述指定内存条的SPD信息。
- 根据权利要求1所述的方法,其特征在于,所述在读取到目标SPD信息的情况下,通过所述基本输入输出系统将所述目标SPD信息作为系统资产信息上报至所述目标设备的中央处理器,包括:在读取到所述目标SPD信息的情况下,通过所述基本输入输出系统将所述目标SPD信息添加到所述基本输入输出系统的指定数据结构中,以将所述目标SPD信息作为所述基本输入输出系统的系统资产信息上报至所述目标设备的中央处理器,其中,所述指定数据结构是用于进行系统资产信息的上报的数据结构。
- 根据权利要求1所述的方法,其特征在于,在所述在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息之前,所述方法还包括:在所述内存扩展控制器上电之后,通过所述内存扩展控制器读取所述目标设备下挂的所述指定内存条的SPD信息;将读取到的所述指定内存条的SPD信息写入到所述内存扩展控制器的配置空间寄存器中。
- 根据权利要求4所述的方法,其特征在于,所述内存扩展控制器的配置空间寄存器为指定供应商特定扩展能力DVSEC寄存器;所述将读取到的所述指定内存条的SPD信息写入到所述内存扩展控制器的配置空间寄存器中,包括:将读取到的所述指定内存条的SPD信息写入到一个所述DVSEC寄存器中,其中,所述DVSEC寄存器的空间大小为指定空间大小。
- 根据权利要求4所述的方法,其特征在于,所述内存扩展控制器的配置空间寄存器为指定供应商特定扩展能力DVSEC寄存器;所述将读取到的所述指定内存条的SPD信息写入到所述内存扩展控制器的配置空间寄存器中,还包括:将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个所述DVSEC寄存器中,其中,所述指定内存条的SPD信息被划分为多个子SPD信息,所述多个子SPD信息中的每个子SPD信息被分别存储到所述每个数据块中的一个数据块中。
- 根据权利要求6所述的方法,其特征在于,在所述将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个所述DVSEC寄存器中之前,所述方法还包括:根据所述每个数据块的空间大小,为所述每个数据块设置对应的所述DVSEC寄存器,其中,与所述每个数据块设置对应的所述DVSEC寄存器的空间大小大于或者等于所 述每个数据块的空间大小。
- 根据权利要求6所述的方法,其特征在于,在所述将从多个数据块中的每个数据块中读取到的子SPD信息分别写入到一个所述DVSEC寄存器中之前,所述方法还包括:对所述多个数据块中的每个数据块进行编号;为所述每个数据块设置对应的寄存器标识,其中,与所述每个数据块对应的寄存器标识包括:用于标识与所述每个数据块对应的所述DVSEC寄存器的寄存器供应商的第一寄存器标识,用于标识与所述每个数据块对应的所述DVSEC寄存器的第二寄存器标识,与所述每个数据块对应的所述第二寄存器标识中的部分标识与所述每个数据块的编号匹配。
- 根据权利要求4所述的方法,其特征在于,在所述通过所述内存扩展控制器读取所述目标设备下挂的所述指定内存条的SPD信息之后,所述方法还包括:确定与读取到的所述指定内存条的SPD信息对应的第一哈希值;比较所述第一哈希值和与所述内存扩展控制器的配置空间寄存器中已记录的SPD信息对应的第二哈希值,其中,将读取到的所述指定内存条的SPD信息写入到所述内存扩展控制器的配置空间寄存器中是在所述第一哈希值和所述第二哈希值不一致的情况下执行的。
- 根据权利要求1所述的方法,其特征在于,在所述在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息之前,所述方法还包括:通过所述基本输入输出系统从所述目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息,其中,所述特定配置空间寄存器为记录所述目标设备的设备类型的配置空间寄存器,所述内存扩展指示信息用于指示所述目标设备是否支持内存扩展;在所述内存扩展指示信息指示所述目标设备支持内存扩展的情况下,确定所述目标设备支持内存扩展。
- 根据权利要求10所述的方法,其特征在于,在所述通过所述基本输入输出系统从所述目标设备的内存扩展控制器的特定配置空间寄存器中读取内存扩展指示信息之后,所述方法还包括:在所述内存扩展指示信息指示所述目标设备不支持内存扩展的情况下,确定所述目标设备没有SPD信息。
- 根据权利要求1所述的方法,其特征在于,在所述通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息之后,所述方法还包括:在未读取到SPD信息的情况下,启动定时器,其中,所述定时器的定时时间为预设的、相邻两次读取所述指定内存条的SPD信息的时间间隔;在所述定时器的定时时间到达的情况下,通过所述基本输入输出系统重新从所述内存扩展控制器的配置空间寄存器中读取所述指定内存条的SPD信息。
- 根据权利要求1所述的方法,其特征在于,在所述通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息之前,所述方法还包括:从所述内存扩展控制器的配置空间寄存器中获取与所述指定内存条的SPD信息对应的第一比特位信息,其中,所述第一比特位信息用于标识所述内存扩展控制器的配置空 间寄存器中存储的SPD信息是否有效,从所述内存扩展控制器的配置空间寄存器中读取所述指定内存条的SPD信息是在所述第一比特位信息用于标识所述内存扩展控制器的配置空间寄存器中存储的SPD信息有效的情况下执行的。
- 根据权利要求1所述的方法,其特征在于,所述指定内存条为一组内存条;所述方法还包括:在发生内存故障的情况下,从所述内存扩展控制器的配置空间寄存器中获取与所述一组内存条对应的故障指示信息,其中,与所述一组内存条对应的故障指示信息用于指示所述一组内存条中的每个内存条是否发生故障;根据与所述一组内存条对应的故障指示信息进行故障定位,以定位出所述一组内存条中发生故障的内存条。
- 根据权利要求14所述的方法,其特征在于,所述在发生内存故障的情况下,从所述内存扩展控制器的配置空间寄存器中获取与所述一组内存条对应的故障指示信息,包括:在发生内存故障的情况下,从所述内存扩展控制器的配置空间寄存器中获取与所述一组内存条中的每个内存条对应的第二比特位信息,其中,与所述每个内存条对应的第二比特位信息用于指示所述每个内存条是否发生故障。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述内存扩展控制器与一组主机端服务器相连的情况下,在一个所述指定内存条的不同区域中分别存储与所述一组主机端服务器中的每个主机端服务器对应的SPD信息。
- 根据权利要求16所述的方法,其特征在于,在所述在一个所述指定内存条的不同区域中分别存储与所述一组主机端服务器中的每个主机端服务器对应的SPD信息之后,所述方法还包括:在所述内存扩展控制器上电之后,通过所述内存扩展控制器读取所述目标设备下挂的所述指定内存条的SPD信息;根据所述指定内存条的不同区域的大小,对读取到的所述指定内存条的SPD信息中的内存大小进行更新,并写入到所述内存扩展控制器的配置空间寄存器中,其中,更新前的所述指定内存条的SPD信息中的内存大小为所述指定内存条的内存大小。
- 一种资产信息的上报装置,其特征在于,包括:第一读取单元,被设置为在目标设备支持内存扩展的情况下,通过基本输入输出系统从所述目标设备的内存扩展控制器的配置空间寄存器中读取所述目标设备下挂的指定内存条的序列存在检测SPD信息,其中,所述目标设备为支持开放式互连标准CXL协议的设备;上报单元,被设置为在读取到目标SPD信息的情况下,通过所述基本输入输出系统将所述目标SPD信息作为系统资产信息上报至所述目标设备的中央处理器。
- 一种计算机非易失性可读存储介质,其特征在于,所述计算机非易失性可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至17任一项中所述的方法的步骤。
- 一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至17任一项中所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US19/122,949 US20260010423A1 (en) | 2023-06-27 | 2024-01-04 | Method and apparatus for reporting asset information, storage medium, and electronic device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310767751.5 | 2023-06-27 | ||
| CN202310767751.5A CN116521429B (zh) | 2023-06-27 | 2023-06-27 | 资产信息的上报方法及装置、存储介质及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025001042A1 true WO2025001042A1 (zh) | 2025-01-02 |
Family
ID=87397923
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/070672 Ceased WO2025001042A1 (zh) | 2023-06-27 | 2024-01-04 | 资产信息的上报方法及装置、非易失性可读存储介质及电子设备 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20260010423A1 (zh) |
| CN (1) | CN116521429B (zh) |
| WO (1) | WO2025001042A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120811855A (zh) * | 2025-09-12 | 2025-10-17 | 浪潮电子信息产业股份有限公司 | 故障上报方法、装置、电子设备及存储介质 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116521429B (zh) * | 2023-06-27 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 资产信息的上报方法及装置、存储介质及电子设备 |
| CN117112452B (zh) * | 2023-08-24 | 2024-04-02 | 上海合芯数字科技有限公司 | 寄存器模拟配置方法、装置、计算机设备和存储介质 |
| CN116881016B (zh) * | 2023-09-06 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 服务器进程的处理方法及装置、存储介质及电子设备 |
| CN117785489B (zh) * | 2024-02-27 | 2024-05-10 | 苏州元脑智能科技有限公司 | 一种服务器及一种任务执行方法、装置和存储介质 |
| CN119271334B (zh) * | 2024-09-27 | 2026-04-21 | 苏州元脑智能科技有限公司 | 一种计算快速链路设备信息展示方法、装置、设备及介质 |
| CN119690655A (zh) * | 2024-11-29 | 2025-03-25 | 苏州元脑智能科技有限公司 | 内存配置信息上报方法、装置、计算机设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200363974A1 (en) * | 2019-05-17 | 2020-11-19 | Dell Products, Lp | System and Method for Tying Non-Volatile Dual Inline Memory Modules to a Particular Information Handling System |
| CN114020655A (zh) * | 2022-01-05 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种内存扩展方法、装置、设备及存储介质 |
| CN115686153A (zh) * | 2022-12-29 | 2023-02-03 | 浪潮电子信息产业股份有限公司 | 一种内存模组及一种电子设备 |
| CN115904783A (zh) * | 2022-11-18 | 2023-04-04 | 超聚变数字技术有限公司 | 一种故障检测方法以及计算设备 |
| CN116521429A (zh) * | 2023-06-27 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 资产信息的上报方法及装置、存储介质及电子设备 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030179598A1 (en) * | 2002-03-20 | 2003-09-25 | Yu-Guang Chen | Device for selectively providing read-only data |
| CN109358908B (zh) * | 2018-11-01 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种获取内存条的spd信息的方法、装置及存储介质 |
| US11609980B2 (en) * | 2020-05-08 | 2023-03-21 | Hewlett Packard Enterprise Development Lp | Memory module authentication extension |
| WO2022109770A1 (en) * | 2020-11-24 | 2022-06-02 | Intel Corporation | Multi-port memory link expander to share data among hosts |
| US11892955B2 (en) * | 2021-06-01 | 2024-02-06 | Microchip Technology Inc. | System and method for bypass memory read request detection |
| CN113608684B (zh) * | 2021-06-30 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 内存信息获取方法、装置、系统、电子设备及存储介质 |
| US20220276958A1 (en) * | 2022-05-18 | 2022-09-01 | Intel Corporation | Apparatus and method for per memory chip addressing |
| US12229319B2 (en) * | 2022-07-22 | 2025-02-18 | Dell Products L.P. | Authentication of memory expansion capabilities |
| CN116225177B (zh) * | 2023-05-06 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 内存系统、内存资源调节方法、装置、电子设备和介质 |
| US20250036589A1 (en) * | 2023-07-25 | 2025-01-30 | Abacus Semiconductor Corporation | Heterogeneous accelerated compute |
-
2023
- 2023-06-27 CN CN202310767751.5A patent/CN116521429B/zh active Active
-
2024
- 2024-01-04 WO PCT/CN2024/070672 patent/WO2025001042A1/zh not_active Ceased
- 2024-01-04 US US19/122,949 patent/US20260010423A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200363974A1 (en) * | 2019-05-17 | 2020-11-19 | Dell Products, Lp | System and Method for Tying Non-Volatile Dual Inline Memory Modules to a Particular Information Handling System |
| CN114020655A (zh) * | 2022-01-05 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种内存扩展方法、装置、设备及存储介质 |
| CN115904783A (zh) * | 2022-11-18 | 2023-04-04 | 超聚变数字技术有限公司 | 一种故障检测方法以及计算设备 |
| CN115686153A (zh) * | 2022-12-29 | 2023-02-03 | 浪潮电子信息产业股份有限公司 | 一种内存模组及一种电子设备 |
| CN116521429A (zh) * | 2023-06-27 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 资产信息的上报方法及装置、存储介质及电子设备 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120811855A (zh) * | 2025-09-12 | 2025-10-17 | 浪潮电子信息产业股份有限公司 | 故障上报方法、装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116521429B (zh) | 2023-08-29 |
| US20260010423A1 (en) | 2026-01-08 |
| CN116521429A (zh) | 2023-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2025001042A1 (zh) | 资产信息的上报方法及装置、非易失性可读存储介质及电子设备 | |
| TWI873352B (zh) | 用於處理複製命令的方法及儲存裝置 | |
| US7945815B2 (en) | System and method for managing memory errors in an information handling system | |
| US11687253B2 (en) | Configuration of a computational drive | |
| US11226755B1 (en) | Core dump in a storage device | |
| TWI598745B (zh) | 資料傳輸方法及伺服器 | |
| CN105808163A (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
| US10911259B1 (en) | Server with master-slave architecture and method for reading and writing information thereof | |
| CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
| CN112835528B (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
| US20260003639A1 (en) | Method and Apparatus for Obtaining Boot Logs, and Method for Transferring Boot Logs | |
| WO2025213531A1 (zh) | 内存数据的访问方法、装置、电子设备及可读存储介质 | |
| CN114116355A (zh) | 内存测试方法、装置及电子设备 | |
| CN111159055B (zh) | 用来进行主装置与记忆装置之间的存取控制的方法及设备 | |
| CN116483600A (zh) | 内存故障处理方法及计算机设备 | |
| CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
| CN115757196B (zh) | 内存、访问内存方法及计算设备 | |
| CN112003960B (zh) | 工控设备的网络接口管理方法、装置和电子装置 | |
| US10642494B2 (en) | Method, electronic device and computer program product for data processing | |
| CN111142787A (zh) | 存储分层的数据交换测试方法、系统、终端及存储介质 | |
| US7162568B2 (en) | Apparatus and method for flash ROM management | |
| CN114267397B (zh) | 一种全局配置编程方法、装置及系统 | |
| JP7400015B2 (ja) | データ検証回路を有するデータ記憶デバイス | |
| CN114911408B (zh) | 一种存储设备的数据处理方法、装置及存储设备 | |
| WO2019169615A1 (zh) | 访问指令sram的方法和电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24829705 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |