Operating system acquisition method and server

By using protocol conversion between CPU and UFS device in a computing server, OS is stored in UFS devices, which solves the problem of high cost of NVMe SSD hard disk, reduces server costs and improves operating speed and reliability.

CN115586925BActive Publication Date: 2025-08-19XFUSION DIGITAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211145030.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-20
Publication Date
2025-08-19
Estimated Expiration
2042-09-20

AI Technical Summary

Technical Problem

Computing servers have high cost to configure large capacity NVMe SSD hard disks, which cannot meet the low cost requirements, and the existing technology has failed to effectively reduce the storage costs of the operating system.

Method used

The CPU communicates with the protocol conversion device through the first protocol, and the protocol conversion device communicates with the UFS device through the second protocol, realizes information protocol conversion, so that the UFS device recognizes instructions and returns to the OS, and the CPU acquires the OS and stores it in the UFS device, reducing costs.

Benefits of technology

Effectively reduce server costs, ensure server running speed and OS storage reliability, UFS equipment cost is about 1/6 of NVMe SSD hard disk, with high bandwidth and reliability, shortening program startup time and improving stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115586925B_ABST
    Figure CN115586925B_ABST
Patent Text Reader

Abstract

The present application provides an operating system acquisition method and server, which relate to the field of operating system technology. In this method, by setting the communication between the CPU and the protocol conversion device through the first protocol, the communication between the protocol conversion device and the UFS device through the second protocol, and the protocol conversion device being able to convert the information based on the first protocol into information based on the second protocol, the UFS device can recognize the first instruction sent by the server, and the CPU can recognize the OS returned by the UFS device. After the server is powered on, the CPU obtains the OS from the UFS device through the protocol conversion device, thereby running the OS. Since the OS program OS is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the cost of the server is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, on the basis of reducing the cost of the server, the speed of the server operation and the storage reliability of the OS are further guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of server operating systems, and in particular to an operating system acquisition method and a server. Background Art

[0002] As the proportion of cloud-based data center deployments increases, most servers are beginning to use remote distributed storage, eliminating the need for servers to have large hard drives for local storage. Because these servers are typically used to perform computing tasks for upper-layer applications, they are also called computing servers.

[0003] In order to minimize the number of hard drives in computing servers, computing servers are typically equipped with large-capacity non-volatile memory express (NVMe) solid-state drives (SSDs) for installing operating system (OS) programs. However, the high cost of configuring such large-capacity NVMe SSDs for computing servers does not meet the low-cost requirements of computing servers. Summary of the Invention

[0004] The embodiments of the present application provide an operating system acquisition method and a server, which can effectively reduce the cost of the server.

[0005] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:

[0006] In a first aspect, a method for obtaining an operating system is provided for a server, the server including a central processing unit (CPU), a universal flash storage (UFS device) and a protocol conversion device, wherein the CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol, the protocol conversion device being used to convert information based on the first protocol into information based on the second protocol, and the UFS device storing the server's operating system (OS); the method comprising: the CPU sending a first instruction to the UFS device via the protocol conversion device; the first instruction being used to instruct loading the OS; and the CPU receiving the OS returned by the UFS device via the protocol conversion device.

[0007] In this solution, by configuring communication between the CPU and a protocol converter using a first protocol, and between the protocol converter and the UFS device using a second protocol, the protocol converter converts information based on the first protocol into information based on the second protocol, enabling the UFS device to recognize the first instruction sent by the server and the CPU to recognize the OS returned by the UFS device. After the server is powered on, the CPU sends a first instruction to the UFS device via the protocol converter, instructing it to load the OS, and receives the OS returned by the UFS device via the protocol converter, thereby running the OS. This operating system acquisition method effectively reduces server costs by storing the OS on the UFS device, which is much cheaper than an NVMe SSD. Given the same capacity, the cost of a UFS device is approximately one-sixth of that of an NVMe SSD, effectively reducing server costs. Based on this, the operating system acquisition method provided in this embodiment of the present application can also reduce the cost of computing servers with a small number of hard drives. Furthermore, because UFS devices have relatively high bandwidth and reliability, this reduces the cost of computer servers while further ensuring server speed and OS storage reliability.

[0008] In one possible implementation, the CPU sends a first instruction to the UFS device through the protocol conversion device, including: the processor firmware in the CPU sends the first instruction to the UFS device through the protocol conversion device; the first instruction is specifically used to instruct the kernel program of the OS to be loaded; the CPU receives the OS returned by the UFS device through the protocol conversion device, including: the processor firmware in the CPU receives the kernel program of the OS returned by the UFS device through the protocol conversion device.

[0009] In this implementation, the processor firmware retrieves the kernel program from the UFS device via a protocol converter, thereby enabling the kernel program to run. Since the kernel program is stored on the UFS device, which is much cheaper than an NVMe SSD, the storage cost of the kernel program is effectively reduced. Furthermore, due to the high bandwidth and reliability of UFS devices, while reducing costs, it also helps to quickly retrieve the kernel program, shorten the kernel program startup time, and improve the kernel program's stability.

[0010] In another possible implementation, after the CPU runs the kernel program, the method further includes: the kernel program in the CPU sends a second instruction to the UFS device through a protocol conversion device; the second instruction is used to instruct the loading of the OS startup program; and the kernel program in the CPU receives the startup program returned by the UFS device through the protocol conversion device.

[0011] In this implementation, after the OS kernel program runs, the kernel program retrieves the OS boot program from the UFS device via a protocol converter, thereby running the boot program. Since the boot program is stored on the UFS device, which is much cheaper than an NVMe SSD, the storage cost of the application is effectively reduced. Furthermore, due to the high bandwidth and reliability of UFS devices, while reducing costs, it also helps to quickly obtain the boot program, shorten the boot program startup time, and improve the stability of the boot program.

[0012] In another possible implementation, after the CPU runs the startup program, the method further includes: the startup program in the CPU sends a third instruction to the UFS device through a protocol conversion device; the third instruction is specifically used to instruct an application to load the OS; and the startup program in the CPU receives the application returned by the UFS device through the protocol conversion device.

[0013] In this implementation, after the OS boot program runs, it retrieves the OS application from the UFS device via a protocol converter, thereby running the application. Since the application is stored on the UFS device, which is much cheaper than an NVMe SSD, the storage cost of the application is effectively reduced. Furthermore, due to the high bandwidth and reliability of UFS devices, while reducing costs, it also helps to quickly retrieve applications, shorten application startup time, and improve application stability.

[0014] In another possible implementation, after the CPU runs the application, the method further includes: the application in the CPU sends read and write instructions to the UFS device through a protocol conversion device; the read and write instructions are used to instruct the UFS device to read and write data; and the application in the CPU receives the read and write results of the read and write instructions returned by the UFS device through the protocol conversion device.

[0015] In this implementation, after the OS application is running, the application sends read and write instructions to the UFS device through the protocol conversion device to instruct the UFS device to read and write data, thereby storing data in the UFS device and reading data from the UFS device. This eliminates the need to configure a hard disk for storing data for the server, helping to further reduce server costs.

[0016] In another possible implementation, before the CPU sends the first instruction to the UFS device through the protocol conversion device, the method also includes: the CPU sends a first request to the protocol conversion device; the first request is used to request to obtain the device type stored in the protocol conversion device; the device type stored in the protocol conversion device is the device type of the UFS device; the CPU receives the device type of the UFS device returned by the protocol conversion device; the CPU loads the driver of the UFS device based on the device type of the UFS device; the CPU sends the first instruction to the UFS device through the protocol conversion device, including: the CPU calls the driver of the UFS device to send the first instruction to the UFS device through the protocol conversion device.

[0017] In this implementation, a specific implementation method for the CPU to identify UFS devices is provided. By storing the device type of the UFS device in the protocol conversion device, the CPU can successfully identify the UFS device and load the driver of the UFS device, thereby successfully establishing a communication link between the CPU and the UFS device. The CPU can call the driver of the UFS device to send information to the UFS device through the protocol conversion device, reducing the communication difficulty between the CPU and the UFS device. The implementation process is simple and convenient, and no hardware improvements are required, so the cost is low.

[0018] In another possible implementation, the first protocol includes a high-speed serial computer expansion bus standard PCIE protocol; the second protocol includes a universal flash storage UFS protocol.

[0019] In another possible implementation, the server further includes an out-of-band control chip, and the protocol conversion device is integrated into the out-of-band control chip.

[0020] In this implementation, the protocol conversion device is integrated into the server's own out-of-band control chip, eliminating the need for an additional chip to package the protocol conversion device. Therefore, it does not occupy too much space on the mainboard and does not require additional peripheral circuits. The design is simple, which helps reduce costs.

[0021] In another possible implementation, the server further includes a south bridge chip, and the protocol conversion device is integrated into the south bridge chip.

[0022] In this implementation, the protocol conversion device is integrated into the south bridge chip of the server, so there is no need to configure an additional chip for packaging the protocol conversion device. Therefore, it does not occupy too much space on the motherboard and does not require additional peripheral circuits. The design is simple and helps to reduce costs.

[0023] In another possible implementation, the protocol conversion device is specifically a protocol conversion chip, and the protocol conversion chip is integrated on a mainboard of the server.

[0024] In this implementation, the protocol conversion device is packaged using a dedicated chip, thereby helping to ensure the stability and reliability of the protocol conversion device.

[0025] In another possible implementation, the protocol conversion device includes: a PCIE interface, a UFS interface and a protocol conversion module; the PCIE interface is used to connect to the CPU; the UFS interface is used to connect to the UFS; one end of the protocol conversion module is connected to the PCIE interface, and the other end is connected to the UFS interface; the protocol conversion module is used to convert information based on the first protocol into information based on the second protocol.

