Identity recognition method of storage device and computing device

By storing the BIOS program and the storage device's identity information in the computing device's storage device, the problem of low recognition efficiency caused by BIOS upgrades is solved, and efficient storage device identity information recognition is achieved.

CN121765708APending Publication Date: 2026-03-31XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511708370.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-19
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

When computing devices identify the identity information of storage devices, they need to upgrade the Basic Input/Output System (BIOS), resulting in low identification efficiency.

Method used

By storing the BIOS program and the identity information of the storage device in the first storage device of the computing device, and retrieving the target identity information from the first storage device when the computing device is powered on and started, the upgrade of the BIOS program is avoided.

Benefits of technology

It shortens the target identity information recognition cycle of storage devices, improves recognition efficiency, and eliminates the need to upgrade the BIOS program.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121765708A_ABST
    Figure CN121765708A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an identity recognition method of a storage device and a computing device, the method is applied to the computing device, and the computing device comprises a first storage device used for storing a BIOS program. The method comprises the steps that identity information of one or more storage devices is obtained and written into a first storage device, under the condition that the computing device is powered on and started, a BIOS program is executed, target identity information is obtained from the storage device, and the target identity information is matched with the storage device inserted into the computing device. According to the method, the identity information identification efficiency of the storage device can be improved under the condition that the BIOS program is not upgraded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method for identifying a storage device and a computing device. Background Technology

[0002] When a storage device is inserted into a computing device, the computing device typically needs to identify the storage device's identity. However, when identifying some storage devices, the computing device needs to upgrade its Basic Input / Output System (BIOS), which leads to inefficient identification of the storage device's identity information. Summary of the Invention

[0003] This application provides a method for identifying the identity of a storage device and a computing device for identifying the identity information of the storage device.

[0004] In a first aspect, embodiments of this application provide a method for identifying a storage device, applied to a computing device. The computing device includes a first storage device for storing a BIOS program. The method includes: Obtain the identity information of one or more storage devices and write it to the first storage device; When the computing device is powered on, the BIOS program is executed, and target identity information is obtained from the first storage device, which is matched with the storage device inserted into the computing device.

[0005] Using the above technical solution, the acquired identity information of one or more first storage devices is written into the first storage device. Since the first storage device stores the BIOS program, when the storage device is inserted into the computing device and the computing device powers on, executing the BIOS program not only retrieves the BIOS program from the first storage device but also obtains the target identity information matching the inserted storage device. Therefore, the method of this application embodiment can shorten the identification cycle of the target identity information of the storage device and improve identification efficiency without requiring a BIOS program upgrade.

[0006] In one possible implementation, the identity information of the storage devices is input through the BIOS configuration interface. In this case, the BIOS program's configuration interface can be accessed, and the identity information of one or more storage devices can be entered to write this information into the first storage device.

[0007] In one possible implementation, obtaining the identity information of one or more storage devices and writing it to the first storage device includes: in response to an input operation on the configuration interface of the operating system in the computing device, obtaining the identity information of one or more storage devices and writing it to the first storage device. In this case, the identity information of these storage devices can be input into the operating system of the computing device through an in-band configuration tool, so that the identity information of these storage devices can be directly written to the first storage device.

[0008] In one possible implementation, the computing device further includes a processor and a baseboard management controller. Obtaining the identity information of one or more storage devices and writing it to the first storage device includes: The baseboard management controller obtains the identity information of one or more storage devices and sends it to the processor, which then writes the identity information of the one or more storage devices into the first storage device.

[0009] In one possible implementation, the computing device further includes a baseboard management controller that acquires the identity information of one or more storage devices and writes it into the first storage device, including: acquiring the identity information of one or more storage devices through the baseboard management controller and writing it into the first storage device.

[0010] In one possible implementation, the computing device includes a master computing device that manages and controls the slave computing devices. In this case, the baseboard management controller can receive identity information of one or more storage devices input by an out-of-band configuration tool.

[0011] In one possible implementation, the computing device is a slave computing device controlled by the master computing device. In this case, the baseboard management controller can receive identity information of one or more storage devices distributed from the master computing device. That is, the master computing device can batch-import the identity information of storage devices to the baseboard management controllers of different slave computing devices through distribution, thereby simplifying the process of the base management controllers of different slave computing devices obtaining the identity information of storage devices.

[0012] In one possible implementation, the first storage device stores historical identity information of the storage device. In this case, the method further includes: Obtain an identity change instruction, which is used to instruct the updating of the historical identity information of the storage device; Based on the identity change instruction, update the historical identity information in the first storage device.

[0013] It is evident that when the first storage device stores the historical identity information of the storage device, the historical identity information in the first storage device can be modified through the identity change instruction of the storage device, so as to flexibly adjust the identity information of the storage device.

[0014] In one possible implementation, the first storage device stores pre-built identity information of storage devices, and obtaining target identity information from the first storage device includes: if the target identity information is not found in the pre-built identity information, querying the target identity information from the identity information of one or more storage devices stored in the first storage device.

[0015] It is evident that even if the processor does not obtain the target identity information from the first storage device, it can still query the target memory identity information from the first storage device. This eliminates the need to redevelop and upgrade the BIOS program, thus shortening the time required to obtain the target identity information.

[0016] In one possible implementation, the identity information of the storage device includes an identity identifier, and the storage device inserted into the computing device contains a target identity identifier. Obtaining the target identity information from the first storage device includes: Obtain the target identity identifier of the storage device from the storage device inserted into the computing device, and based on the target identity identifier, obtain the target identity information from the identity information of one or more storage devices in the first storage device.