[0026] In this implementation, a specific implementation form of a protocol conversion device is provided. The protocol conversion device includes a PCIE interface, a UFS interface, and a protocol conversion module. In this way, the protocol conversion device can be connected to the CPU through the PCIE interface and to the UFS device through the UFS interface, thereby becoming a data conversion channel between the CPU and the UFS, allowing the CPU and the UFS to communicate.

[0027] In a second aspect, a method for obtaining an operating system is provided for a server, which includes a central processing unit (CPU), a universal flash storage (UFS) device, and a protocol conversion device. The CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device communicates with the UFS device via a second protocol. The protocol conversion device is used to convert information based on the first protocol into information based on the second protocol. The UFS device stores the server's operating system (OS). The method includes: the protocol conversion device receives a first instruction following a first protocol sent by the CPU; the first instruction is used to instruct loading the OS; the protocol conversion device converts the first instruction following the first protocol into a first instruction following the second protocol, and sends the first instruction following the second protocol to the UFS device; the protocol conversion device receives the OS following the second protocol returned by the UFS device, and converts the OS following the second protocol into an OS following the first protocol; the protocol conversion device returns the OS following the first protocol to the CPU.

[0028] In this solution, the CPU and protocol conversion device communicate via a first protocol, while the protocol conversion device and the UFS device communicate via a second protocol. The protocol conversion device can convert information based on the first protocol into information based on the second protocol. After the server is powered on, the protocol conversion device converts a first instruction sent by the CPU that complies with the first protocol into a first instruction that complies with the second protocol, and sends it to the UFS device, allowing the UFS device to accurately identify the content indicated by the first instruction. Furthermore, the protocol conversion device converts an operating system (OS) sent by the UFS device that complies with the second protocol into an OS that complies with the first protocol and sends it to the CPU, allowing the CPU to accurately identify the contents of the OS. This allows the CPU to retrieve the OS from the UFS device and run the OS. This operating system retrieval method, because the OS is stored in the UFS device and the protocol conversion device enables the CPU to retrieve the OS from the UFS device, effectively reduces server costs. Therefore, the operating system retrieval method provided in this embodiment of the application can also reduce the cost of computing servers with a small number of hard drives when applied to them. Furthermore, because UFS devices have relatively high bandwidth and reliability, this reduces server costs while further ensuring server speed and OS storage reliability.

[0029] In one possible implementation, the protocol conversion device receives a first instruction that complies with a first protocol and is sent by a CPU, including: the protocol conversion device receives a first instruction that complies with the first protocol and is sent by processor firmware in the CPU; the first instruction is specifically used to instruct the kernel program of the OS to be loaded; the protocol conversion device receives an OS that complies with a second protocol and is returned by a UFS device, including: the protocol conversion device receives the kernel program of the OS that complies with the second protocol and is returned by the UFS device.

[0030] In this implementation, the protocol conversion device converts the first instruction that complies with the first protocol sent by the processor firmware into a first instruction that complies with the second protocol, and sends it to the UFS device, so that the UFS device can accurately identify the content indicated by the first instruction. In addition, by converting the kernel program that complies with the first protocol sent by the UFS device into a kernel program that complies with the first protocol, and sending it to the processor firmware, the processor firmware can accurately identify the content of the kernel program, thereby enabling the processor firmware to successfully obtain the recognizable kernel program from the UFS device and implement the running of the kernel program. Since the kernel program is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the kernel program is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, while reducing costs, it also helps to quickly obtain the kernel program, shorten the startup time of the kernel program, and improve the stability of the kernel program.

[0031] In another possible implementation, after the CPU runs the kernel program, the method further includes: a protocol conversion device receives a second instruction that complies with the first protocol and is sent by the kernel program in the CPU; the second instruction is used to instruct the loading of a startup program for the OS; the protocol conversion device converts the second instruction that complies with the first protocol into a second instruction that complies with the second protocol, and sends the second instruction that complies with the second protocol to the UFS device; the protocol conversion device receives the startup program that complies with the second protocol and is returned by the UFS device, and converts the startup program that complies with the second protocol into a startup program that complies with the first protocol; the protocol conversion device returns the startup program that complies with the first protocol to the kernel program in the CPU.

[0032] In this implementation, the protocol conversion device converts the second instruction that complies with the first protocol sent by the kernel program into a second instruction that complies with the second protocol, and sends it to the UFS device, so that the UFS device can accurately identify the content indicated by the second instruction. In addition, by converting the boot program that complies with the first protocol sent by the UFS device into a boot program that complies with the first protocol, and sending it to the kernel program, the kernel program can accurately identify the content of the boot program, thereby enabling the kernel program to successfully obtain a recognizable boot program from the UFS device and to run the boot program. Since the boot program is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the boot program is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, while reducing costs, it also helps to quickly obtain the boot program, shorten the startup time of the boot program, and improve the stability of the boot program.

[0033] In another possible implementation, after the CPU runs the startup program, the method also includes: a protocol conversion device receives a third instruction that complies with the first protocol and is sent by the startup program in the CPU; the third instruction is used to instruct an application program to load the OS; the protocol conversion device converts the third instruction that complies with the first protocol into a third instruction that complies with the second protocol, and sends the third instruction that complies with the second protocol to the UFS device; the protocol conversion device receives an application that complies with the second protocol and is returned by the UFS device, and converts the application that complies with the second protocol into an application that complies with the first protocol; the protocol conversion device returns the application that complies with the first protocol to the startup program in the CPU.

[0034] In this implementation, the protocol conversion device converts the third instruction that complies with the first protocol sent by the startup program into a third instruction that complies with the second protocol and sends it to the UFS device, so that the UFS device can accurately identify the content indicated by the third instruction. In addition, by converting the application that complies with the second protocol sent by the UFS device into an application that complies with the first protocol and sending it to the startup program, the startup program can accurately identify the content of the application, thereby enabling the startup program to successfully obtain the recognizable application from the UFS device and implement the running of the application. Since the application is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the application is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, while reducing costs, it also helps to quickly obtain applications, shorten the startup time of applications, and improve the stability of applications.

[0035] In another possible implementation, after the CPU runs the application, the method further includes: a protocol conversion device receives read and write instructions that comply with the first protocol and are sent by the application in the CPU, where the read and write instructions are used to instruct the UFS device to read and write data; the protocol conversion device converts the read and write instructions that comply with the first protocol into read and write instructions that comply with the second protocol; the protocol conversion device sends read and write instructions that comply with the second protocol to the UFS device; the protocol conversion device receives read and write results of the read and write instructions that comply with the second protocol and are returned by the UFS device; the protocol conversion device converts the read and write results that comply with the second protocol into read and write results that comply with the first protocol; and the protocol conversion device returns the read and write results that comply with the first protocol to the application in the CPU.

[0036] In this implementation, the protocol conversion device converts the read and write instructions sent by the application program in accordance with the first protocol into read and write instructions in accordance with the second protocol and sends the instructions to the UFS device, so that the UFS device can accurately identify the content indicated by the read and write instructions. Thereafter, the protocol conversion device converts the read and write results sent by the UFS device in accordance with the second protocol into read and write results in accordance with the first protocol and sends the instructions to the application program, so that the application program can accurately identify the content indicated by the read and write results, thereby realizing data storage in the UFS device and reading data from the UFS device, thereby eliminating the need to configure a hard disk for storing data for the server, which helps to further reduce the cost of the server.

[0037] In another possible implementation, before the protocol conversion device receives the first instruction sent by the CPU that complies with the first protocol, the method also includes: the protocol conversion device receives a first request sent by the CPU, the first request is used to request to obtain the device type stored in the protocol conversion device; the device type stored in the protocol conversion device is the device type of the UFS device; the protocol conversion device returns the device type of the UFS device to the CPU in response to the first request.

[0038] In this implementation, by storing the device type of the UFS device in the protocol conversion device, the CPU can successfully identify the UFS device and load the driver of the UFS device, thereby successfully establishing a communication link between the CPU and the UFS device. The CPU can call the driver of the UFS device to send information to the UFS device through the protocol conversion device, thereby reducing the communication difficulty between the CPU and the UFS device. The implementation process is simple and convenient, and no hardware improvements are required, so the cost is low.

[0039] According to a third aspect, a method for obtaining an operating system is provided for a server, the server including a central processing unit (CPU), a universal flash storage (UFS) device, and a protocol conversion device. The CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol. The protocol conversion device is used to convert information based on the first protocol into information based on the second protocol. The UFS device stores the server's operating system (OS). The method includes: the UFS device receiving a first instruction sent by the CPU via the protocol conversion device; the first instruction is used to instruct the loading of the OS; and the UFS device returns the OS to the CPU via the protocol conversion device.

[0040] In this solution, by setting up communication between the CPU and the protocol conversion device through a first protocol, communication between the protocol conversion device and the UFS device through a second protocol, and the protocol conversion device being able to convert information based on the first protocol into information based on the second protocol. After the server is powered on, the UFS device receives the first instruction sent by the CPU to load the OS through the protocol conversion device, and returns the OS to the CPU through the protocol conversion device, so that the CPU can run the OS. This operating system acquisition method, because the OS is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, under the same capacity, the cost of the UFS device is about 1 / 6 of the NVMe SSD hard drive, thereby effectively reducing the cost of the server. Based on this, the operating system acquisition method provided in the embodiment of the present application can also reduce the cost of the computing server when applied to a computing server with a small number of hard drives. In addition, since the bandwidth and reliability of the UFS device are relatively high, on the basis of reducing the cost of the computer server, it further guarantees the speed of the server operation and the storage reliability of the OS.

[0041] In one possible implementation, the UFS device receives a first instruction sent by the CPU through the protocol conversion device, including: the UFS device receives the first instruction sent by the processor firmware of the CPU through the protocol conversion device, the first instruction being specifically used to instruct the loading of the kernel program of the OS; the UFS device returns the OS to the CPU through the protocol conversion device, including: the UFS device returns the kernel program of the OS to the processor firmware of the CPU through the protocol conversion device.

[0042] In this implementation, the UFS device receives the first instruction sent by the processor firmware to load the kernel program through the protocol conversion device, and returns the kernel program to the processor firmware through the protocol conversion device, so that the processor firmware can run the kernel program. Since the kernel program is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the kernel program is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, while reducing costs, it also helps to quickly obtain the kernel program, shorten the startup time of the kernel program, and improve the stability of the kernel program.

[0043] In another possible implementation, after the CPU runs the kernel program, the method further includes: the UFS device receives a second instruction sent by the kernel program in the CPU through a protocol conversion device; the second instruction is used to instruct the loading of the OS startup program; and the UFS device returns the startup program to the CPU through the protocol conversion device.

[0044] In this implementation, the UFS device receives the second instruction sent by the kernel program to load the boot program through the protocol conversion device, and returns the boot program to the kernel program through the protocol conversion device, so that the kernel program can run the boot program. Since the boot program is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the boot program is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, while reducing costs, it also helps to quickly obtain the boot program, shorten the startup time of the boot program, and improve the stability of the boot program.

[0045] In another possible implementation, after the CPU runs the startup program, the method further includes: the UFS device receives a third instruction sent by the startup program in the CPU through a protocol conversion device, the third instruction being used to instruct an application program to load the OS; and the UFS device returns the application program to the startup program in the CPU through the protocol conversion device.

[0046] In this implementation, the UFS device receives the third instruction sent by the boot program to load the application through the protocol conversion device, and returns the application to the CPU through the protocol conversion device, so that the boot program can run the application. Since the application is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the internal application is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, it helps to quickly obtain the application, shorten the application startup time, and improve the stability of the application while reducing costs.

[0047] In another possible implementation, after the CPU runs the application, the method further includes: the UFS device receives read and write instructions sent by the application in the CPU through a protocol conversion device; the read and write instructions are used to instruct the UFS device to read and write data; the UFS device executes the read and write instructions; and the UFS device returns the read and write results of the read and write instructions to the application in the CPU through the protocol conversion device.

[0048] In this implementation, the UFS device receives read and write instructions sent by the application through a protocol conversion device, and after completing the read and write instructions, returns the read and write results to the CPU through the protocol conversion device, thereby realizing the storage and reading of data in the UFS device, thereby eliminating the need to configure a hard disk for storing data for the server, which helps to further reduce the cost of the server.

[0049] In a fourth aspect, an operating system acquisition device is provided, comprising: functional units configured to execute any one of the methods provided in the first aspect, wherein the actions executed by each functional unit are implemented via hardware or via hardware executing corresponding software implementations. For example, the operating system acquisition device may comprise: a sending unit configured to send a first instruction to a UFS device via a protocol conversion device; the first instruction being configured to instruct the loading of an OS; and a receiving unit configured to receive the OS returned by the UFS device via the protocol conversion device.

[0050] In a fifth aspect, an operating system acquisition device is provided, comprising: functional units for executing any one of the methods provided in the second aspect, wherein the actions performed by each functional unit are implemented through hardware or through hardware executing corresponding software implementations. For example, the operating system acquisition device may include: a receiving unit, a conversion unit, and a sending unit; the receiving unit is configured to receive a first instruction in accordance with a first protocol sent by a CPU; the first instruction is configured to instruct the loading of an OS; the conversion unit is configured to convert the first instruction in accordance with the first protocol into a first instruction in accordance with a second protocol; the sending unit is configured to send the first instruction in accordance with the second protocol to a UFS device; the receiving unit is further configured to receive an OS in accordance with the second protocol returned by the UFS device; the conversion unit is further configured to convert the OS in accordance with the second protocol into an OS in accordance with the first protocol; and the sending unit is further configured to return the OS in accordance with the first protocol to the CPU.

[0051] In a sixth aspect, an operating system acquisition device is provided, comprising: functional units configured to execute any one of the methods provided in the third aspect, wherein the actions executed by each functional unit are implemented in hardware or by hardware executing corresponding software implementations. For example, the operating system acquisition device may comprise: a receiving unit and a sending unit; the receiving unit being configured to receive a first instruction sent by a CPU via a protocol conversion device; the first instruction being configured to instruct the loading of an OS; and the sending unit being configured to return the OS to the CPU via the protocol conversion device.

[0052] In a seventh aspect, a server is provided, comprising: a central processing unit (CPU), a protocol conversion device, and a universal flash storage (UFS) device. The CPU is configured to execute any one of the methods provided in the first aspect; the protocol conversion device is configured to execute any one of the methods provided in the second aspect; and the universal flash storage (UFS) device is configured to execute any one of the methods provided in the third aspect.

[0053] In an eighth aspect, a server is provided, comprising: a processor and a memory, the processor being connected to the memory. The memory is configured to store computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory, thereby implementing any one of the methods provided in the first aspect, any one of the methods provided in the second aspect, or any one of the methods provided in the third aspect.

[0054] In the ninth aspect, a chip is provided, which includes: a processor and an interface circuit; the interface circuit is used to receive code instructions and transmit them to the processor; the processor is used to run the code instructions to execute any one of the methods provided in the first aspect above, or execute any one of the methods provided in the second aspect above, or execute any one of the methods provided by the third party above.

[0055] In the tenth aspect, a computer-readable storage medium is provided, which stores computer execution instructions. When the computer execution instructions are run on a server, the server executes any one of the methods provided in the first aspect, or executes any one of the methods provided in the second aspect, or executes any one of the aspects provided in the third aspect.

[0056] In the eleventh aspect, a computer program product is provided, comprising computer execution instructions. When the computer execution instructions are run on a server, the server executes any one of the methods provided in the first aspect, or any one of the methods provided in the second aspect, or any one of the methods provided in the third aspect.

[0057] Among them, the technical effects brought about by any implementation method in the fourth to eleventh aspects can refer to the technical effects brought about by different implementation methods in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 A schematic diagram of a server provided in an embodiment of the present application;

[0059] Figure 2 An architectural diagram of a server provided in an embodiment of the present application;

[0060] Figure 3 An architectural diagram of another server provided in an embodiment of the present application;

[0061] Figure 4 An architectural diagram of another server provided in an embodiment of the present application;

[0062] Figure 5 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0063] Figure 6 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0064] Figure 7 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0065] Figure 8 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0066] Figure 9 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0067] Figure 10 A flowchart of another operating system acquisition method provided in an embodiment of the present application;

[0068] Figure 11 A schematic diagram of an operating system acquisition device provided in an embodiment of the present application;

[0069] Figure 12 A schematic diagram of another operating system acquisition device provided in an embodiment of the present application;

[0070] Figure 13 A schematic diagram of another operating system acquisition device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.

[0072] In the description of this application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.

[0073] Furthermore, in the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.

[0074] In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0075] First, the application scenarios of the embodiments of the present application are exemplarily introduced.

[0076] As the proportion of cloud-based data center deployments increases, most servers are beginning to use remote distributed storage, eliminating the need for servers to have large hard drives for local storage. Because these servers are typically used to perform computing tasks for upper-layer applications, they are also called computing servers.

[0077] like Figure 1 As shown, to minimize the number of hard drives in computing servers, related technologies typically configure computing servers with large-capacity non-volatile memory express (NVMe) solid-state drives (SSDs) for installing the operating system. For other data that needs to be stored, remote storage methods, such as remote distributed storage, can be used.

[0078] However, the capacity of this type of NVMe SSD hard drive usually reaches about 960GB and is relatively expensive, so it cannot meet the low-cost requirements of computing servers.

[0079] In view of this, embodiments of the present application provide an operating system acquisition method. By configuring communication between a CPU and a protocol conversion device using a first protocol, and communication between the protocol conversion device and a UFS device using a second protocol, the protocol conversion device is capable of converting information based on the first protocol into information based on the second protocol, enabling the UFS device to recognize a first instruction sent by a server and the CPU to recognize the OS returned by the UFS device. After the server is powered on, the CPU sends a first instruction to the UFS device via the protocol conversion device, instructing it to load the OS, and receives the OS returned by the UFS device via the protocol conversion device, thereby running the OS. This operating system acquisition method effectively reduces server costs by storing the OS on a UFS device, which is significantly less expensive than an NVMe SSD. For the same capacity, the cost of a UFS device is approximately one-sixth of that of an NVMe SSD, effectively reducing server costs. Therefore, the operating system acquisition method provided in embodiments of the present application can also reduce the cost of computing servers with a small number of hard drives. Furthermore, because UFS devices offer high bandwidth and reliability, this reduces the cost of computer servers while further ensuring server speed and OS storage reliability.

[0080] Next, the system architecture of the embodiment of the present application is exemplarily introduced.

[0081] The operating system acquisition method provided in the embodiment of the present application is applicable to network devices such as servers and personal computers.

[0082] Below, taking a server as an example, the operating system acquisition method provided in the embodiment of the present application is exemplarily described.