[0017] In one possible implementation, the method further includes sending the identity information of the storage device inserted into the computing device to the display device for display.

[0018] Secondly, embodiments of this application also provide a computing device, including: a processor and a first storage device, the processor and the first storage device being communicatively connected, the first storage device being used to store a BIOS program and identity information of one or more storage devices.

[0019] The processor is used to execute the BIOS program when the computing device is powered on and retrieve target identity information from the first storage device, which is matched with the storage device inserted into the computing device.

[0020] In one possible implementation, the computing device further includes a baseboard management controller, which is used to acquire the identity information of at least one or more storage devices and write it into the first storage device.

[0021] In one possible implementation, the computing device further includes a baseboard management controller, which is communicatively connected to the processor. The baseboard management controller is used to acquire identity information of one or more storage devices and send it to the processor, which is then used to write the identity information of the one or more storage devices into a first storage device. The beneficial effects of the second aspect or any possible implementation of the second aspect of the embodiments of this application can be referred to the beneficial effects of the first aspect or any possible implementation of the first aspect of the embodiments of this application. Attached Figure Description

[0022] Further details, features, and advantages of this application are claimed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which: Figure 1 A schematic diagram of the structure of a computing device, taking a server as an example, provided for an embodiment of this application; Figure 2 A flowchart illustrating an identity verification method for a storage device according to an embodiment of this application is shown; Figure 3 A flowchart illustrating the memory module identification method in an embodiment of this application is shown; Figures 4A-4D The illustration shows a schematic diagram of a memory identity configuration operation at different stages in the BIOS configuration interface of this application embodiment; Figure 5 A schematic diagram showing a list of memory manufacturers according to an embodiment of this application is provided. Figure 6 This illustration shows a schematic diagram of the process of storing the Redfish configuration file to the data area of ​​the SPI Flash according to an embodiment of this application; Figure 7 This diagram illustrates the structure of a main computing device batch distributing the identity information of storage devices, using a local area network as an example. Figure 8 This illustration shows a schematic diagram of the process of storing the OS configuration file to the data area of ​​the SPI Flash according to an embodiment of this application; Figure 9 This illustration shows a schematic diagram of the source of the added vendor list in an embodiment of this application. Detailed Implementation

[0023] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While some embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this application. It should be understood that the drawings and embodiments of this application are for illustrative purposes only and are not intended to limit the scope of protection of this application.

[0024] It should be understood that the steps described in the method embodiments of this application may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this application is not limited in this respect.

[0025] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first", "second", etc., mentioned in this application are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0026] It should be noted that the terms "a" and "a plurality of" used in this application are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more". Before introducing the embodiments of this application, the relevant terms involved in the embodiments of this application are first explained as follows: An operating system (OS) is the core system software that manages computer hardware and software resources. It is also the "manager" and "coordinator" of all hardware and software in a computer system. It bridges the gap between users, applications, and computer hardware, ensuring that hardware resources are used efficiently while providing a stable and unified environment for software operation.

[0027] The Baseboard Management Controller (BMC) is a standalone chip or module on the server motherboard, with its own independent processor, memory, storage, and power supply. It connects to other critical components of the server through specific hardware interfaces and buses.

[0028] The Basic Input / Output System (BIOS) is an unalterable boot program etched onto the motherboard ROM chip. The BIOS is responsible for calculating the system self-test (POST) program and the system boot program.

[0029] The Unified Extensible Firmware Interface (UEFI) is the underlying firmware standard for modern computers that replaces the traditional BIOS.

[0030] Memory modules are the core hardware components in a computer responsible for temporarily storing data and programs; they act as a "data transfer station" between the central processing unit (CPU) and permanent storage devices such as hard drives.

[0031] Serial Peripheral Interface Flash (SPI Flash) is a chip-level storage device that combines the SPI serial communication protocol with Flash non-volatile storage technology. A Redfish configuration file, also known as a Redfish Configuration File, is a structured file used to define, configure, and manage the behavior of Redfish API services. It is usually in JSON or XML format and contains key parameters such as device hardware information, API access rules, authentication policies, and log settings.

[0032] curl is a powerful command-line tool used for transferring data over a network, supporting multiple protocols such as HTTP, HTTPS, FTP, and SFTP. It is commonly used for testing application interfaces, downloading files, and sending HTTP requests, and is highly practical in server management and development debugging.

[0033] Postman is a popular application interface development and testing tool that supports graphical interface operation. It can quickly send HTTP / HTTPS requests, manage application interface collections, and automate testing. It is widely used for interface development, debugging, and documentation generation, and is especially suitable for developers who are not familiar with the command line.

[0034] Out-of-band Redfish refers to running the Redfish API service through a dedicated management channel independent of the server's main operating system and data network, enabling remote management of server hardware.

[0035] SMBIOS, also known as System Management BIOS, is a standardized specification that motherboard or system manufacturers must follow to display product management information in a standard format. Figure 1 This application provides a schematic diagram of the structure of a computing device, taking a server as an example, as shown in the embodiments. Figure 1 As shown, the computing device 100 includes a processor 101 and a first storage device 102A. The processor 101 can be a central processing unit (CPU). The first storage device 102A is used to store the BIOS program. Here, the BIOS program can be a BIOS program in the narrow sense or a UEFI program. The processor 101 can execute the BIOS program in the first storage device 102A, so that after the computing device 100 successfully completes the power-on self-test, it can sequentially perform hardware initialization and operating system boot.

[0036] Optionally, the first storage device 102A may be an electrically erasable programmable read-only memory (EEPROM) or a Flash memory, wherein the Flash memory may be SPI Flash.