[0083] like Figure 2 The figure shows a system architecture diagram of a server provided by an embodiment of the present application. The server includes a central processing unit (CPU), a universal flash storage (UFS) device, a protocol conversion device, a south bridge chip, and an out-of-band control chip. The protocol conversion device, the south bridge chip, and the out-of-band control chip are respectively connected to the CPU via a first bus, and the UFS device is connected to the protocol conversion device via a second bus. The first bus follows a first protocol, and the second bus follows a second protocol, and the first protocol and the second protocol are different protocols.

[0084] Optionally, the first protocol includes a PCIE protocol, the second protocol includes a UFS protocol, the first bus includes a PCIE bus, and the second bus includes a UFS bus.

[0085] It should be noted that the first protocol and the second protocol may also be other types of protocols, and the embodiments of the present application do not limit the specific types of the first protocol and the second protocol. Correspondingly, the first bus and the second bus may also be other types of buses, and the embodiments of the present application do not limit the specific types of the first bus and the second bus.

[0086] In the following, the operating system acquisition method of the embodiment of the present application is exemplarily described by taking the case where the first protocol is the PCIE protocol, the second protocol is the UFS protocol, the first bus is the PCIE bus, and the second bus is the UFS bus as an example.

[0087] The following, Figure 2 The software involved is described as an example.

[0088] Processor firmware, also known as processor firmware, is the most basic software code stored in a computer's hardware system. It configures the hardware and prepares it for the operating system (OS). The main functions of processor firmware include power-up, self-test, CPU initialization, memory initialization, input / output device and bootable device detection, and ultimately booting the operating system (OS).

[0089] The processor firmware program may be stored in the CPU, or the processor firmware program may be stored in a storage chip (eg, a flash chip) connected to the CPU via a first bus.

[0090] Exemplarily, the processor firmware (also referred to as the processor firmware program) may be firmware, a basic input output system (BIOS), a management engine (ME), microcode, or an intelligent management unit (IMU). It should be noted that the embodiments of the present application do not limit the specific form of the processor firmware, and the above is merely an exemplary description. In the following embodiments, only the processor firmware being the BIOS is used as an example for illustration.

[0091] It should be noted that the processor firmware described below executing a certain step (such as the following step S601) can be understood as: the CPU calls the processor firmware program to execute the step.

[0092] The operating system OS includes operating system program codes, such as the OS kernel program, the OS startup program, and OS application programs, etc. The operating system may be an operating system of the type Linux, Windows, or vxWarks.

[0093] The operating system OS is stored in the UFS device.

[0094] It should be noted that the OS described below executing a certain step (such as the following step S801 ) can be understood as: the CPU calls the OS to execute the step.

[0095] The following, Figure 2 The hardware involved is described as an example.

[0096] UFS devices are server system disks that store the operating system (OS), including kernel programs, boot programs, and applications. Applications are primarily used for process management, memory management, file management, network management, and driver management, such as SSH, Vim, and Firefox.

[0097] The UFS device communicates with the protocol conversion device through the second protocol.

[0098] It should be noted that the communication between the UFS device and the protocol conversion device through the second protocol means that the protocol conversion device and the UFS device are connected using a second bus that complies with the second protocol, and the protocol followed by the information exchanged between the protocol conversion device and the UFS device is the second protocol.

[0099] An out-of-band control chip enables remote maintenance and management of the server through a dedicated data channel. This out-of-band control chip is completely independent of the server's central processing unit (CPU) and can communicate with the basic input and output system (BIOS) (processor firmware) and the OS (or OS management unit) through the server's out-of-band management interface.

[0100] Exemplarily, the out-of-band control chip may include a monitoring management unit external to the computer device, a management system in a management chip external to the processor, a computer device baseboard management unit (baseboard management controller, BMC), a system management module (system management mode, SMM), etc. It should be noted that the embodiments of the present application do not limit the specific form of the out-of-band control chip, and the above is only an example. In the following embodiments, only the out-of-band control chip including the BMC is used as an example for description.

[0101] The south bridge chip is one of the chips in the personal computer motherboard chipset architecture, used to process low-speed signals.

[0102] The CPU and the protocol conversion device communicate with each other through the first protocol, and are used to convert information following the first protocol into information following the second protocol, and convert information following the second protocol into information following the first protocol.

[0103] The CPU and the protocol conversion device communicate via the first protocol, which means that the CPU and the protocol conversion device are connected using a first bus that complies with the first protocol, and the protocol followed by the information exchanged between the CPU and the protocol conversion device is the first protocol.

[0104] Optionally, the protocol conversion device includes: a PCIE interface, a UFS device interface and a protocol conversion module.

[0105] The PCIE interface is used to connect to a CPU, for example, an X86 / ARM (Advanced RISC Machines) version of the CPU, so as to transmit information compliant with the PCIE protocol converted by the protocol conversion module to the CPU via the PCIE channel. It should be noted that the embodiments of the present application do not limit the protocol version followed by the PCIE interface. For example, the PCIE interface can be an interface that follows a protocol version such as PCIE 4.0 or PCIE 5.0.

[0106] The UFS interface is used to connect to a UFS device. It should be noted that the embodiments of the present application do not limit the protocol version followed by the UFS interface. For example, the UFS interface can be an interface that follows protocol versions such as UFS4.0 and UFS5.0. Among them, the maximum bandwidth of UFS4.0 can reach 5800MB / s.

[0107] One end of the protocol conversion module is connected to the PCIE interface, and the other end is connected to the UFS interface. It is used to convert information based on the first protocol into information based on the second protocol, and vice versa, and can achieve the effect of protocol conversion with almost no bandwidth loss. For example, it can convert information based on the PCIE protocol into information based on the UFS protocol, and vice versa.

[0108] In some embodiments, as Figure 2 As shown, the protocol conversion device is integrated into a protocol conversion chip, which is integrated into the mainboard of the server and connected to the CPU via a first bus.

[0109] In other embodiments, the protocol conversion device is integrated into a component connected to the CPU, such as an out-of-band control chip, a south bridge chip, or other component connected to the CPU.

[0110] For example, Figure 3 As shown, the protocol conversion device is integrated into the out-of-band control chip, and the UFS device is connected to the out-of-band control chip via a second bus. Since the out-of-band control chip in the related art is configured with a PCIE interface, the protocol conversion device can reuse the PCIE interface in the out-of-band control chip, eliminating the need for a separate PCIE interface. In other words, only the protocol conversion module and the UFS interface module need to be configured separately in the out-of-band control chip.

[0111] For example, Figure 4 As shown, the protocol conversion device is integrated into the south bridge chip, and the UFS device is connected to the south bridge chip through the second bus.

[0112] It should be noted that the principle of integrating the protocol conversion device into the south bridge chip is the same as the principle of integrating the protocol conversion device into the south bridge chip. Therefore, for the relevant instructions on integrating the protocol conversion device into the south bridge chip, please refer to the relevant instructions on integrating the protocol conversion device into the out-of-band control chip mentioned above, which will not be described in detail here.

[0113] It should be noted that the embodiments of the present application do not limit the form of the protocol conversion device.

[0114] It can be understood that the system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0115] For ease of understanding, the following is an exemplary introduction to the operating system acquisition method provided by this application in conjunction with the accompanying drawings. The operating system acquisition method is applicable to Figures 2 to 4 The server shown.

[0116] The following embodiments of this application will be divided into four parts to exemplarily introduce the process of the operating system acquisition method.

[0117] Part I: Combining Figure 5 This section describes how the CPU's processor firmware identifies a UFS device.

[0118] Part II, Combination Figure 6 The process of the processor firmware in the CPU obtaining the kernel program of the OS from the UFS device is exemplified.

[0119] Part III: Combination Figure 7 This section describes the process by which the CPU kernel recognizes UFS devices.

[0120] Part 4: Combination Figure 8 This paper introduces the process of the CPU kernel program obtaining the OS boot program from the UFS device. Figure 9 This section describes how the CPU boot program identifies a UFS device.

[0121] Part 6: Combination Figure 10 The process of the CPU boot program obtaining the application program from the UFS device is described in detail.

[0122] Figure 5 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S501-S505.

[0123] S501: The processor firmware in the CPU sends a first request to the protocol conversion device.

[0124] The first request is used to request to obtain the device type stored in the protocol conversion device.

[0125] Since the protocol conversion device is connected to the CPU through the PCIE bus, and the protocol conversion device can identify information that complies with the PCIE protocol and is sent by the CPU through the PCIE bus, and send information that complies with the PCIE protocol to the CPU through the PCIE bus, the protocol conversion device belongs to a PCIE device.

[0126] In addition, since PCIE devices in related technologies all have independent configuration spaces, the protocol converter also has an independent configuration space. The protocol converter's configuration space stores the bus number, device number, and function number. The bus number is the number of the PCIE bus connecting the CPU and the protocol converter, the device number is the number of the UFS device, and the function number is used to indicate the function of the UFS device, that is, the storage function.

[0127] After the server is powered on, the CPU first reads and runs the processor firmware. Once the processor firmware begins running, it begins loading PCIE devices. During this process, the processor firmware sends initialization instructions to the PCIE devices connected to the CPU via the PCIE bus, notifying all PCIE devices to enter a standby state. The processor firmware then scans the PCIE devices using a depth-first algorithm, reading the information in each PCIE device's configuration space. Based on this information, the processor firmware identifies multiple storage-type devices from among all PCIE devices. Because the function number stored in the protocol converter's configuration space indicates a storage function, the processor firmware identifies the protocol converter as a storage-type device.