[0037] A storage device 103 can be inserted into the computing device 100. The number of storage devices 103 can be one or more. The type of storage device 103 can be a memory module, a hard disk, or other pluggable storage device. The hard disk can be a solid state drive (SSD) or a hard disk drive (HDD), etc.

[0038] To improve the efficiency of identifying the identity information of storage devices, the identity information of one or more storage devices can be obtained and written to the first storage device 102A, so that the first storage device 102A can store both the BIOS program and the identity information of one or more storage devices. At this time, the processor 101 executes the BIOS program and obtains the target identity information from the first storage device 102A when the computing device 100 is powered on (e.g., during power-on self-test). This target identity information is matched with the storage device 103 inserted into the computing device 100.

[0039] The identity information of the storage devices stored in the first storage device 102A includes at least the target identity information, and may also include identity information that does not match the storage device 103 inserted into the computing device 100. When the first storage device 102A stores the identity information of multiple storage devices, the different storage devices 103 may be of the same type or different types. For example, some storage devices 103 may be hard disks, and some storage devices 103 may be memory modules.

[0040] When the first storage device 102A stores a BIOS program and writes the identity information of one or more storage devices into the first storage device 102A, after the storage device 103 is inserted into the computing device 100 and the computing device 100 is powered on, the processor 101 can not only read and execute the BIOS program from the first storage device 102A, but also read the target identity information matching the storage device 103 inserted into the computing device 100 from the first storage device 102A, thereby achieving the purpose of identifying the identity information of the storage device. Therefore, the computing device 100 of this embodiment can shorten the identification cycle of the target identity information of the storage device 103 and improve identification efficiency without requiring a BIOS program upgrade.

[0041] The processor 101 in this embodiment can obtain the identity information of one or more storage devices in various ways and write it into the first storage device 102A. Examples are given below with reference to the accompanying drawings.

[0042] 1. The identity information of the storage devices is input through the configuration interface of the BIOS program. The processor 101 can respond to input operations in the configuration interface of the BIOS program, obtain the identity information of one or more storage devices, and write it into the first storage device 102A. For example, the processor 101 can enter the configuration interface of the BIOS program and input the identity information of one or more storage devices, so that the processor 101 can obtain the identity information of these storage devices and write it into the first storage device 102A.

[0043] Second, the identity information of the storage devices is input from the configuration interface of the operating system in the computing device 100. Here, the processor 101 can be used to respond to the input operation in the configuration interface of the operating system in the computing device 100, obtain the identity information of one or more storage devices, and write it to the first storage device 102A.

[0044] Optionally, the computing device 100 may further include a second storage device 102B communicatively connected to the processor 101, which may be a hard disk, such as an SSD or HDD, for storing the operating system program. When the processor 101 detects that the operating system has been successfully loaded, it can input the configuration information of the storage device through the operating system's configuration tools, such as the in-band configuration interface of an in-band configuration tool.

[0045] Third, the computing device 100 may also include a BMC 104. In this case, the identity information of the storage device can be obtained by the BMC 104.

[0046] Optionally, BMC104 can directly write the identity information of the storage devices to the first storage device 102A. In this case, BMC104 can communicate with the first storage device 102A. For example, BMC104 may have pre-set write addresses for the identity information of one or more storage devices, and BMC104 may write the identity information of one or more storage devices into the first storage device 102A according to these write addresses. Alternatively, BMC104 may receive a write command containing the identity information of one or more storage devices and their corresponding write addresses, and BMC104 may respond to the write command by writing the identity information of one or more storage devices into the first storage device 102A.

[0047] Optionally, BMC104 can be communicatively connected to the processor. In this case, BMC104 is used to obtain the identity information of one or more storage devices and send it to the processor 101, which then writes it into the first storage device 102A. For example, BMC104 can be used to send the identity information of one or more storage devices to the processor 101 upon receiving such information, so that the processor 101 can obtain the identity information of one or more storage devices from BMC104 and write it into the first storage device 102A.

[0048] Optionally, when computing device 100 is a slave computing device controlled by a master computing device, or when computing device 100 includes a master computing device that manages slave computing devices, BMC 104 may receive identity information from one or more storage devices distributed by the master computing device.

[0049] In one example, the identity information of one or more storage devices can be input into the BMC104 using an out-of-band configuration tool. This out-of-band configuration tool can be an out-of-band Redfish, which may include tools such as curl and postman.

[0050] When the computing device 100 includes a master computing device that manages the slave computing devices, the BMC 104 included in the master computing device and the BMC 104 included in the slave computing device can communicate independently. Therefore, the BMC 104 can receive the identity information of one or more storage devices input by an out-of-band configuration tool.

[0051] In one example, the identity information of one or more storage devices can be input to the BMC104 of the master computing device via an out-of-band configuration tool. In this case, the BMC104 of the master computing device also distributes the identity information of the one or more storage devices to the BMC104s of the various slave computing devices. This simplifies the process of obtaining the identity information of storage devices from the BMC104s of different slave computing devices, allowing the input of one or more storage device identity information to the BMC104s of multiple slave computing devices in batches.

[0052] In an alternative embodiment, the computing device 100 of this application may further include a third storage device 102C communicatively connected to the processor 101, which can be used to store a configuration file of memory identities. When the identity information of the storage device is input through the configuration interface of the BIOS program or the configuration interface of the operating system, the processor 101 can, in response to the input operation in the configuration interface of the operating system in the computing device 100, or in response to the input operation in the configuration interface of the BIOS program, obtain the configuration file of the identity information from the third storage device 102C, and obtain the identity information of one or more storage devices from the configuration file of the identity information, thereby batch importing the identity information of the storage devices into the processor 101.