[0128] After discovering multiple storage devices connected to the CPU, the processor firmware discovers the UFS device from the multiple storage devices, and then searches for the OS kernel program from the UFS device.

[0129] In some embodiments, the processor firmware sends a first request to the protocol conversion device via the PCIE bus, where the first request is used to request to obtain the device type stored in the protocol conversion device, thereby determining the UFS device according to the device type.

[0130] It should be noted that S501 is equivalent to a specific implementation of "the CPU sending a first request to the protocol conversion device".

[0131] S502: The protocol conversion device receives a first request sent by the processor firmware in the CPU.

[0132] In some embodiments, the protocol conversion device receives a first request sent by processor firmware in the CPU through a PCIE interface.

[0133] It should be noted that S502 is equivalent to a specific implementation of "the protocol conversion device receives the first request sent by the CPU".

[0134] S503: The protocol conversion apparatus returns the device type of the UFS device to the processor firmware in the CPU in response to the first request.

[0135] Optionally, the device type stored in the protocol switching device is a device type of a UFS device.

[0136] In some embodiments, after receiving the first request, the protocol switching device directly returns the device type of the UFS device to the processor firmware through the PCIE bus in response to the first request.

[0137] It should be noted that S503 is equivalent to a specific implementation of "the protocol conversion device returns the device type of the UFS device to the CPU in response to the first request."

[0138] S504: The processor firmware in the CPU receives the device type of the UFS device returned by the protocol conversion device.

[0139] In some embodiments, the processor firmware determines that a UFS device is discovered based on a device type of the UFS device.

[0140] It should be noted that S504 is equivalent to a specific implementation of "the CPU receiving the device type of the UFS device returned by the protocol conversion device".

[0141] S505: The processor firmware in the CPU loads a driver for the UFS device based on the device type of the UFS device.

[0142] In some embodiments, after determining that a UFS device is found, the processor firmware calls a driver of the UFS device from the processor firmware chip and loads the driver of the UFS device.

[0143] Since the driver of the UFS device is equivalent to the external interface of the UFS device, after the processor firmware loads the driver of the UFS device, it can establish a communication connection with the UFS device through the driver and control the operation of the UFS device.

[0144] It should be noted that S505 is equivalent to a specific implementation of "the CPU loading the driver of the UFS device based on the device type of the UFS device."

[0145] In the above embodiment, by setting the device type stored in the protocol conversion device to the device type of the UFS device, the CPU can successfully identify the UFS device and load the driver of the UFS device, thereby successfully establishing a communication link between the CPU and the UFS device, so that the CPU can send information to the UFS device through the protocol conversion device by calling the driver of the UFS device, thereby reducing the communication difficulty between the CPU and the UFS device, and the implementation process is simple and convenient, without the need for hardware improvements, and the cost is low.

[0146] The above is an explanation of the solution for the processor firmware to identify the UFS device. The following describes the solution for the processor firmware to obtain the OS kernel program from the UFS device after identifying the UFS device.

[0147] Figure 6 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S601-S605.

[0148] S601: The processor firmware in the CPU calls a driver of the UFS device to send a first instruction to the protocol conversion apparatus.

[0149] The first instruction is used to instruct the kernel program of the OS to be loaded and complies with the first protocol.

[0150] In some embodiments, the processor firmware in the CPU calls the driver, and the driver sends the first instruction to the UFS device through the protocol conversion device, thereby enabling the processor firmware to send the first instruction to the UFS device through the protocol conversion device.

[0151] For example, the processor firmware calls a driver, and the driver sends a first instruction that complies with the PCIE protocol to the protocol conversion device through the PCIE bus.

[0152] Optionally, before S601, the method further includes:

[0153] S600a: The processor firmware in the CPU sends a first addressing instruction to the UFS device through the protocol conversion device.

[0154] The first addressing instruction is used to indicate and determine the storage address of the kernel program.

[0155] In some embodiments, after the processor identifies the UFS device, it sends a first addressing instruction that complies with the PCIE protocol to the protocol conversion device through the PCIE bus. After receiving the first addressing instruction that complies with the PCIE protocol, the protocol conversion device converts the first addressing instruction that complies with the PCIE protocol into a first addressing instruction that complies with the UFS device protocol, and then sends the first addressing instruction that complies with the UFS device protocol to the UFS device.

[0156] S600b: The processor firmware in the CPU receives the storage address of the kernel program returned by the UFS device through the protocol switching device.

[0157] In some embodiments, after receiving a first addressing instruction that complies with the UFS device protocol, the UFS device parses the first addressing instruction that complies with the UFS device protocol based on the UFS device protocol and determines that the content indicated by the first addressing instruction is the storage address of the kernel program. After determining the storage address of the kernel program, the UFS device sends the storage address that complies with the UFS device protocol to a protocol conversion device via the UFS device bus. After receiving the storage address that complies with the UFS device protocol, the protocol conversion device converts the storage address that complies with the UFS device protocol into a storage address that complies with the PCIE protocol, and then sends the storage address that complies with the PCIE protocol to the processor firmware.

[0158] Optionally, the first instruction includes a storage address of the kernel program.

[0159] By setting the first instruction to include the storage address of the kernel program, the UFS device can determine the kernel program according to the storage address, which helps to improve the accuracy and speed of kernel program determination.

[0160] S602: The protocol conversion device receives a first instruction sent by the processor firmware in the CPU.

[0161] In some embodiments, the PCIE interface of the protocol adapter receives a first instruction complying with the PCIE protocol through a PCIE bus.

[0162] It should be noted that the first instruction following the PCIE protocol and the first instruction following the UFS device only differ in data format, and the contents indicated by the two are the same.

[0163] It should be noted that S602 can be considered as a specific implementation of "the protocol conversion device receives a first instruction that complies with a first protocol and is sent by the CPU; the first instruction is used to instruct loading of the OS."

[0164] S603: The protocol conversion apparatus forwards the first instruction sent by the processor firmware in the CPU to the UFS device.

[0165] In some embodiments, the protocol conversion module of the protocol conversion device converts the first instruction that complies with the PCIE protocol into a first instruction that complies with the UFS protocol, and the UFS interface of the protocol conversion device sends the first instruction that complies with the UFS protocol to the UFS device through the UFS bus.

[0166] It should be noted that S603 can be considered as a specific implementation of "the protocol conversion apparatus sends a first instruction that complies with the second protocol to the UFS device."

[0167] It should be noted that S601-S603 is equivalent to a specific implementation of "the CPU sends a first instruction to the UFS device through the protocol conversion device; the first instruction is used to instruct to load the OS."

[0168] S604: The UFS device receives the first instruction sent by the processor firmware in the CPU and forwarded by the protocol conversion apparatus.

[0169] In some embodiments, a UFS device receives a first instruction that complies with the UFS protocol via a UFS bus. Since the UFS device complies with the UFS protocol, the UFS device can parse the first instruction that complies with the UFS protocol based on the UFS protocol and determine that the content indicated by the first instruction is a kernel program for loading an OS.

[0170] It should be noted that S601-S604 is equivalent to a specific implementation of "the UFS device receives a first instruction sent by the CPU through the protocol conversion device; the first instruction is used to instruct loading the OS."

[0171] S605: The UFS device returns the kernel program to the protocol conversion apparatus.

[0172] In some embodiments, the UFS device sends a kernel program that complies with the UFS protocol to the protocol conversion device through the UFS bus.

[0173] In one example, the first instruction includes a storage address of the kernel program, and the UFS device returns the content indicated by the storage address to the processor firmware.

[0174] In another example, the first instruction does not include the storage address of the kernel program. The UFS device first determines the storage address of the kernel program, and then returns the content indicated by the storage address to the processor firmware.

[0175] S606: The protocol conversion apparatus receives the kernel program returned by the UFS device.

[0176] In some embodiments, the UFS interface of the protocol conversion device receives a kernel program that complies with the UFS protocol from the UFS device via the UFS bus. Thereafter, the protocol conversion module of the protocol conversion device converts the kernel program that complies with the UFS protocol into a kernel program that complies with the PCIE protocol.

[0177] It should be noted that S606 can be considered as a specific implementation of "the protocol conversion apparatus receives the OS compliant with the second protocol sent by the UFS device."

[0178] S607: The protocol conversion device forwards the kernel program sent by the UFS device to the processor firmware in the CPU.

[0179] In some embodiments, the PCIE interface of the protocol conversion device sends a kernel program that complies with the PCIE protocol to the processor firmware through the PCIE bus.

[0180] It should be noted that S607 can be considered as a specific implementation of "the protocol conversion device sends the OS complying with the first protocol to the CPU".

[0181] It should be noted that S605-S607 is equivalent to a specific implementation of "the UFS device sends the OS to the CPU through the protocol conversion device".

[0182] S608: The processor firmware in the CPU receives the kernel program of the OS sent by the UFS device and forwarded by the protocol conversion device.

[0183] In some embodiments, the processor firmware receives the kernel program that complies with the PCIE protocol returned by the protocol conversion device via the PCIE bus. Since the protocol followed by the CPU is the PCIE protocol, the CPU can parse the kernel program that complies with the PCIE protocol based on the PCIE protocol and run the kernel program, thereby starting the operating system.

[0184] It should be noted that the principle of the processor firmware running the kernel program is the same as the principle of the CPU running the kernel program in the related art. For example, the processor firmware loads the kernel program into the server's memory and runs the kernel program, which will not be described in detail here.

[0185] It should be noted that S605-S608 is equivalent to a specific implementation of "the CPU receiving the OS returned by the UFS device through the protocol conversion device".