[0053] The third storage device 102C can be a portable storage device, such as a portable hard drive or a Universal Serial Bus (USB) flash drive. An identity information configuration file can be created and edited through the operating system's graphical user interface, and then written to the portable storage device (or the second storage device 102B). Alternatively, the memory identity configuration file can be created and edited via command line through the operating system's command-line interface, and then written to the portable storage device (or the second storage device 102B).

[0054] In one alternative embodiment, the identity information of the storage device includes an identity identifier, and the storage device inserted into the computing device 100 contains a target identity identifier. The processor 101 can be used to obtain the target identity identifier of the storage device from the storage device 103 inserted into the computing device 100, and to obtain the target identity information from the identity information of one or more storage devices in the first storage device 102A based on the target identity information.

[0055] Optionally, when the storage device 103 inserted into the computing device 100 is a memory module, the target identity information of the memory module can be added to the System Management BIOS (SMBIOS) table (such as the SMBIOS type 17 table).

[0056] For example, the pre-installed identity information of the storage device embedded in the BIOS program can be the pre-installed identity information of one storage device or the pre-installed identity information of multiple storage devices. Furthermore, the pre-installed identity information of the storage device can be different from, or partially the same as, the identity information of the storage device written into the first storage device 102A.

[0057] In one alternative approach, the first storage device 102A stores pre-built identity information of the storage device. The processor 101 can query the target identity information from the identity information of one or more storage devices stored in the first storage device 102A when the target identity information is not found in the pre-built identity information. Therefore, even if the processor 101 does not obtain the target identity information from the first storage device 102A, it can still query the target memory identity information from the identity information of one or more storage devices stored in the first storage device 102A. This eliminates the need to redevelop and upgrade the BIOS program, thus shortening the time required to obtain the target identity information.

[0058] Optionally, the storage area of ​​the first storage device 102A can be divided into a code area and a data area. The code area can store the BIOS program, and the pre-built identity information can be embedded in the BIOS program. The data area can store the identity information of one or more storage devices written to the first storage device.

[0059] In one example, the pre-installed identity information embedded in the BIOS program and the identity information of the storage device written to the first storage device 102A can both include the identity identifier of the storage device, such as the identity code of the storage device, and can also include basic information of the storage device, such as the type of storage device, the specifications of the storage device, the performance parameters of the storage device, the serial number of the storage device, etc.

[0060] In one example, two storage devices with different identities may have the same basic information. The identity information of these two storage devices can both be stored in the BIOS program or written to the first storage device 102A by the computing device 100, or one can be stored in the BIOS program and the other written to the first storage device 102A.

[0061] In one possible implementation, such as Figure 1 As shown, the first storage device 102A stores historical identity information of the storage device. The processor 101 can obtain an identity change instruction, which is used to instruct the updating of the historical identity information of the storage device. Therefore, the historical identity information in the first storage device 102A can be updated based on the identity change instruction. In this way, by modifying the historical identity information through the identity change instruction of the storage device, the identity information of the storage device can be flexibly adjusted.

[0062] This application provides a method for identifying a storage device, which can be executed by a processor or a chip applied to the processor. It can be applied to computing devices such as servers, which may include a storage device for storing BIOS programs or UEFI programs. The storage device can be inserted into the motherboard of the computing device; this storage device can be either a memory module or a hard drive.

[0063] Figure 2 A flowchart illustrating an embodiment of the identification method for a storage device according to this application is shown. Figure 2 As shown, the technical solution 200 of this application embodiment includes steps 201 to 202.

[0064] In step 201, the identity information of one or more storage devices is obtained and written to the first storage device. Here, the identity information of the one or more storage devices may include the identity information of storage devices inserted into the computing device, or it may include the identity information of storage devices not inserted into the computing device.

[0065] Optionally, the identification information of a storage device may include an identification identifier, as well as basic information about the storage device. The identification information for each storage device can be saved in the format of "Identification Identifier:Identification Name". For example, the identification name may include the manufacturer's name of the storage device, or it may include the product name of the storage device inserted into the computing device.

[0066] Optionally, when the first storage device includes SPI Flash, the identity information of one or more storage devices can be stored in the SPI Flash. For example, when the SPI Flash is divided into a code area and a data area, the code area can store the BIOS program, and the data area can store the identity information of one or more storage devices written to the first storage device.

[0067] Optionally, the identity information of the storage device can be added, deleted, and modified. The first storage device stores historical identity information. At this time, the processor can obtain an identity change instruction, which is used to instruct the updating of the historical identity information of the storage device. Therefore, the historical identity information in the first storage device can be updated based on the identity change instruction of the storage device.

[0068] When the identity change instruction indicates the modification of identity information, the identity information of the storage device may also include the latest identity information of the storage device that needs to be modified. In this case, the latest identity information of the storage device that needs to be modified can be used to replace the historical identity information, thereby achieving the purpose of modifying the identity information of the storage device.

[0069] When the identity change instruction includes an identity information deletion instruction for a certain storage device, the processor can delete the historical identity information based on the identity information deletion instruction for the storage device.

[0070] As can be seen, when the first storage device in this application embodiment stores the historical identity information of the storage device, the historical identity information can be modified by the identity information change instruction, thereby flexibly adjusting the historical identity information in the first storage device according to actual needs.

[0071] In step 202, when the computer is powered on, the BIOS program is executed, and target identity information is obtained from the first storage device, which matches the storage device inserted into the computing device.

[0072] Optionally, the identity information of the storage device inserted into the computing device can be sent to a display device for display. This display device can be an on-device display or a remote display device such as a terminal. Alternatively, one can remotely log into the BMC of the computing device and view the identity information of the storage device inserted into the computing device through the BMC's page.

[0073] Optionally, the processor can obtain the target identity information from the first storage device during power-on self-test (POST). For example, when the processor powers on, it passively performs a reset operation, then reads the POST program from the BIOS program from the first storage device, such as SPIFlash, and uses the POST program to perform the POST operation, thus achieving the purpose of the processor performing the POST operation.

[0074] The computing device in this application embodiment may further include a second storage device 102B, which can be used to store operating system files. After the processor completes the operating system boot through the BIOS program, the processor can call the operating system files of the second storage device 102B to perform related operations.

[0075] Optionally, the number of storage devices inserted into the computing device can be one or more, and when there are multiple storage devices inserted into the computing device, the different storage devices can be of the same type or different types. For example, the multiple storage devices inserted into the computing device can all be memory modules.

[0076] Optionally, the storage device's identity information includes an identity identifier, and the storage device inserted into the computing device contains a target identity identifier. In this case, the target identity identifier of the storage device can be obtained from the storage device inserted into the computing device, and based on this target identity identifier, the target identity information can be obtained from the identity information of one or more storage devices in the storage device.

[0077] In one example, the first storage device has a data area and a code area. The BIOS program is stored in the code area. The BIOS program can store pre-built identity information of the storage device, and the identity information of one or more storage devices written to it is stored in the data area. When the processor cannot find the target identity information from the pre-built identity information, it can query the target identity information from the identity information of one or more storage devices stored in the first storage device. The relationship between the pre-built identity information stored in the BIOS program and the identity information of one or more storage devices written to the first storage device can be referred to the previous text and will not be detailed here.

[0078] As can be seen, by inserting the identity identifier of the storage device into the computing device, the target identity configuration parameters that match it can be directly obtained. Then, by using the target identity configuration parameters, the target identity information of the storage device inserted into the computing device can be determined, thereby improving the efficiency of obtaining the target identity information of the inserted computing device.

[0079] When the first storage device is SPI Flash, and the identity information of each memory stick stored in the SPI Flash includes an identity identifier and a manufacturer name, when multiple memory sticks are inserted into the computing device, the processor can obtain the identity identifier of each memory stick inserted into the computing device, and then, based on the identity identifier of each memory stick, retrieve the manufacturer name of the multiple memory sticks inserted into the computing device stored in the SPI Flash.

[0080] The following describes the process in detail with reference to the accompanying drawings. For ease of description, the identity information of the memory module inserted into the computing device can be defined as the identity information of the target memory module, and the identity information of the memory module stored in the SPI Flash can be defined as the identity information of the candidate memory module.

[0081] Figure 3 A flowchart illustrating the memory module identification method in an embodiment of this application is shown. Figure 3 As shown, the memory module identification method 300 of this application embodiment includes steps 301 to 306.

[0082] In step 301, when the processor performs a power-on self-test operation on the computing device, it reads the identity identifiers of multiple candidate memory modules from multiple target memory modules.

[0083] In step 302, the processor matches the identifier of each target memory module with the identifiers of multiple candidate memory modules stored in the code area of ​​the SPI Flash.

[0084] If the identifier of a target memory module matches (e.g., is the same) the identifier of a candidate memory module stored in the code area of ​​the SPI Flash, step 303 can be executed; otherwise, step 305 is executed.

[0085] In step 303, the processor determines the manufacturer name of the target memory module based on the identity of the candidate memory modules that match the identity of the target memory module.

[0086] In step 304, after performing a power-on self-test, the processor sequentially performs hardware initialization and boots the operating system. When the manufacturer's name of the target memory module is obtained, the target identification information of the memory module can be added to the SMBIOS table (such as the SMBIOS type 17 table).

[0087] In step 305, the processor reads the identity identifier of the candidate memory module stored in the data area of ​​the SPI Flash and matches the identity identifier of the target memory module with the identity information of the candidate memory module stored in the data area of ​​the SPI Flash.

[0088] If the identifier of a target memory module matches (e.g., is the same) the identifier of a candidate memory module stored in the data area of ​​the SPI Flash, step 303 can be executed; otherwise, step 306 can be executed.

[0089] In step 306, the processor rereads the identity information of the candidate memory modules stored in the data area of ​​the SPI Flash to update the identity information of the candidate memory modules.

[0090] As can be seen, the manufacturer's name of the target memory module can come from either the code area or the data area of ​​the SPI Flash. For example, if the processor cannot obtain the manufacturer's name of the target memory module from the code area of ​​the SPI Flash, it can obtain it from the data area of ​​the SPI Flash.

[0091] For example, the identity information of the candidate memory modules stored in the code area of ​​the SPI Flash is as follows: Memory ID1: Manufacturer Name 1, where Memory ID1: 1111, Manufacturer Name: ABCC; Memory ID2: Manufacturer Name 2, where Memory ID2: 1254, Manufacturer Name: BBAD.

[0092] The identity information of the candidate memory modules stored in the data area of ​​the SPI Flash is as follows: Memory ID1: Manufacturer Name 1, where Memory ID1: 1234, Manufacturer Name: ABCD; Memory ID2: Manufacturer Name 2, where Memory ID2: 5678, Manufacturer Name: EFGH.

[0093] If the processor obtains the target memory module's identifier as 1111, it can directly retrieve the manufacturer's name (ABCC) from the SPI Flash code area, allowing it to continue with the power-on self-test (POST) and then proceed with hardware initialization and operating system booting. If the processor obtains the target memory module's identifier as 1234, although it cannot retrieve the manufacturer's name from the SPI Flash code area, it can obtain it from the SPI Flash data area (ABCD). In this case, the processor can continue with the POST and then proceed with hardware initialization and operating system booting.