[0186] In the above embodiment, the processor firmware obtains the kernel program from the UFS device through the protocol conversion device, thereby realizing the operation of the kernel program. Since the kernel program is stored in the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the kernel program is effectively reduced. In addition, since the bandwidth and reliability of the UFS device are relatively high, it helps to quickly obtain the kernel program, shorten the startup time of the kernel program, and improve the stability of the kernel program while reducing costs.

[0187] The above is an explanation of the kernel program scheme for the processor firmware to interact with the UFS device and obtain the OS from the UFS device. The following describes the kernel program scheme for the processor firmware to run the kernel program and then identify the UFS device.

[0188] Figure 7 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S701-S705.

[0189] S701: The kernel program in the CPU sends a first request to the protocol conversion device.

[0190] The first request is used to request to obtain the device type stored in the protocol conversion device.

[0191] It should be noted that S701 is equivalent to another specific implementation of "the CPU sends a first request to the protocol conversion device".

[0192] S702: The protocol conversion device receives a first request sent by the kernel program in the CPU.

[0193] It should be noted that S702 is equivalent to another specific implementation of "the protocol conversion device receives the first request sent by the CPU".

[0194] S703: The protocol conversion apparatus returns the device type of the UFS device to the kernel program in the CPU in response to the first request.

[0195] It should be noted that S703 is equivalent to another specific implementation of "the protocol conversion device returns the device type information of the UFS device to the CPU in response to the first request."

[0196] S704: The kernel program in the CPU receives the device type of the UFS device returned by the protocol conversion device.

[0197] It should be noted that S704 is equivalent to another specific implementation of "the CPU receiving the device type of the UFS device returned by the protocol conversion device".

[0198] S705: The kernel program in the CPU loads the driver of the UFS device based on the device type of the UFS device.

[0199] It should be noted that S705 is equivalent to a specific implementation method of "the CPU loads the driver of the UFS device based on the device type of the UFS device."

[0200] It should be noted that the implementation principle of S701-S705 is the same as that of S501-S505. Therefore, for the implementation process and related instructions of S701-S705, please refer to the above S501-S505 and will not be described in detail here.

[0201] The following describes a scheme in which the kernel program recognizes the UFS device and then obtains the OS boot program from the UFS device.

[0202] Figure 8 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S801-S808.

[0203] S801: The kernel program in the CPU calls the driver of the UFS device to send a second instruction to the protocol conversion device.

[0204] The second instruction is used to instruct loading of a startup program.

[0205] S802: The protocol conversion device receives a second instruction sent by the kernel program in the CPU.

[0206] S803: The protocol conversion apparatus forwards the second instruction sent by the kernel program in the CPU to the UFS device.

[0207] S804: The UFS device receives the second instruction sent by the kernel program in the CPU and forwarded by the protocol conversion apparatus.

[0208] S805: The UFS device returns the startup procedure to the protocol conversion apparatus.

[0209] S806: The protocol conversion apparatus receives the startup program returned by the UFS device.

[0210] S807: The protocol conversion device forwards the startup program returned by the UFS device to the kernel program in the CPU.

[0211] S808: The kernel program in the CPU receives the startup program returned by the UFS device and forwarded by the protocol conversion device.

[0212] It should be noted that the implementation principle of S801-S808 is the same as that of S601-S608. Therefore, for the implementation process and related instructions of S801-S808, please refer to the above S601-S608 and will not be described in detail here.

[0213] The above is an explanation of how the OS kernel interacts with the UFS device and obtains the OS boot program from the UFS device. The following describes how the OS boot program recognizes the UFS device after the kernel runs the OS boot program.

[0214] Figure 9 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S901-S905.

[0215] S901: The startup program in the CPU sends a first request to the protocol conversion device.

[0216] The first request is used to request to obtain the device type stored in the protocol conversion device.

[0217] It should be noted that S901 is equivalent to another specific implementation of "the CPU sends a first request to the protocol conversion device".

[0218] S902: The protocol conversion device receives a first request sent by the startup program in the CPU.

[0219] It should be noted that S902 is equivalent to another specific implementation of "the protocol conversion device receives the first request sent by the CPU".

[0220] S903: The protocol conversion apparatus returns the device type of the UFS device to the boot program in the CPU in response to the first request.

[0221] It should be noted that S903 is equivalent to another specific implementation of "the protocol conversion device returns the device type information of the UFS device to the CPU in response to the first request."

[0222] S904: The startup program in the CPU receives the device type of the UFS device returned by the protocol conversion device.

[0223] It should be noted that S904 is equivalent to another specific implementation of "the CPU receiving the device type of the UFS device returned by the protocol conversion device".

[0224] S905: The startup program in the CPU loads the driver of the UFS device based on the device type of the UFS device.

[0225] It should be noted that S905 is equivalent to a specific implementation method of "the CPU loads the driver of the UFS device based on the device type of the UFS device."

[0226] It should be noted that the implementation principle of S901-S905 is the same as that of S501-S505. Therefore, for the implementation process and related instructions of S901-S905, please refer to the above S501-S505 and will not be described in detail here.

[0227] The following describes a method in which the boot program recognizes the UFS device and then obtains the OS application from the UFS device.

[0228] Figure 10 This is a flow chart of a method for obtaining an operating system according to an exemplary embodiment. Exemplarily, the method includes: S1001-S1008.

[0229] S1001: The startup program in the CPU calls the driver of the UFS device to send a third instruction to the protocol conversion device.

[0230] The third instruction is used to instruct loading of an application program.

[0231] S1002: The protocol conversion device receives a third instruction sent by the startup program in the CPU.

[0232] S1003: The protocol conversion apparatus forwards the third instruction sent by the boot program in the CPU to the UFS device.

[0233] S1004: The UFS device receives the third instruction sent by the boot program in the CPU and forwarded by the protocol conversion device.

[0234] S1005: The UFS device returns the application to the protocol conversion apparatus.

[0235] S1006: The protocol conversion apparatus receives the application program returned by the UFS device.

[0236] S1007: The protocol conversion device forwards the application program returned by the UFS device to the startup program in the CPU.

[0237] S1008: The startup program in the CPU receives the application program returned by the UFS device and forwarded by the protocol conversion device.

[0238] It should be noted that the implementation principle of S1001-S1008 is the same as that of S601-S608. Therefore, for the implementation process and related instructions of S1001-S1008, please refer to the above S601-S608 and will not be described in detail here.

[0239] In the above embodiment, the processor firmware retrieves the OS application from the UFS device via the protocol conversion device, thereby running the application. Since the application is stored on the UFS device, and the cost of the UFS device is much lower than that of the NVMe SSD hard drive, the storage cost of the application is effectively reduced. In addition, due to the high bandwidth and reliability of the UFS device, while reducing costs, it also helps to quickly obtain the application, shorten the application startup time, and improve the stability of the application.

[0240] Optionally, after the CPU runs the application, the method further includes:

[0241] S1009: The application in the CPU sends a read / write instruction to the UFS device through the protocol conversion device.

[0242] The read and write instructions are used to instruct the UFS device to read and write data.

[0243] S1010: The UFS device receives a read / write instruction sent by an application in the CPU through a protocol conversion device.

[0244] S1011: The UFS device executes read and write instructions.

[0245] In some embodiments, after receiving a read / write instruction, the UFS device parses the read / write instruction and then performs reading and writing according to the content indicated by the read / write instruction.

[0246] S1012: The UFS device returns the read and write results of the read and write instructions to the application in the CPU through the protocol conversion device.

[0247] In some embodiments, after the UFS device executes the read and write instructions, it returns the read and write results to the application through the protocol conversion device.

[0248] S1013: The application program of the CPU receives the read and write results of the read and write instructions returned by the UFS device through the protocol conversion device.

[0249] It should be noted that the implementation principle of S1009-S1013 is the same as that of S601-S608. Therefore, for the implementation process of S1009-S1013, reference can be made to the above S601-S608, which will not be described in detail here.

[0250] In this implementation, after the CPU runs the application, it sends read and write instructions to the UFS device through the protocol conversion device to instruct the UFS device to read and write data, thereby storing data in the UFS device and reading data from the UFS device. This eliminates the need to configure a hard disk for storing data for the server, helping to further reduce server costs.

[0251] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, the operating system acquisition device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0252] In the embodiment of the present application, the operating system acquisition device can be divided into functional modules according to the above method. For example, the operating system acquisition device can include various functional modules corresponding to the various functional divisions, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.

[0253] For example, Figure 11 A possible structural diagram of an operating system acquisition device (denoted as operating system acquisition device 110) involved in the above embodiment is shown. The operating system acquisition device is used for a server, and the server includes a central processing unit CPU, a universal flash storage UFS device and a protocol conversion device. The CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol. The protocol conversion device is used to convert information based on the first protocol into information based on the second protocol. The server's operating system OS is stored in the UFS device. The operating system acquisition device includes a sending unit 111 and a receiving unit 112. The sending unit 111 is used to send a first instruction to the UFS device through the protocol conversion device; the first instruction is used to instruct the loading of the OS. For example, Figure 6 S601-S603 shown. The receiving unit 112 is used to receive the OS returned by the UFS device through the protocol conversion device. For example, Figure 6 S605-S608 shown.

[0254] Optionally, the first instruction is specifically used to instruct loading of the kernel program of the OS; the receiving unit 112 is specifically used to: receive the kernel program of the OS returned by the UFS device through the protocol conversion device.

[0255] Optionally, after the kernel program is run, the sending unit 111 is further used to: send a second instruction to the UFS device through the protocol conversion device; the second instruction is used to instruct the loading of the OS startup program; the receiving unit 112 is further used to: receive the startup program returned by the UFS device through the protocol conversion device.