[0094] As can be seen, in this embodiment of the application, after the storage device is inserted into the computing device and the computing device is powered on, not only can the BIOS program be obtained from the first storage device, but also the target identity information matching the inserted storage device can be obtained from the first storage device. Therefore, the method of this embodiment can shorten the identification cycle of the target identity information of the storage device and improve identification efficiency without requiring a BIOS program upgrade.

[0095] It should be noted that the computing device in this embodiment further includes a third storage device, which stores a configuration file containing identity information. In this case, the processor can obtain the configuration file containing the identity information from the second storage device, and obtain identity information from one or more storage devices from the configuration file containing the identity information.

[0096] By storing identity information in a configuration file on a third storage device, the processor can import identity information from multiple storage devices in batches, thus simplifying the process of importing identity information from storage devices. Here, the first and second storage devices can be the same device or different devices; please refer to the relevant descriptions above for details.

[0097] The processor in this embodiment can select different methods to obtain the identity information of the execution storage device. For example, it can perform the memory identity configuration operation in the BIOS configuration interface, or it can perform the memory identity configuration operation in the interface call interface, or it can perform the memory identity configuration operation in the out-of-band configuration interface of the operating system.

[0098] In one possible implementation, the identity information of the storage device in this embodiment is input to the first storage device through the configuration interface of the BIOS program. At this time, in response to opening the configuration interface of the BIOS program, the processor displays the configuration interface and, in response to input operations on the configuration interface, obtains the identity information of one or more storage devices, thereby writing this identity information of the storage devices into the first storage device.

[0099] Taking a server as an example, you can install a new memory module after powering off the server, and then power on the server. During the startup process, the server can enter the BIOS configuration interface using a hotkey (such as a shortcut key). Figures 4A-4D The diagram illustrates different stages of a memory identity configuration operation within the BIOS program configuration interface according to an embodiment of this application. The following is in conjunction with... Figures 4A-4D Provide examples.

[0100] like Figure 4AAs shown, when manually entering the memory module's identity information, configuration control 401 can be set in the BIOS program's configuration interface 400. Triggering configuration control 401 displays the memory module configuration interface 402. In the memory module configuration interface 402, the identity information of the memory module can be filled in according to the prompts. For example, as... Figure 4B As shown, the editable memory ID1 and manufacturer name can be imported by clicking the "Add" control, and as follows... Figure 4C The memory ID1 shown is "1234", and the manufacturer name is "ABCD".

[0101] If you need to add more identity information for new memory modules, you can also click on... Figure 4C The "Add" control shown adds the memory module's identity information to the memory module configuration interface 402, and refers to... Figure 4C Editing was performed, and the result is as follows: Figure 4D As shown, edit the memory ID1 to "5678" and the manufacturer name to "EFGH". Repeating this process allows you to add one or more new memory module identifiers in the memory module configuration interface (402).

[0102] like Figure 4A As shown, when automatically inputting the identity information of memory modules, a configuration control 401 can be set in the BIOS program's configuration interface 400. When the processor detects the click on the configuration control 401, it can automatically scan the accessible area of ​​the third-party storage device, obtain a configuration file containing identity information in a specified format (such as FAT32 or EXT format), and parse this configuration file to obtain the identity information of multiple memory modules. For example, when clicking... Figure 4A After a 401 error in the configuration control, an example can be shown. Figure 4C or Figure 4D The memory module configuration interface 402 is shown, and the identity information of the obtained memory module is displayed in the memory module configuration interface 402.

[0103] For example, when the memory identity configuration file includes the identity information of a memory module, it can be displayed. Figure 4C The memory module configuration interface 402 shown can be displayed when the memory identity configuration file includes identity information for two or more memory modules. Figure 4D The memory module configuration interface shown is 402.

[0104] like Figure 4DAs shown, after entering the memory module's identity information in the memory module configuration interface 402, the identity information of one or more memory modules can be submitted to the processor by clicking the "Save" control. The processor can then submit the identity information of one or more memory modules to the server, and the server can add the information to the SPI Flash data area based on the identity information of one or more memory modules. Figure 5 The list of memory manufacturers shown is 500. For example, enter the following in the memory configuration interface 402: Figure 4D When showing the identity information of the memory stick, Figure 5 In the first storage device, ID1: Name1 = 1234: ABCD and ID2: Name2 = 5678: EFGH. Therefore, compared to manually editing the identity information of the memory module, the process of inputting the identity information of the memory module by scanning the third storage device is simpler, thereby effectively improving the efficiency of writing the identity information of the memory module into the first storage device.

[0105] When the server restarts, the processor can obtain the memory module ID from the memory module inserted into the computing device. If the manufacturer name of the installed memory module cannot be found in the code area of ​​the SPI Flash based on the memory module ID, the manufacturer name of the memory module can be obtained from the data area of ​​the SPI Flash, and the manufacturer name and ID of the memory module are reported to SMBIOS type 17.

[0106] As can be seen, the embodiments of this application can write the identity information (memory manufacturer ID and manufacturer name) of the memory module into the first storage device through the configuration interface of the BIOS program, so as to realize the identification of the manufacturer name of the new memory module without the need to release a new version of the BIOS.

[0107] It should be noted that the manufacturer name of the memory module can also be modified according to actual needs in this embodiment. For example, if it is necessary to modify the manufacturer name of the memory module in the data area of ​​the SPI Flash, the manufacturer name of the memory module entered in the memory module configuration interface 402 can be used as the standard to update the manufacturer name corresponding to the same memory manufacturer ID in the data area of ​​the SPI Flash.

[0108] In one possible implementation, the computing device in this embodiment of the application further includes a BMC. In this case, the identity information of one or more storage devices can be obtained through the BMC and written to the first storage device.

[0109] When the BMC is directly connected to the first storage device, after obtaining the identity information of one or more storage devices, the BMC can directly store the identity information of one or more storage devices into the first storage device. Here, the BMC can refer to the relevant description above to write the identity information of one or more storage devices into the first storage device.

[0110] When the BMC is indirectly connected to the first storage device, it is also connected to the processor. In this case, the BMC can obtain the identity information of one or more storage devices and send it to the processor, which then writes it into the first storage device.

[0111] The BMC in this application embodiment obtains the identity information of the storage device in various ways. The following uses a server as an example to illustrate the identification process combined with the identity information of the memory module.

[0112] The first approach involves the computing device providing out-of-band Redfish functionality, allowing the BMC to input memory module identification information into the BMC using its out-of-band configuration tools. These out-of-band configuration tools can be tools like curl or postman, which are used to input the memory module identification information into the BMC. In other words, the memory module identification information can be input into the BMC via out-of-band configuration tools, enabling the processor to retrieve this information from the BMC.

[0113] Optionally, when there are multiple memory modules whose identity information is input to the BMC, the identity information of multiple memory modules can be input to the BMC through an out-of-band configuration tool, so that the processor can read the identity information of multiple memory modules from the BMC and then write it to the first storage device.

[0114] After the server is powered off, new memory modules can be inserted and the server restarted. During the restart process, the processor can read the identification information of multiple memory modules from the BMC and store this information in the SPI Flash data area. Afterward, if the server restarts, the processor can retrieve the memory module ID from the inserted memory module. If the manufacturer name of the inserted memory module is not found in the SPI Flash code area based on the memory module ID, the processor can retrieve the manufacturer name from the SPI Flash data area and report both the manufacturer name and the memory module ID to SMBIOS Type 17.

[0115] In this embodiment, information input from out-of-band configuration tools such as curl or postman can be defined as a Redfish configuration file. Figure 6 This illustration shows a schematic diagram of the process of storing the Redfish configuration file to the data area of ​​the SPI Flash according to an embodiment of this application. Figure 6 As shown, Redfish configuration file 601 includes the identity information of two memory modules. The processor can add the identity information of the two memory modules included in Redfish configuration file 601 to the list of added manufacturers 602.

[0116] In a local area network, computing devices can be divided into master computing devices and slave computing devices according to their roles. For master computing devices and slave computing devices, the configuration operation includes the operation of inputting memory identity configuration information to the BMC through out-of-band configuration tools.

[0117] In the second approach, the computing device in this embodiment is a slave computing device controlled by a master computing device. In this case, the BMC receives identity information from one or more storage devices distributed by the master computing device. That is, the master computing device can batch-import the identity information of storage devices into the BMCs of different slave computing devices through distribution, thereby simplifying the process of the BMCs in different slave computing devices obtaining the identity information of the storage devices.

[0118] Optionally, when both the master computing device and the slave computing device include a BMC and a processor, after the BMC of the master computing device obtains the identity information of the storage device, it can directly distribute the identity information of the storage device to the BMCs of different slave computing devices, thereby batch inputting the identity information of the storage device into the BMCs of different slave computing devices.

[0119] Figure 7 This diagram illustrates a structure for the batch distribution of identity information from storage devices by a primary computing device, using a local area network (LAN) as an example. Figure 7 As shown, the local area network 700 includes a master computing device 701 and several slave computing devices 702. Both the master computing device 701 and the slave computing devices 702 include a CPU, as well as SPI Flash, memory modules, and a BMC, all of which are communicatively connected to the CPU. It should be understood that... Figure 7 Only one slave computing device 702 is shown in the diagram, but in reality there may be multiple slave computing devices 702.

[0120] like Figure 7 As shown, the Redfish configuration file can be sent to the BMC of the main computing device 701 via the out-of-band configuration tool 703. On the one hand, the BMC of the main computing device 701 can send the Redfish configuration file to the CPU of the main computing device 701, and the CPU of the main computing device 701 references... Figure 6 The identity information of the memory module included in the Redfish configuration file is saved to the SPI Flash of the master computing device 701. Meanwhile, the BMC of the master computing device 701 sends the Redfish configuration file to the BMC of the slave computing device 702. The BMC of the slave computing device 702 then sends the Redfish configuration file to the CPU of the slave computing device 702. The CPU of the slave computing device 702 references... Figure 6The identity information of the memory modules included in the Redfish configuration file is saved to the SPI Flash of the computing device 702.

[0121] like Figure 7 As shown, before the BMC of the master computing device 701 sends the Redfish configuration file to the BMC of the slave computing device 702, it is necessary to obtain the address information of several BMCs of the slave computing device 702, and then distribute the Redfish configuration file to several BMCs of the slave computing devices 702 based on the address information of several BMCs of the slave computing devices 702.

[0122] As can be seen, the embodiments of this application input the identity information of the memory module into the BMC of the master computing device in the form of a Redfish configuration file through an out-of-band configuration tool. This allows for the customization of adding the identity information of the memory module to the data area of ​​the SPI Flash, and also enables the batch distribution of Redfish configuration files to the BMCs of different slave computing devices, thereby reducing the complexity of inputting the identity information of the memory module to different slave computing devices.