[0256] Optionally, after the startup program is run, the sending unit 111 is further used to: send a third instruction to the UFS device through the protocol conversion device; the third instruction is used to instruct the application program to load the OS; the receiving unit 112 is further used to: receive the application program returned by the UFS device through the protocol conversion device.

[0257] Optionally, after being run within the application, the sending unit 111 is further used to: send read and write instructions to the UFS device through the protocol conversion device, where the read and write instructions are used to instruct the UFS device to read and write data; the receiving unit 112 is further used to: receive the read and write results of the read and write instructions returned by the UFS device through the protocol conversion device.

[0258] Optionally, the sending unit 111 is further used to: send a first request to the protocol conversion device, the first request being used to request obtaining the device type stored in the protocol conversion device; the device type stored in the protocol conversion device is the device type of the UFS device; the receiving unit 112 is further used to: receive the device type of the UFS device returned by the protocol conversion device; the receiving unit 112 is further used to: load the driver of the UFS device based on the device type of the UFS device; the sending unit 111 is further used to: call the driver of the UFS device to send a first instruction to the UFS device through the protocol conversion device.

[0259] Optionally, the first protocol includes a high-speed serial computer expansion bus standard PCIE protocol; the second protocol includes a universal flash storage UFS protocol.

[0260] Optionally, the server further includes an out-of-band control chip, and the protocol conversion device is integrated into the out-of-band control chip.

[0261] Optionally, the server further includes a south bridge chip, and the protocol conversion device is integrated into the south bridge chip.

[0262] Optionally, the protocol conversion device is specifically a protocol conversion chip, and the protocol conversion chip is integrated on a mainboard of the server.

[0263] Optionally, the protocol conversion device includes: a PCIE interface, the PCIE interface is used to connect to the CPU; a UFS interface, the UFS interface is used to connect to the UFS; a protocol conversion module, one end of the protocol conversion module is connected to the PCIE interface, and the other end is connected to the UFS interface; the protocol conversion module is used to convert information based on the first protocol into information based on the second protocol.

[0264] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above operating system acquisition devices 110 can refer to the above corresponding method embodiments, which will not be repeated here.

[0265] For example, Figure 12 A possible structural diagram of another operating system acquisition device (denoted as operating system acquisition device 120) involved in the above embodiment is shown. The operating system acquisition device is used for a server, and the server includes a central processing unit CPU, a universal flash storage UFS device and a protocol conversion device. The CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device communicates with the UFS device via a second protocol. The protocol conversion device is used to convert information based on the first protocol into information based on the second protocol. The server's operating system OS is stored in the UFS device. The operating system acquisition device includes a receiving unit 121, a conversion unit 122 and a sending unit 123. The receiving unit 121 is used to receive a first instruction sent by the CPU that complies with the first protocol; the first instruction is used to instruct the loading of the OS. For example, Figure 6 The conversion unit 122 is configured to convert the first instruction that complies with the first protocol into the first instruction that complies with the second protocol. The sending unit 123 is configured to send the first instruction that complies with the second protocol to the UFS device. For example, Figure 6 The receiving unit 121 is further configured to receive the OS that complies with the second protocol returned by the UFS device. For example, Figure 6 The conversion unit 122 is further configured to convert the OS that complies with the second protocol into the OS that complies with the first protocol. The sending unit 123 is further configured to return the OS that complies with the first protocol to the CPU. For example, Figure 6 S607 shown.

[0266] Optionally, the receiving unit 121 is specifically configured to: receive a first instruction in accordance with a first protocol sent by processor firmware in the CPU; the first instruction is specifically configured to instruct loading of an OS kernel program; and receive an OS kernel program in accordance with a second protocol returned by the UFS device.

[0267] Optionally, after the CPU runs the kernel program, the receiving unit 121 is further used to: receive a second instruction that complies with the first protocol and is sent by the kernel program in the CPU; the second instruction is used to instruct the loading of the OS startup program; the conversion unit 122 is further used to: convert the second instruction that complies with the first protocol into a second instruction that complies with the second protocol; the sending unit 123 is further used to: the UFS device sends the second instruction that complies with the second protocol; the receiving unit 121 is further used to: receive the startup program that complies with the second protocol and is returned by the UFS device; the conversion unit 122 is further used to: convert the startup program that complies with the second protocol into a startup program that complies with the first protocol; the sending unit 123 is further used to: return the startup program that complies with the first protocol to the kernel program in the CPU.

[0268] Optionally, after the CPU runs the startup program, the receiving unit 121 is further used to: receive a third instruction that complies with the first protocol sent by the application in the CPU; the third instruction is used to instruct the application to load the OS; the conversion unit 122 is further used to: convert the third instruction that complies with the first protocol into a third instruction that complies with the second protocol; the sending unit 123 is further used to: send the third instruction that complies with the second protocol to the UFS device; the receiving unit 121 is further used to: receive an application that complies with the second protocol returned by the UFS device; the conversion unit 122 is further used to: convert the application that complies with the second protocol into an application that complies with the first protocol; the sending unit 123 is further used to: return the application that complies with the first protocol to the OS in the CPU.

[0269] Optionally, after the CPU runs the application, the receiving unit 121 is further used to: receive read and write instructions in accordance with the first protocol sent by the CPU, where the read and write instructions are used to instruct the UFS device to read and write data; the conversion unit 122 is further used to: convert the read and write instructions in accordance with the first protocol into read and write instructions in accordance with the second protocol; the sending unit 123 is further used to: send the read and write instructions in accordance with the second protocol to the UFS device; the receiving unit 121 is further used to: receive the read and write results of the read and write instructions in accordance with the second protocol returned by the UFS device; the conversion unit 122 is further used to: convert the read and write results in accordance with the second protocol into read and write results in accordance with the first protocol; and the sending unit 123 is further used to: return the read and write results in accordance with the first protocol to the CPU.

[0270] Optionally, before the receiving unit 121 receives the first instruction sent by the CPU in accordance with the first protocol, the receiving unit 121 is further used to: receive a first request sent by the CPU, the first request being used to request acquisition of the device type stored in the protocol conversion device; the device type stored in the protocol conversion device is the device type of the UFS device; the sending unit 123 is further used to: return the device type of the UFS device to the CPU in response to the first request.

[0271] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above operating system acquisition devices 120 can refer to the above corresponding method embodiments, which will not be repeated here.

[0272] For example, Figure 13 A possible structural diagram of an operating system acquisition device (denoted as operating system acquisition device 130) involved in the above embodiment is shown. The operating system acquisition device is used for a server, and the server includes a central processing unit CPU, a universal flash storage UFS device and a protocol conversion device. The CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol. The protocol conversion device is used to convert information based on the first protocol into information based on the second protocol. The server's operating system OS is stored in the UFS device. The operating system acquisition device includes a receiving unit 131 and a sending unit 132. The receiving unit 131 is used to receive a first instruction sent by the CPU through the protocol conversion device; the first instruction is used to instruct the loading of the OS. For example, Figure 6 S601-S604 shown. The sending unit 132 is used to return the OS to the CPU through the protocol conversion device. For example, Figure 6 S605-S607 shown.

[0273] Optionally, the receiving unit 131 is specifically used to: receive a first instruction sent by the processor firmware of the CPU through the protocol conversion device, the first instruction being specifically used to instruct the loading of the kernel program of the OS; the sending unit 132 is specifically used to: return the kernel program of the OS to the processor firmware of the CPU through the protocol conversion device.

[0274] Optionally, after the CPU runs the kernel program, the receiving unit 131 is also used to: receive a second instruction sent by the kernel program in the CPU through the protocol conversion device; the second instruction is used to instruct the loading of the OS startup program; the sending unit 132 is also used to: return the startup program to the CPU through the protocol conversion device.

[0275] Optionally, after the CPU runs the startup program, the receiving unit 131 is also used to: receive a third instruction sent by the startup program in the CPU through the protocol conversion device, the third instruction is used to instruct the application program to load the OS; the sending unit 132 is also used to: return the application program to the startup program in the CPU through the protocol conversion device.

[0276] Optionally, the device also includes a processing unit 133; after the CPU runs the application, the receiving unit 131 is also used to: receive read and write instructions sent by the application in the CPU through the protocol conversion device; the read and write instructions are used to instruct the UFS device to read and write data; the processing unit 133 is used to execute the read and write instructions; the sending unit 132 is also used to: return the read and write results of the read and write instructions to the application in the CPU through the protocol conversion device.

[0277] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and beneficial effects of any of the above operating system acquisition devices 130 can be referred to the above corresponding method embodiments, which will not be repeated here.

[0278] An embodiment of the present application also provides a server, which includes a processor and a memory. The processor is connected to the memory, and the memory stores computer-executable instructions. When the processor executes the computer-executable instructions, the operating system acquisition method in the above embodiment is implemented.

[0279] The embodiments of the present application do not impose any restrictions on the specific form of the server. For example, the server can be a physical or logical server, or it can be two or more physical or logical servers that share different responsibilities and work together to implement the various functions of the server.

[0280] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is run on a server, the server executes any of the methods executed by the server provided above.

[0281] For explanations of the relevant contents and descriptions of the beneficial effects of any of the computer-readable storage media provided above, reference may be made to the corresponding embodiments described above, and no further details will be given here.