[0123] It should be noted that the manufacturer's name of the memory module can also be modified according to actual needs in this embodiment. For example, if it is necessary to modify the manufacturer's name of the memory module in the data area of ​​the SPI Flash, the identity information of the memory module in the data area of ​​the SPI Flash can be updated based on the identity information of the memory module included in the Redfish configuration file.

[0124] In one possible implementation, the processor in this embodiment of the application can, in response to input operations on the configuration interface of the operating system in the computing device, obtain the identity information of one or more storage devices and write it to the first storage device. In this case, when the operating system is detected to have loaded successfully, the processor can input the identity information of these storage devices through an in-band configuration tool in the operating system of the computing device, so that the identity information of these storage devices can be directly written to the first storage device.

[0125] In this embodiment of the application, the identity information of the storage device input by the in-band configuration tool can be defined as an OS configuration file. The identity information of the storage device includes the identity information of one or more memory modules (the ID and manufacturer name of the memory module).

[0126] Figure 8 This illustration shows a schematic diagram of the process of storing the OS configuration file to the data area of ​​the SPI Flash according to an embodiment of this application. Figure 8As shown, taking a server as an example, when the server is powered off, a new memory module is installed on the server, and then the server is powered on again. When the server enters the operating system, the OS configuration file 801 can be reported to the processor through the in-band configuration tool. The processor adds the OS configuration file 801 to the added vendor list 802 in the data area of ​​the SPI Flash, and this addition can support the addition of the identity information of multiple memory modules.

[0127] When the server restarts, the processor can obtain the memory module ID from the memory module inserted into the computing device through the BIOS. If the manufacturer name of the memory module inserted into the computing device cannot be found in the code area of ​​the SPI Flash based on the memory module ID, the manufacturer name of the memory module can be obtained from the data area of ​​the SPI Flash, and the manufacturer information and the manufacturer ID of the memory module are reported to smbios type17.

[0128] In one possible implementation, Figure 9 This illustration shows a diagram illustrating the source of the added vendor list in an embodiment of this application. For example... Figure 9 As shown, the content of the added manufacturer list 904 in this application embodiment can come from the content 901 of the memory module configuration interface introduced by the configuration control of the BIOS configuration interface, the content contained in the Redfish configuration file 902, and the content contained in the OS configuration file 903.

[0129] By adding the memory module's identity information to the existing manufacturer list 904 using the three methods described above, the issue of being unable to parse the memory module's manufacturer name from the SPI Flash code area can be resolved when introducing new memory modules. Furthermore, adding it to the SPI Flash data area also solves the information persistence problem, eliminating the need to rewrite the memory module's identity information even after a server restart. This method also eliminates the need to update the BIOS program version when introducing new memory module manufacturer information, thereby improving the efficiency of parsing the memory module's manufacturer name from the SPI Flash.

[0130] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.

Claims

1. A method of identifying a storage device, characterized by, Applied to a computing device comprising a first storage device for storing a BIOS program, the method comprises: Obtaining identity information of one or more storage devices and writing into the first storage device; In the case of power-on start of the computing device, executing the BIOS program and obtaining target identity information from the first storage device, the target identity information matching the storage device inserted into the computing device.

2. The method of claim 1, wherein, The identity information of the storage device is input by a configuration interface of the BIOS program.

3. The method of claim 1, wherein, The obtaining of the identity information of one or more storage devices and writing into the first storage device comprises: In response to input operation of a configuration interface of an operating system in the computing device, obtaining the identity information of the one or more storage devices and writing into the first storage device.

4. The method of claim 1, wherein, The computing device further comprises a processor and a baseboard management controller, and the obtaining of the identity information of one or more storage devices and writing into the first storage device comprises: Obtaining the identity information of the one or more storage devices by the baseboard management controller and sending to the processor, and the processor writing the identity information of the one or more storage devices into the first storage device; Or, obtaining the identity information of one or more storage devices by the baseboard management controller and writing into the first storage device.

5. The method of claim 1, wherein, The first storage device stores historical identity information of the storage device, and the method further comprises: Obtaining an identity change instruction, the identity change instruction indicating to update the historical identity information of the storage device; Based on the identity change instruction, updating the historical identity information in the first storage device.

6. The method according to any one of claims 1 to 5, characterized in that, The first storage device stores pre-made identity information of the storage device, and the obtaining of target identity information from the first storage device comprises: In the case of not finding target identity information from the pre-made identity information, querying the target identity information from the identity information of one or more storage devices stored in the first storage device.

7. The method according to any one of claims 1 to 5, characterized in that, The identity information of the storage device contains an identity identifier, and the storage device inserted into the computing device contains a target identity identifier, and the obtaining of target identity information from the first storage device comprises: Obtaining the target identity identifier of the storage device from the storage device inserted into the computing device, and based on the target identity identifier, obtaining the target identity information from the identity information of one or more storage devices in the first storage device.

8. The method according to any one of claims 1 to 5, characterized in that, The method further comprises: Sending the identity information of the storage device inserted into the computing device to a display device for display.

9. A computing device, comprising: Comprise: A processor and a first storage device, the processor and the first storage device being in communication connection, the first storage device being used for storing a BIOS program and identity information of one or more storage devices; The processor executes the BIOS program in the case of power-on start of the computing device, and obtains target identity information from the first storage device, the target identity information matching the storage device inserted into the computing device.

10. The computing device of claim 9, wherein, The computing device further comprises a baseboard management controller connected in communication with the processor; The baseboard management controller is configured to obtain identity information of one or more storage devices and send the identity information to the processor, and the processor is configured to write the identity information of the one or more storage devices into the first storage device; Or, the baseboard management controller is configured to obtain identity information of one or more storage devices and write the identity information into the first storage device.