[0282] The embodiment of the present application also provides a chip. The chip integrates a control circuit and one or more ports for implementing the functions of the above-mentioned server. Optionally, the functions supported by the chip can be referred to above and will not be repeated here. A person of ordinary skill in the art will understand that all or part of the steps of implementing the above-mentioned embodiment can be completed by a program to instruct the relevant hardware. The program can be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The above-mentioned processing unit or processor can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field programmable gate array (FPGA) or other programmable logic device, transistor logic device, hardware component or any combination thereof.

[0283] The present application also provides a computer program product comprising instructions that, when executed on a server, cause the server to perform any of the methods described in the above embodiments. The computer program product comprises one or more computer instructions. When the computer program instructions are loaded and executed on the server, the process or functionality according to the present application is fully or partially generated.

[0284] It should be noted that the above-mentioned devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as but not limited to the above-mentioned memories, computer-readable storage media and communication chips, etc., are all non-transitory.

[0285] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the server, all or part of the process or function according to the embodiment of the present application is generated. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more servers that can be integrated with the medium. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)).

[0286] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0287] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.

Claims

1. A method for obtaining an operating system, characterized in that: For a server, the server includes a central processing unit (CPU), a universal flash storage (UFS) device, and a protocol conversion device, wherein the CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol, the protocol conversion device being configured to convert information based on the first protocol into information based on the second protocol, and the UFS device storing an operating system (OS) of the server; the method comprising: The processor firmware in the CPU sends a first instruction to the UFS device through the protocol conversion device; the first instruction is specifically used to instruct the kernel program of the OS to load; The processor firmware in the CPU receives the kernel program of the OS returned by the UFS device through the protocol conversion device.

2. The method according to claim 1, characterized in that After the CPU runs the kernel program, the method further includes: The kernel program in the CPU sends a second instruction to the UFS device through the protocol conversion device; the second instruction is used to instruct the startup program of the OS to load; The kernel program in the CPU receives the boot program returned by the UFS device through the protocol conversion device.

3. The method according to claim 2, characterized in that After the CPU runs the startup program, the method further includes: The boot program in the CPU sends a third instruction to the UFS device through the protocol conversion device; the third instruction is used to instruct the application program of the OS to load; The startup program in the CPU receives the application program returned by the UFS device through the protocol conversion device.

4. The method according to claim 3, characterized in that After the CPU runs the application, the method further includes: The application in the CPU sends a read / write instruction to the UFS device through the protocol conversion device; the read / write instruction is used to instruct the UFS device to read and write data; The application in the CPU receives the read and write results of the read and write instructions returned by the UFS device through the protocol conversion device.

5. The method according to any one of claims 1 to 4, characterized in that Before the CPU sends the first instruction to the UFS device through the protocol conversion device, the method further includes: The CPU sends a first request to the protocol conversion device; the first request is used to request to obtain the device type stored in the protocol conversion device; the device type stored in the protocol conversion device is the device type of the UFS device; The CPU receives the device type of the UFS device returned by the protocol conversion device; The CPU loads a driver of the UFS device based on a device type of the UFS device; The CPU sending the first instruction to the UFS device through the protocol conversion device includes: the CPU calling a driver of the UFS device to send the first instruction to the UFS device through the protocol conversion device.

6. The method according to any one of claims 1 to 4, characterized in that The first protocol includes a high-speed serial computer expansion bus standard PCIE protocol; The second protocol includes a Universal Flash Storage (UFS) protocol.

7. The method according to any one of claims 1 to 4, characterized in that The server further includes an out-of-band control chip, and the protocol conversion device is integrated into the out-of-band control chip.

8. The method according to any one of claims 1 to 4, characterized in that The server further comprises a south bridge chip, and the protocol conversion device is integrated into the south bridge chip.

9. The method according to any one of claims 1 to 4, characterized in that The protocol conversion device is specifically a protocol conversion chip, and the protocol conversion chip is integrated on the mainboard of the server.

10. The method according to any one of claims 1 to 4, characterized in that The protocol conversion device comprises: A PCIE interface, the PCIE interface is used to connect to the CPU; A UFS interface, the UFS interface being used to connect to the UFS; A protocol conversion module, one end of which is connected to the PCIE interface and the other end of which is connected to the UFS interface; the protocol conversion module is used to convert information based on the first protocol into information based on the second protocol.

11. A method for obtaining an operating system, characterized in that: For a server, the server includes a central processing unit (CPU), a universal flash storage (UFS) device, and a protocol conversion device, wherein the CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol, the protocol conversion device being configured to convert information based on the first protocol into information based on the second protocol, and the UFS device storing an operating system (OS) of the server; the method comprising: The protocol conversion device receives a first instruction that complies with the first protocol and is sent by the processor firmware in the CPU; the first instruction is specifically used to instruct the kernel program of the OS to be loaded; The protocol conversion device converts the first instruction complying with the first protocol into a first instruction complying with the second protocol, and sends the first instruction complying with the second protocol to the UFS device; The protocol conversion device receives the kernel program of the OS that complies with the second protocol and is returned by the UFS device, and converts the OS that complies with the second protocol into the OS that complies with the first protocol; The protocol conversion device returns the OS conforming to the first protocol to the CPU.

12. The method according to claim 11, characterized in that After the CPU runs the kernel program, the method further includes: The protocol conversion device receives a second instruction that complies with the first protocol and is sent by the kernel program in the CPU; the second instruction is used to instruct the startup program of the OS to load; The protocol conversion device converts the second instruction complying with the first protocol into a second instruction complying with the second protocol, and sends the second instruction complying with the second protocol to the UFS device; The protocol conversion device receives the boot program that complies with the second protocol and is returned by the UFS device, and converts the boot program that complies with the second protocol into the boot program that complies with the first protocol; The protocol conversion device returns the boot program that complies with the first protocol to the kernel program in the CPU.

13. The method according to claim 12, characterized in that After the CPU runs the startup program, the method further includes: The protocol conversion device receives a third instruction that complies with the first protocol and is sent by the boot program in the CPU; the third instruction is used to instruct the application program of the OS to load; The protocol conversion device converts the third instruction complying with the first protocol into a third instruction complying with the second protocol, and sends the third instruction complying with the second protocol to the UFS device; The protocol conversion device receives the application program that complies with the second protocol and is returned by the UFS device, and converts the application program that complies with the second protocol into the application program that complies with the first protocol; The protocol conversion device returns the application program conforming to the first protocol to the boot program in the CPU.

14. The method according to claim 13, characterized in that After the CPU runs the application, the method further includes: The protocol conversion device receives a read / write instruction that complies with the first protocol and is sent by the application in the CPU, wherein the read / write instruction is used to instruct the UFS device to read and write data; The protocol conversion device converts the read and write instructions that comply with the first protocol into the read and write instructions that comply with the second protocol; The protocol conversion device sends the read and write instructions that comply with the second protocol to the UFS device; The protocol conversion device receives the read and write results of the read and write instructions that comply with the second protocol and are returned by the UFS device; The protocol conversion device converts the read and write results according to the second protocol into the read and write results according to the first protocol; The protocol conversion device returns the read and write results in compliance with the first protocol to the application in the CPU.

15. The method according to any one of claims 11 to 14, characterized in that Before the protocol conversion device receives the first instruction sent by the CPU and complying with the first protocol, the method further includes: The protocol conversion device receives a first request sent by the CPU, where the first request is used to request to obtain a device type stored in the protocol conversion device; the device type stored in the protocol conversion device is a device type of the UFS device; The protocol conversion device returns the device type of the UFS device to the CPU in response to the first request.

16. A method for obtaining an operating system, characterized in that: For a server, the server includes a central processing unit (CPU), a universal flash storage (UFS) device, and a protocol conversion device, wherein the CPU and the protocol conversion device communicate via a first protocol, and the protocol conversion device and the UFS device communicate via a second protocol, the protocol conversion device being configured to convert information based on the first protocol into information based on the second protocol, and the UFS device storing an operating system (OS) of the server; the method comprising: The UFS device receives a first instruction sent by the processor firmware of the CPU through the protocol conversion device; the first instruction is specifically used to instruct the kernel program of the OS to be loaded; The UFS device returns the kernel program of the OS to the processor firmware of the CPU through the protocol conversion device.

17. The method according to claim 16, characterized in that After the CPU runs the kernel program, the method further includes: The UFS device receives a second instruction sent by the kernel program in the CPU through the protocol conversion device; the second instruction is used to instruct the startup program of the OS to load; The UFS device returns the boot program to the CPU through the protocol conversion device.

18. The method according to claim 17, characterized in that After the CPU runs the startup program, the method further includes: The UFS device receives a third instruction sent by the boot program in the CPU through the protocol conversion device, where the third instruction is specifically used to instruct the application program of the OS to load; The UFS device returns the application program to the startup program in the CPU through the protocol conversion device.

19. The method according to any one of claims 16 to 18, characterized in that After the CPU runs the application, the method further includes: The UFS device receives a read / write instruction sent by the application in the CPU through the protocol conversion device; the read / write instruction is used to instruct the UFS device to read and write data; The UFS device executes the read and write instructions; The UFS device returns the read and write results of the read and write instructions to the application in the CPU through the protocol conversion device.

20. A server, characterized in that: The server includes: A central processing unit (CPU) for executing the method according to any one of claims 1 to 10; A protocol conversion device, configured to execute the method according to any one of claims 11 to 15; A universal flash storage (UFS) device, configured to execute the method according to any one of claims 16 to 19.

Citation Information

Patent Citations

  • EMMC (embedded multi media card) / UFS (universal flash storage) card and method for improving reading performance of EMMC / UFS card

    CN104571951A

  • UFS storage array system based on FPGA control and data transmission method

    CN110069443A