Data processing method, backboard and server
By receiving target commands and writing custom PHY mapping data to the backplane Flash, the problem of not being able to modify firmware in existing technologies is solved, enabling fast and flexible PHY mapping configuration and improving configuration efficiency and user experience.
Patent Information
- Application Number
- CN202410949365.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-15
- Publication Date
- 2025-11-21
AI Technical Summary
In existing technologies, product users cannot change the firmware burned into the backplane Flash, which makes the default PHY mapping unable to meet personalized needs. This requires the development of special firmware, resulting in a waste of human and material resources and low delivery efficiency.
By receiving target commands, parsing custom PHY mapping data, and writing it into the Flash memory of the backplane, adaptive PHY mapping configuration is achieved, avoiding the development of special firmware and simplifying the customization configuration process.
It enables fast writing of custom PHY mapping data, meeting the personalized needs of product users, improving configuration efficiency, and reducing waste of manpower and resources.
Smart Images

Figure CN120994585A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server technology, and in particular to a data processing method, a backplane, and a server. Background Technology
[0002] In recent years, Serial Attached SCSI (SAS) Expander backplanes (hereinafter referred to as backplanes) have become increasingly widely used in high-performance computing, data centers, and large-scale storage solutions because they can connect to SAS controllers and are compatible with SAS storage devices.
[0003] The backplane houses physical layer transceivers (PHYs) for transmitting and receiving differential signal pairs, performing channel coding for data transmission, and modulating and demodulating the physical channel. Upper-level control systems such as SAS controllers do not directly identify and manage physical PHYs, but rather identify and manage logical PHYs. A logical PHY refers to the name given to the physical PHY after being remapped (or simply mapped) by the firmware running on the backplane.
[0004] Currently, product developers need to design specific PHY mappings in advance, then write these mappings into the firmware configuration file, and finally compile the firmware configuration file into firmware and burn it into the backplane's block flash memory. However, product users cannot modify the firmware burned into the backplane's Flash memory (Flash firmware), nor can they modify the PHY mappings (the default PHY mappings). This results in the pre-burned PHY mappings not meeting the user's needs when using non-default PHY mappings. Summary of the Invention
[0005] This application provides a data processing method, a backplane, and a server, which are used to write custom PHY mapping data into the Flash of the backplane when a product user has a non-default PHY mapping requirement, so that the backplane meets the user's usage needs.
[0006] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:
[0007] In a first aspect, embodiments of this application provide a data processing method, the method comprising:
[0008] Receive the target command; in response to receiving the target command, if the target command is a write command, parse the target command and obtain the custom PHY mapping data in the target command; the custom PHY mapping data includes the mapping relationship between the custom physical PHY identifier and the logical PHY identifier; write the custom PHY mapping data into the block flash memory of the SAS backplane, the flash memory stores the extended backplane firmware; initialize the extended backplane firmware to make the custom PHY mapping data effective.
[0009] In this embodiment, the SAS backplane receives a target command. If the target command is a write command, the backplane obtains the custom PHY mapping data carried in the target command and automatically writes the custom PHY mapping data into the backplane's Flash memory. When the custom PHY mapping data carried in the target command changes, the custom PHY mapping written to the backplane also changes automatically. Therefore, this embodiment can adjust the target command received by the SAS backplane to write the custom PHY mapping data into the backplane Flash memory, making the backplane meet the user's needs. Furthermore, this embodiment does not require product developers to develop special firmware or go through a separate firmware release and testing process, thus avoiding unnecessary waste of manpower and resources, and enabling simple and quick customization of the custom PHY mapping configuration, improving configuration efficiency.
[0010] In one specific implementation, the Flash includes a first partition and a second partition. The first partition stores default PHY mapping data and is a read-only partition. The first partition is used to provide the default PHY mapping data to the backplane. Custom PHY mapping data is written to the second partition of the Flash. Therefore, embodiments of this application allow both default and custom firmware to be used, enabling product users to choose between custom and default PHY mapping data based on their actual needs, thus improving flexibility.
[0011] In another specific implementation, the target command further includes a reference checksum for the custom PHY mapping data. Before writing the custom PHY mapping data into the block flash memory of the extended backplane, the actual checksum of the custom PHY mapping data is calculated. If the actual checksum is the same as the reference checksum, the custom PHY mapping data and the reference checksum are written into the Flash. If the actual checksum is the same as the reference checksum, it indicates that the number of custom PHY mappings received by the backplane meets the user's requirements. At this time, the backplane writes the custom PHY mapping data into the Flash, thereby ensuring the accuracy of the custom PHY mapping data written into the Flash.
[0012] In another specific implementation, before initializing the backplane firmware of the extended backplane, the custom PHY mapping data and the reference checksum written to the Flash are read; the actual checksum of the custom PHY mapping data read from the Flash is recalculated; if the actual checksum and the reference checksum are the same, the extended backplane firmware is initialized. By using checksum verification before initializing the backplane firmware, the backplane firmware can be made to meet user requirements.
[0013] In another specific implementation, if the target command is a query command, the target command is parsed to obtain the query content in the target command; the query content includes one of specifying a query for the custom PHY mapping data, specifying a query for the default PHY mapping data, and not specifying a query; if the query content is specifying a query for the custom PHY mapping data, the custom PHY mapping data is read from the Flash and output; if the query content is specifying a query for the default PHY mapping data, the default PHY mapping data is read from the Flash and output; if the query content is not specifying a query, the PHY mapping data of the current working state of the extended backplane is obtained and output.
[0014] Therefore, users can view the PHY mapping and understand the PHY mapping corresponding to the current working status of the backplane. Before writing custom PHY mapping data, the PHY mapping of the backplane firmware is queried. If the backplane firmware includes the custom PHY mapping data, no further writing operation is performed, thereby reducing operational complexity and improving the efficiency of customized configuration. Furthermore, after writing the custom PHY mapping data, querying the PHY mapping of the backplane firmware again, if the backplane firmware includes the custom PHY mapping data, can improve the success rate of writing the custom PHY mapping data to the backplane.
[0015] In another specific implementation, if the custom PHY mapping data is the same as the PHY mapping data of the current working state, the custom PHY mapping data and a first prompt message are output, indicating that the custom PHY mapping data is the PHY mapping data of the current working state; if the default PHY mapping data is the same as the PHY mapping data of the current working state, the default PHY mapping data and a second prompt message are output, indicating that the default PHY mapping data is the PHY mapping data of the current working state. This improves the user experience.
[0016] In another specific implementation, the custom PHY mapping data is read from the Flash memory. If the custom PHY mapping data is found in the Flash memory, it is output. If the custom PHY mapping data is not found in the Flash memory, the process repeats. The number of repetitions and the repetition execution time are then obtained. If the number of repetitions exceeds a second threshold and the repetition execution time exceeds a second time threshold, and the custom PHY mapping data is not found in the Flash memory, an error message is output. This avoids resource waste caused by continuous looping by setting the number of repetitions or the repetition time.
[0017] The custom PHY mapping data is used to enable the processor connected to the expansion backplane to identify the hard drive slots connected to the physical PHY in a preset order.
[0018] Secondly, embodiments of this application provide a backplane, the backplane including a processor and a memory; the memory is used to store a program, and the processor is used to execute the program to implement the data processing method as described in any of the first aspects.
[0019] Thirdly, embodiments of this application provide a server, the server including a controller and an extended backplane; the controller is used to generate a target command and send the target command to the backplane; the backplane is used to execute the data processing method as described in any of the first aspects.
[0020] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when run on a computer, causes the computer to perform the operational steps of any of the possible data processing methods described in the first aspect.
[0021] Fifthly, embodiments of this application also provide a computer program product that, when run on a computer, executes the operation steps of any of the possible data processing methods of the first aspect.
[0022] Any of the backplanes, servers, computer-readable storage media, or computer program products provided above are used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here. Attached Figure Description
[0023] Figure 1A This application provides a hard disk identification mapping diagram as an embodiment.
[0024] Figure 1B A flowchart of a data processing method provided in an embodiment of this application;
[0025] Figure 2A This is a schematic diagram of a server architecture;
[0026] Figure 2B A flowchart of a PHY mapping writing method provided in this application embodiment;
[0027] Figure 2C A flowchart illustrating a PHY mapping query method provided in this application embodiment;
[0028] Figure 3A This is a PHY mapping configuration interface;
[0029] Figure 3B A schematic diagram of a user interface for querying PHY mapping data;
[0030] Figure 4A A schematic diagram of another server architecture provided for an embodiment of this application;
[0031] Figure 4B A flowchart illustrating another method for writing a PHY map provided in this application embodiment;
[0032] Figure 4C A flowchart illustrating another method for querying PHY mappings provided in this application embodiment;
[0033] Figure 5 A schematic diagram of another server architecture provided in an embodiment of this application;
[0034] Figure 6 Flowchart of another method for writing PHY mapping data provided in this application embodiment;
[0035] Figure 7 A flowchart illustrating another method for writing PHY mapping data provided in this application embodiment. Detailed Implementation
[0036] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the embodiments of this application will be further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0037] First, some terms and concepts involved in some embodiments of this application will be explained.
[0038] (1) Back panel
[0039] The backplane described in this embodiment is an expansion backplane, such as a SAS Expander backplane. One end of the backplane is connected to the SAS controller, and the other end is connected to SAS storage devices such as SAS hard drives or Serial Advanced Technology Attachment (SATA) hard drives. The backplane can be used to expand the storage capacity of the SAS controller.
[0040] A SAS controller connects SAS storage devices to computing devices, enabling efficient data transfer and storage between them. In other words, the SAS controller allows computing devices to efficiently store data on SAS storage devices, or enables computing devices to efficiently access SAS storage devices. It should be noted that the hard drives mentioned below refer to either SAS hard drives or SATA hard drives.
[0041] (2) Physical layer data transceiver
[0042] In the SAS protocol, PHYs are primarily used for transmitting and receiving differential signal pairs, performing channel coding for data transmission, and modulating and demodulating the physical channel. PHYs are divided into physical PHYs and logical PHYs. A physical PHY refers to the actual data transceiver present on the backplane. Each physical PHY has a fixed identifier (Identifier, Id), called the physical PHY ID. The physical PHY ID is used to uniquely identify a physical PHY. A logical PHY refers to the remapping and naming of a physical PHY by the firmware running on the backplane. Through logical PHYs, the processor corresponding to the upper-level control system, such as the operating system in the SAS controller or computing device, can better manage physical PHYs without needing to concern itself with their usage and allocation. The upper-level control system manages and identifies logical PHYs through the logical PHY ID. The logical PHY ID is a new, unique identifier assigned to a physical PHY by the firmware running on the backplane. In this embodiment, for ease of description, when multiple physical PHYs exist on the backplane, the logical PHY ID is represented by logical PHY 0 to logical PHY n, where 0 to n are consecutive integers starting from 0.
[0043] (3) Phy mapping
[0044] The mapping of physical PHYs by the firmware running on the backplane is called PHY mapping. Essentially, PHY mapping maps a physical PHY ID to a logical PHY ID. For example, if a PHY is mapped as physical PHY 8 to logical PHY 0, where the physical PHY ID corresponding to physical PHY 8 is physicalPHY 8 and the logical PHY ID corresponding to logical PHY 0 is logicalPHY 0, then the PHY mapping is physicalPHY 8 to logicalPHY 0. For ease of description, the following text uses "→" to represent the mapping; for example, physical PHY ID → logical PHY ID means physical PHY ID is mapped to logical PHY ID.
[0045] The following are examples illustrating the application scenarios of embodiments of this application.
[0046] This application can be applied to products that identify or manage physical PHYs on a backplane. Specifically, product developers need to design specific PHY mappings in advance, then write the designed PHY mappings into a firmware configuration file, and finally compile the firmware configuration file into firmware and burn it into the backplane's block flash memory (Flash). During backplane startup initialization, the backplane reads the firmware's PHY mappings from the Flash and maps the physical PHYs on the backplane to logical PHYs. After initialization, the backplane sends the acquired logical PHYs to the upper-level control system for use.
[0047] However, after product delivery, users cannot modify the firmware (Flash firmware) burned into the backplane's Flash memory, nor can they modify the PHY mappings within the firmware. Furthermore, to ensure better versatility, product developers pre-designed generic PHY mappings (also known as default PHY mappings). Default PHY mappings are applicable to various application scenarios. However, in some cases, default PHY mappings may not meet the specific needs of product users.
[0048] Exemplary illustration: Appendix Figure 1AThis application provides a hard disk identification mapping diagram. Physical PHYs include Physical PHY3 (physical PHY ID: physicalPHY 3), Physical PHY6 (physical PHY ID: physicalPHY 6), and Physical PHY8 (physical PHY ID: physicalPHY 8). Physical PHY8 is connected to hard disk (Disk) 0, Physical PHY3 is connected to Disk 1, and Physical PHY6 is connected to Disk 2. Logical PHYs include Logical PHY 0, Logical PHY 1, and Logical PHY 2. Logical PHY 0 has a corresponding Logical PHY ID of logicphy0, Logical PHY 1 has a corresponding Logical PHY ID of logicphy1, and Logical PHY 2 has a corresponding Logical PHY ID of logicphy2.
[0049] Currently, the product design principle is as follows: First, identify the disk corresponding to logical PHY 0, that is, identify the disk corresponding to logical PHY 0 as the system disk sda. Then, identify the disk corresponding to logical PHY 1, that is, identify the disk corresponding to logical PHY 1 as the system disk sdb. Finally, identify the disk corresponding to logical PHY 2, that is, identify the disk corresponding to logical PHY 2 as the system disk sdc. The upper-level control system (i.e., the controller) identifies the system disk sda, system disk sdb, and system disk sdc in that order.
[0050] Figure 1A (a) illustrates a default PHY mapping. This default PHY mapping is: Physical PHY 3 → Logical PHY 1, Physical PHY 6 → Logical PHY 2, Physical PHY 8 → Logical PHY 0. That is, the upper-level control system displays Disk 0 as the system disk sda, Disk 1 as the system disk sdb, and Disk 2 as the system disk sdc. In other words, it prioritizes displaying the system disk corresponding to Disk 0, then the system disk corresponding to Disk 1, and finally the system disk corresponding to Disk 2.
[0051] However, some product users require that Disk 1 be displayed first, then Disk 2, and finally Disk 0. This makes the default PHY mapping burned into the Flash firmware unable to meet the needs of current product users.
[0052] In related solutions, product developers need to develop special firmware to ensure that the PHY mappings within this firmware meet the needs of the current product users. For ease of description, PHY mappings that meet the specific needs of product users are referred to as custom PHY mappings. For example... Figure 1A(b) illustrates a custom PHY mapping. The custom PHY mapping is physical PHY8 → logical PHY2, physical PHY3 → logical PHY0, and physical PHY6 → logical PHY1. That is, through the custom PHY mapping, the upper-level control system sequentially identifies the system disk corresponding to Disk 1, Disk 2, and Disk 0. Specifically, the upper-level control system identifies Disk 1 as the system disk sda, Disk 2 as the system disk sdb, and Disk 0 as the system disk sdc. However, this design requires a complete firmware release testing process, resulting in a waste of manpower and resources and impacting delivery efficiency.
[0053] In view of the above problems, this application provides a data processing method. The backplane receives a target command; if the target command is a write command, it adaptively writes the custom PHY mapping data carried in the write command into the backplane firmware. This enables the writing of custom PHY mapping data that meets specific needs into the backplane Flash, allowing the backplane to meet the user's requirements without requiring product developers to develop special firmware or go through a separate firmware release and testing process. Therefore, it avoids unnecessary waste of manpower and resources and allows for simple and quick customization of PHY mapping configuration, improving configuration efficiency.
[0054] Appendix Figure 1B This application provides a flowchart of a data processing method. The method is applied to a backplane and includes the following steps:
[0055] S110: Backplane receives target commands.
[0056] The target command refers to the command sent by other computing devices, or the command sent by the controller on the same computing device as the backplane to write or query PHY mapping data.
[0057] The controller can be a controller that integrates the central processing unit corresponding to the operating system with the SAS controller, or it can be a Base Management Controller (BMC), or it can be a controller that integrates the SAS controller and the BMC. The embodiments of this application are not specifically limited.
[0058] In this embodiment, the target command includes two types: a write command and a query command. The write command is used to write custom PHY mapping data into the Flash memory of the SAS backplane. The query command is used to query the PHY mapping data of the SAS backplane.
[0059] S120: The backplane receives the target command and identifies the target command.
[0060] The key fields of the target command include writing custom PHY mapping data to the SAS backplane's Flash memory or querying the SAS backplane's PHY mapping data. Upon receiving the target command, the backplane parses its key fields to identify whether it is a write command or a query command. If the key field indicates writing custom PHY mapping data to the SAS backplane's Flash memory, the target command is determined to be a write command. If the key field indicates querying the SAS backplane's PHY mapping data, the target command is determined to be a query command.
[0061] S130: If the target command is a write command, obtain the custom PHY mapping data;
[0062] In this embodiment, custom PHY mapping data is used to enable the processor connected to the backplane to identify the hard drive slots physically connected to the PHY in a preset order. For example, the customer specifies a particular hard drive slot, such as... Figure 1A In the PHY mapping, Disk 0 corresponding to Phys.8 is displayed last, Disk 1 corresponding to Phys.3 is displayed first, and Disk 2 corresponding to Phys.6 is displayed in the middle. Therefore, the custom PHY mapping data is Phys.8 → logical Phys.2, Phys.3 → logical Phys.0, and Phys.6 → logical Phys.1. This custom PHY mapping data allows the processor to identify Disk 1, Disk 2, and Disk 0 in sequence.
[0063] S140: If the custom PHY mapping data does not meet the recognition requirements, write the custom PHY mapping data into the Flash of the backplane.
[0064] The identifiability requirement is a condition for ensuring that custom PHY mapping data meets the requirements for backplane use. In other words, the identifiability requirement is the requirement for the upper-level control system, such as computing devices and SAS controllers, to accurately identify the custom PHY mapping. When the custom PHY mapping data meets the identifiability requirement, it meets the backplane usage requirements. When the custom PHY mapping data does not meet the identifiability requirement, it does not meet the backplane usage requirements.
[0065] In this application embodiment, the identifiability requirement can be one of the following conditions, or a combination of several of the following conditions. For example, both condition one and condition two must be met simultaneously for the custom PHY mapping data to be determined to meet the identifiability requirement:
[0066] Scenario 1: The identifiability requirement is that the number of logical PHY IDs does not exceed the total number of physical PHYs supported by the backplane. The backplane pre-stores the total number of supported physical PHYs, let's say N. The number of logical PHY IDs in the custom PHY mapping data is n, where n is less than N, meaning the custom PHY mapping data meets the identifiability requirement. This embodiment limits the number of logical PHY IDs to avoid setting too many, which would waste data resources and improve data transmission speed.
[0067] Scenario 2: The identifiability requirement is that the logical PHY IDs are not duplicated. For example, if there are duplicate logical PHY IDs in the custom PHY mapping data obtained from the backplane, the custom PHY mapping data of the backplane does not meet the identifiability requirement. If there are no duplicate logical PHY IDs, the custom PHY mapping data of the backplane meets the identifiability requirement. This application embodiment limits the logical PHY IDs to be unique to avoid errors in identifying physical PHYs.
[0068] Scenario 3: The identifiability requirement is that the number of logical PHY IDs is equal to the number of logical PHY IDs in the current working state. For example, if the number of logical PHY IDs in the custom PHY mapping data obtained from the backplane is N, and the number of logical PHY IDs in the current working state is also N, then the custom PHY mapping data meets the identifiability requirement. This avoids the situation where there are too few custom PHY IDs, leading to insufficient PHY IDs and wasted data resources.
[0069] Scenario 4: The identifiability requirement is that the logical PHY IDs start from 0 and are consecutive. For example, in the custom PHY mapping data obtained from the backplane, the logical PHY IDs are logicphy0, logicphy1, logicphy2, ..., logicphyn, where 0, 1, 2, ..., n are consecutive numbers. The custom PHY mapping data obtained from the backplane meets the identifiability requirement. When the logical PHY IDs are consecutive, the upper-level control system, such as the operating system of the SAS controller or computing device, does not need to skip any logical PHY IDs, thus helping to reduce processing time and improve the control performance of the upper-level control system.
[0070] Once the custom PHY mapping data meets the recognition requirements, the backplane will write the custom PHY mapping data into Flash.
[0071] S150, reinitialize the firmware on the backplane to make the custom PHY mapping data effective.
[0072] For example, custom phy mapping data such as Figure 1AAs described in (b) above. After the backplane firmware is reinitialized, the custom PHY mapping data takes effect. At this time, the upper-level control system sequentially identifies the system disk corresponding to Disk 1, the system disk corresponding to Disk 2, and the system disk corresponding to Disk 0. That is, the upper-level control system identifies Disk 1 as the system disk sda, Disk 2 as the system disk sdb, and Disk 0 as the system disk sdc.
[0073] This application embodiment allows the backplane to receive a target command. If the target command is a write command, it adaptively writes the custom PHY mapping data into the backplane firmware based on the custom PHY mapping data carried in the write command. This enables the writing of custom PHY mapping data that meets specific needs into the backplane Flash, ensuring the backplane meets the user's requirements. Furthermore, this application embodiment eliminates the need for product developers to create special firmware or go through a separate firmware release and testing process, thus avoiding unnecessary waste of manpower and resources and enabling simple and quick customization of PHY mapping configuration, improving configuration efficiency.
[0074] The method flow of the embodiments of this application is illustrated below with examples of specific application scenarios.
[0075] Example 1
[0076] Example 1 provides a detailed description of the PHY mapping method provided in this application embodiment, in conjunction with the first type of server.
[0077] Appendix Figure 2A This is a schematic diagram of a server architecture. Server 200 includes a controller and a backplane 203. The controller comprises a processor 201 (or BMC) and the backplane 203. The processor 201 communicates with the backplane 203 through a SAS controller 202.
[0078] Processor 201 is user-oriented. Users can be product developers or product users. Processor 201 is used to receive user-defined operations, such as inputting custom PHY mapping data or querying PHY mapping data.
[0079] Next, the processor 201 sends the target operation information corresponding to the target operation to the SAS controller 202. Specifically, the computing device encapsulates the target operation information into a target command based on a first preset protocol, and then the processor 201 sends the target command to the SAS controller 202 through the inter-device channel. For example, the first preset protocol is the Small Computer System Interface Enclosure Services (SES) protocol, or it can be any other inter-device communication protocol; this embodiment of the application is not specifically limited to this.
[0080] Furthermore, the inter-device channel can be a high-speed inter-device channel. The data transmission rate of this high-speed inter-device channel exceeds a preset rate threshold. For example, the high-speed inter-device channel could be a Peripheral Component Interconnect Express (PCIe) channel, used to enable high-speed data transmission between the processor 201 and the SAS controller 202.
[0081] Then, the SAS controller 202 sends the target command to the backplane 203. The backplane 203 executes the input of custom PHY mapping data or performs a query process based on the target operation information. To enable those skilled in the art to intuitively understand the storage of custom PHY mappings in the Flash memory of the backplane as described in this embodiment, Figure 2A It also displays custom PHY mapping data. Backplane 2A deploys n physical PHYs, where n is an integer greater than or equal to 1. Figure 2A The diagram illustrates three physical PHYs: PHY6, PHY3, and PHY8, along with their corresponding PHY mappings. Specifically, PHY8 → Logical PHY2, PHY3 → Logical PHY0, and PHY6 → Logical PHY1. The total number of logical PHYs, n, is an integer greater than or equal to 8.
[0082] Appendix Figure 2B This document provides a flowchart of a PHY mapping writing method according to an embodiment of this application. The execution entity of this method is the attached... Figure 2A The server 200 shown. The method includes the following steps:
[0083] S210: The processor obtains the custom PHY mapping data to be configured and generates configuration commands.
[0084] The custom PHY mapping data to be configured refers to the custom PHY mapping data that needs to be written to the Flash firmware in the backplane. This PHY mapping data includes the PHY mapping itself. For example, see... Figure 1AAs shown, the default PHY mapping is physical PHY 3 → logical PHY 1, physical PHY 6 → logical PHY 2, and physical PHY 8 → logical PHY 0. To prioritize displaying Disk1, then Disk2, and finally Disk0, the custom PHY mapping to be configured is: physical PHY 8 → logical PHY 2, physical PHY 3 → logical PHY 0, and physical PHY 6 → logical PHY 1.
[0085] In addition, the PHY mapping data includes, but is not limited to, the following: logical PHY ID, physical PHY ID, data length, and data identifier. The data identifier helps to uniquely identify the PHY mapping data when it is used subsequently. If the PHY mapping data includes a data length, the backplane can determine the data memory capacity based on the data length, thereby writing the PHY mapping data to the appropriate Flash storage area.
[0086] The following describes several ways for the processor 201 to obtain custom PHY data to be configured.
[0087] In one example, processor 201 is connected to a display screen that shows a configuration interface for configuring or querying PHY mapping data. This is an example illustration. Figure 3A This demonstrates a PHY mapping configuration interface. After opening the configuration interface, a selection dialog box is displayed, including options for setting PHY mapping data and querying PHY mapping data, such as... Figure 3A As shown in (a) above. Users can trigger the option to set Phys.map data, enter the input page, and input custom Phys.map data, such as... Figure 3A As shown in (b) above. The triggering method can be various, such as clicking, double-clicking, swiping, or voice, and is not specifically limited in this embodiment.
[0088] Figure 3A The configuration interface shown is for illustrative purposes only, and those skilled in the art can configure it according to their needs.
[0089] In another example, when the processor 201 runs on Linux, the user can execute the sg-ses tool. The sg-ses tool includes an application programming interface (API), through which the user can programmatically write custom PHY mapping data to the processor 201. The sg-ses tool encapsulates the custom PHY mapping data into SCSI commands for data interaction with the SES device. Here, the SES device refers to a device capable of receiving and sending data using the SES protocol. In this embodiment, both the SAS controller 202 and the backplane 203 are SES devices.
[0090] The embodiments of this application may also enable the processor 201 to obtain the custom PHY mapping data to be configured in other ways, and the embodiments of this application are not specifically limited.
[0091] The following describes the configuration commands.
[0092] In this embodiment, the processor 201 acquires the custom PHY mapping data to be configured and encapsulates it into a configuration command. The configuration command is a target instruction that instructs the backplane 203 to write the custom PHY mapping data to be configured. Upon receiving the configuration command, the backplane 203 executes the writing process.
[0093] The processor 201 can encapsulate custom PHY mapping data into configuration commands based on a first preset protocol. The first preset protocol is a protocol agreed upon by the processor 201 and the backplane 203, which can be recognized and parsed by the backplane 203. For example, the first preset protocol is the SES protocol. That is, the configuration command can be an SES command encapsulated by the processor 201 based on the SES protocol, containing the custom PHY mapping data to be configured. Another example is the SAS protocol. This application embodiment limits the first preset protocol.
[0094] S220: The processor sends configuration commands to the SAS controller.
[0095] After obtaining the configuration command, the processor 201 sends the configuration command to the SAS controller 202. The configuration command is a write command. For example, the computing device may encapsulate the configuration command based on the SES protocol and send it to the SAS controller 202 via a high-speed inter-device channel.
[0096] S230: The SAS controller sends configuration commands to the backplane.
[0097] The SAS controller 202 is a high-speed, reliable connection interface used to transmit configuration commands sent by the processor 201 to the backplane 203 at high speed and with high reliability.
[0098] S240: The backplane responds to the received configuration command, parses the configuration command, and obtains the custom PHY mapping data.
[0099] Upon receiving a configuration command, the backplane 203 parses the command using a pre-stored parsing method corresponding to the command, and retrieves the custom PHY mapping data from the command. For example, if the configuration command is an SES command, the backplane pre-stores the SES protocol and parses the command based on the SES protocol to obtain the custom PHY mapping data.
[0100] S250: The backplane determines whether the custom PHY mapping data meets the recognition requirements.
[0101] S260: If the custom PHY mapping data meets the recognition requirements, the backplane will write the custom PHY mapping data into the backplane's Flash firmware.
[0102] If the custom PHY mapping data meets the recognition requirements, the backplane 203 will adaptively write the custom PHY mapping data into the Flash firmware of the backplane 203.
[0103] In one example, backplane 203 can replace the default PHY mapping data in the backplane 203 firmware in Flash with custom PHY mapping data.
[0104] In another example, the Flash memory includes a first partition and a second partition. The first partition stores the default firmware, which includes default PHY mapping data. The first partition is read-only and is used only to provide the default firmware to the backplane; the backplane cannot write data to the first partition. The second partition stores custom firmware, including custom PHY mapping data. That is, after the backplane 203 obtains the custom PHY mapping data, it writes the custom PHY mapping data into the firmware corresponding to the second partition of the Flash memory based on the pre-stored mapping relationship between the custom PHY mapping data and the address of the second partition. Therefore, this embodiment allows both default and custom firmware to be used, enabling product users to choose between custom and default PHY mapping data according to their actual needs, thus improving flexibility.
[0105] In another example, backplane 203 first calculates a reference checksum for the custom PHY mapping data, for example, by performing operations on some or all bytes of the custom PHY mapping data to generate a fixed-length checksum. The reference checksum is used to verify the integrity of the firmware data written to backplane 203. Next, backplane 203 writes the reference checksum and the custom PHY mapping data to the Flash firmware. Thus, before the backplane re-initializes the firmware to make it effective, backplane 203 can read the custom PHY mapping data and the reference checksum from Flash, recalculate the actual checksum of the custom PHY mapping data, and if the actual checksum is the same as the reference checksum, it indicates that the custom PHY mapping data meets the user's requirements. Through checksum verification, the backplane firmware can be made to meet the user's requirements.
[0106] In another example, the configuration command also includes a reference checksum. After receiving the target command, the backplane 203 calculates the checksum (i.e., the actual checksum) corresponding to the custom PHY mapping data in the target command. If the actual checksum is the same as the reference checksum, it indicates that the number of custom PHY mappings received by the backplane meets the user's requirements. At this time, the backplane writes the custom PHY mapping data to Flash, thereby ensuring the accuracy of the custom PHY mapping data written to Flash.
[0107] Furthermore, if the custom PHY mapping data does not meet the recognition requirements, the backplane 203 outputs an error message, indicating that the user's custom PHY mapping data cannot be written to the backplane 203 firmware.
[0108] Furthermore, after the backplane 203 writes the custom PHY mapping data into its firmware, it automatically adjusts the configuration of the hard drive's Serial General Purpose Input / Output (SGPIO) LED signals according to the PHY mapping relationship and writes the hard drive's SGPIO LED signal configuration into Flash. Thus, the SGPIO LED signal configuration corresponds to the custom PHY mapping data, accurately reflecting the actual status of the hard drive and helping administrators to intuitively understand the current status of the hard drive.
[0109] Furthermore, after the custom PHY mapping data is written to the Flash firmware, the backplane 203 performs an automatic check during power-on initialization to determine if the Flash contains the custom PHY mapping data. If no custom PHY mapping data is found, the default PHY mapping data is used, and no further operations are performed. If custom PHY mapping data is found, it is configured into the hardware of the backplane 203, enabling the hardware of the backplane 203 to use the custom PHY mapping data for subsequent operations. In other words, the custom PHY mapping data is made effective, thereby realizing the customization function of PHY mapping data.
[0110] Therefore, embodiments of this application can generate configuration commands via a computing device, wherein the configuration commands carry custom PHY mapping data, and adaptively write the custom PHY mapping data into the backplane firmware. This allows for simple and quick completion of customized configuration of the custom PHY mapping.
[0111] Additionally, before writing custom PHY mapping data, the backplane firmware is queried. If the backplane firmware includes custom PHY mapping data, the writing operation is skipped, thus reducing operational complexity and improving the efficiency of customized configuration. Furthermore, after writing the custom PHY mapping data, the backplane firmware's PHY mapping is queried. If the backplane firmware includes the custom PHY mapping data, the success rate of writing the custom PHY mapping data to the backplane is improved. A method for querying PHY mapping data is provided below.
[0112] Appendix Figure 2C This document provides a flowchart of a PHY mapping query method as illustrated in an embodiment of this application. The execution entity of this method is [missing information - likely a component or entity]. Figure 2A The method, as shown in the server 200, includes the following steps:
[0113] S211: After receiving a query operation triggered by the user, the processor generates a query command.
[0114] In one example, processor 201 is connected to a display screen that shows a configuration interface for configuring or querying PHY mapping data. Example illustration: Figure 3A As shown in (a) above. Users can trigger the option to query Phy mapping data and enter the query page. Figure 3B The image shown is a schematic diagram of the display interface for a user to query PHY mapping data. When the user triggers... Figure 3A After querying the phy mapping data as shown in (a), enter... Figure 3B The "Specify whether to query PHY mapping data" checkbox shown in (a) allows users to select "Yes" or "No," adjusting as needed. If the user selects "Yes," they will be taken to the page specifying the PHY mapping data to query. Figure 3B As shown in (b) above. Users can choose whether to specify querying custom PHY mapping data. If "Yes" is selected, the user will be directed to the specified query for custom PHY mapping data.
[0115] In another example, when the operating system of processor 201 is Linux, the user can execute the call to the sg-ses tool. The sg-ses tool includes an application programming interface (API), through which the user can programmatically input query content into processor 201.
[0116] The embodiments of this application can also enable the computing device to receive query operations triggered by the user to query PHY data in other ways, and the embodiments of this application are not specifically limited.
[0117] After receiving a query operation triggered by the user, the computing device encapsulates the corresponding query content into a query command. This query command is a target instruction that directs the backplane 203 to query the PHY mapping data. Upon receiving the query command, the backplane 203 executes the query process.
[0118] The query content includes, but is not limited to, the following: specifying a query for custom PHY mapping data, such as specifying all custom PHY mapping data corresponding to custom logical PHY IDs (logic phy0~logic phy10), or custom PHY mapping data for logic phy0~Logic phy4; specifying a query for default PHY mapping data, such as specifying all default PHY mapping data corresponding to the logical PHY IDs (logic phy0~logic phy10), or default PHY mapping data for logic phy0~logic phy4; and not specifying any PHY mapping data. Specifically, the computing device encapsulates the query content into a query command based on a first preset protocol. The first preset protocol is a protocol agreed upon between the computing device and the backplane that can be recognized by the backplane, such as the SES protocol. That is, the query command can be an SES command containing the query content encapsulated by the computing device based on the SES protocol.
[0119] S221: The processor sends the query command to the SAS controller.
[0120] After generating the query command, the processor 201 sends the query command to the SAS controller 202. For example, the computing device may encapsulate the query command based on the SES protocol and send it to the SAS controller 202 through the high-speed inter-device channel.
[0121] S231: The SAS controller sends the query command to the backplane.
[0122] S241: The backplane receives the query command sent by the SAS controller, parses the query command, and determines whether to specify querying PHY mapping data and whether to specify querying custom PHY mapping data. If custom PHY mapping data is specified, execute S251. If default PHY mapping data is specified, execute S261. If no PHY mapping data is specified (i.e., querying unspecified data), execute S271.
[0123] After receiving a query command, backplane 203 parses the query command based on a pre-stored parsing method corresponding to the query command, and obtains the custom PHY mapping data in the query command. For example, if the query command is an SES command, the backplane pre-stores the SES protocol, parses the query command based on the SES protocol, and obtains the custom PHY mapping data in the query command.
[0124] After the backplane 203 parses the query command, it can obtain the query content, identify whether the query content is the specified query PHY mapping data, and determine whether the specified query is custom PHY mapping data or default PHY mapping data.
[0125] S251: The backplane acquires custom PHY mapping data and outputs the custom PHY mapping data.
[0126] After the backplane 203 recognizes that the query content is the specified query for custom PHY mapping data, it reads the custom PHY mapping data from the Flash memory corresponding to the backplane 203. Specifically, the backplane 203 pre-stores the address correspondence between the custom PHY mapping data and the Flash memory, and can obtain the custom PHY mapping data based on this address correspondence.
[0127] Furthermore, to ensure the accuracy of the read custom PHY mapping data, the backplane simultaneously reads the reference checksum corresponding to the custom PHY mapping data from the Flash firmware. The actual checksum corresponding to the read custom PHY mapping data is recalculated, and the reference checksum is compared with the actual checksum. If they are the same, the custom PHY mapping data is output. This ensures that the output custom PHY mapping data meets the actual requirements of the current working state.
[0128] Furthermore, after obtaining the custom PHY mapping data, the backplane 203 compares whether the custom PHY mapping data is the same as the PHY mapping data corresponding to the current working state of the backplane 203. If they are the same, the custom PHY mapping data is output, along with a first prompt message indicating that the custom PHY mapping data corresponds to the PHY mapping data of the current working state of the backplane. If they are different, the custom PHY mapping data is output, along with a first prompt message indicating that the custom PHY data does not belong to the PHY mapping data corresponding to the current working state of the backplane.
[0129] In this embodiment, the output custom PHY mapping data is displayed on a computing device. For example, it can be displayed visually or via command line on a screen connected to the computing device. This makes it convenient for users to view the data.
[0130] The content displayed visually or via command line can be either a PHY mapping or a logical PHY ID corresponding to the hard drive slot connected to the physical PHY. As shown in Table 1, the computing device displays the logical PHY ID corresponding to the disk connected to the backplane.
[0131] Table 1
[0132] hard drive bay Logical phy id Mapping relationship Disk(0) logic phy id(0) Disk(0)→logic phy id(0) …… …… …… Disk(n) logic phy id(n) Disk(n) → logic phy id(n) …… …… …… Disk(m) logic phy id(m) Disk(m) → logic phy id(m)
[0133] In this table, Disk(0) is connected to physical PHY ID(0), ..., Disk(n) is connected to physical PHY ID(n), ..., Disk(m) is connected to physical PHY ID(m). 0 ≤ n ≤ m, and n and m are integers. Thus, users can accurately understand the mapping relationship between hard drives and logical PHY IDs through Table 1.
[0134] The content displayed in this application embodiment may also be in other forms, and this application embodiment is not specifically limited.
[0135] S261: The backplane retrieves the default PHY mapping data and outputs the default PHY mapping data.
[0136] If the query content is to query the default PHY mapping data, the backplane 203 reads the default PHY mapping data from the Flash based on the correspondence between the default PHY mapping data and the storage address of the default PHY mapping data stored in the Flash, and outputs the default PHY mapping data.
[0137] Furthermore, to ensure the accuracy of the read default PHY mapping data, a reference checksum corresponding to the default PHY mapping data is also read. The actual checksum corresponding to the read default PHY mapping data is recalculated, and the reference checksum is compared with the actual checksum. If they are the same, the default PHY mapping data is output. This ensures that the output default PHY mapping data meets the actual requirements of the current working state.
[0138] Furthermore, the backplane 203 compares the acquired default PHY mapping data with the PHY mapping data corresponding to the current working state of the backplane 203. If they are the same, the default PHY mapping data is output, along with a second prompt message indicating that the default PHY mapping data corresponds to the current working state. If they are different, the default PHY mapping data is output, along with PHY mapping data that does not belong to the current working state.
[0139] In this embodiment, the output default PHY mapping data is displayed on a computing device. For example, it can be displayed on the display interface of the operating system corresponding to the computing device.
[0140] S271: Obtain the PHY mapping data of the current working state of backplane 203 and output the PHY mapping data.
[0141] If the query result is for unspecified PHY mapping data, backplane 203 retrieves the PHY mapping data for the current working state and outputs the PHY mapping data. Specifically, if the current PHY mapping data is the default PHY mapping data, the default PHY mapping data is output; otherwise, if it is a custom PHY mapping data, the custom PHY mapping data is output.
[0142] To make it easier for users to view the output results, the output results can be displayed visually.
[0143] Therefore, users can view the PHY mapping and understand the PHY mapping corresponding to the current working status of the backplane. Before writing custom PHY mapping data, the PHY mapping of the backplane firmware is queried. If the backplane firmware includes the custom PHY mapping data, no further writing operation is performed, thereby reducing operational complexity and improving the efficiency of customized configuration. Furthermore, after writing the custom PHY mapping data, querying the PHY mapping of the backplane firmware again, if the backplane firmware includes the custom PHY mapping data, can improve the success rate of writing the custom PHY mapping data to the backplane.
[0144] Example 2
[0145] Example 2 provides another server and a corresponding PHY mapping method. This server uses out-of-band communication to send the target command to the backplane, thereby reducing the impact of executing custom PHY mappings or querying PHY mappings on other data transmissions between the computing device and the backplane.
[0146] Appendix Figure 4A This is a schematic diagram of another server architecture provided in an embodiment of this application. Server 200 includes a Base Management Controller (BMC) 204, a SAS controller 202, and a backplane 203. BMC 204 is connected to backplane 203 via SAS controller 202.
[0147] Specifically, BMC 204 communicates with SAS controller 202 via an inter-device channel. For example, this inter-device channel may be a low-speed channel. The data transmission rate of the low-speed channel does not exceed a preset rate threshold. In other words, the data transmission rate of the low-speed channel is lower than that of the high-speed channel. For instance, the low-speed channel may be an Inter-Integrated Circuit (I2C) low-speed channel.
[0148] In this embodiment, BMC 204 corresponds to a visual web interface or command-line configuration box. Users can directly execute target operations through the web interface or command-line configuration box.
[0149] BMC 204 sends the target operation information corresponding to the target operation to SAS controller 202. Specifically, BMC encapsulates the target operation information into a target command using a second preset protocol and sends the target command to SAS controller 202 via out-of-band communication. For example, the second preset protocol is the I2C protocol. BMC encapsulates the target operation information into an I2C command and sends the encapsulated I2C command to SAS controller 202 via out-of-band communication, such as an I2C low-speed channel. Using an out-of-band channel does not occupy the in-band transmission channel between BMC 204 and SAS controller 202, that is, it does not affect the transmission efficiency of in-band data transmission between BMC 204 and SAS controller 202.
[0150] Appendix Figure 4B A flowchart illustrating another method for writing a PHY map provided in this application embodiment. The execution entity of this method is the attached... Figure 2A The server shown in the figure, the method includes the following steps:
[0151] S410: BMC obtains the custom PHY mapping data to be configured and generates configuration commands.
[0152] After obtaining the custom PHY mapping data to be configured, BMC 204 generates a configuration command. In this embodiment, BMC 204 encapsulates the custom PHY mapping data into a configuration command based on a second preset protocol, such as the I2C protocol. The second preset protocol is an agreement between BMC and the backplane that can be recognized by the backplane, and the command obtained after encapsulation using the second preset protocol is sent to SAS controller 202 via out-of-band communication.
[0153] S440: The BMC sends configuration commands to the SAS controller.
[0154] After generating the configuration command, BMC 204 sends it to SAS controller 204. Specifically, BMC 204 sends the configuration command, encapsulated based on a second preset protocol, to SAS controller 202 via out-of-band communication. For example, BMC 204 sends configuration commands based on the I2C protocol to SAS controller 202 via the I2C low-speed channel. Sending configuration commands via out-of-band communication, compared to in-band communication, effectively avoids the configuration commands affecting other in-band data.
[0155] S430: SAS controller configuration commands are sent to the backplane.
[0156] S440: The backplane responds to received configuration commands, parses the configuration commands, and obtains custom PHY mapping data.
[0157] Upon receiving a configuration command, the backplane 203 parses the command using a pre-stored parsing method corresponding to the command, and retrieves the custom PHY mapping data from the command. For example, if the configuration command is an I2C command, and the backplane has pre-stored the I2C protocol, it parses the command based on the I2C protocol to obtain the custom PHY mapping data.
[0158] S450: Backplane checks whether the custom PHY mapping data meets the recognition requirements.
[0159] S460: If the custom PHY mapping data meets the recognition requirements, the backplane will write the custom PHY mapping data to Flash.
[0160] Therefore, this embodiment of the application can generate configuration commands through the BMC, wherein the configuration commands carry custom PHY mapping data, and adaptively write the custom PHY mapping data into the backplane firmware. This allows for simple and quick completion of customized configuration of the custom PHY mapping.
[0161] In addition, this application also provides another method for querying PHY mapping data.
[0162] Appendix Figure 4C A flowchart illustrating another method for querying PHY mappings provided in this application embodiment. The execution entity of this method is the appendix. Figure 4A The server shown in the figure, the method includes the following steps:
[0163] S411: The BMC responds to the user-selected query operation by generating a query command.
[0164] The query command includes query content. The query content includes, but is not limited to, the following: specifying a query for custom PHY mapping data, such as specifying all custom PHY mapping data corresponding to custom logical PHY IDs (logic phy0~logic phy10), or custom PHY mapping data for logic phy0~Logic phy4; specifying a query for default PHY mapping data, specifying all default PHY mapping data corresponding to the query for logical PHY IDs (logic phy0~logic phy10), or default PHY mapping data for logic phy0~logic phy4; and not specifying any PHY mapping data. Specifically, the BMC 204 encapsulates the query content into a query command based on a second preset protocol. The second preset protocol is a protocol agreed upon between the computing device and the backplane, which can be recognized by the backplane, such as the I2C protocol. That is, the query command can be an I2C command encapsulated by the computing device based on the I2C protocol, including the query content.
[0165] S421: The BMC sends the query command to the SAS controller.
[0166] After generating the query command, BMC 204 sends the query command to SAS controller 202. For example, the computing device may encapsulate the query command based on the I2C protocol and send it to SAS controller 202 via an out-of-band channel, such as an I2C low-speed channel.
[0167] S431: SAS controller query command sent to the backplane.
[0168] S441: The backplane receives the query command sent by the SAS controller, parses the query command, and determines whether to specify querying PHY mapping data and whether to specify querying custom PHY mapping data. If custom PHY mapping data is specified, execute S451. If default PHY mapping data is specified, execute S461. If no PHY mapping data is specified, execute S471.
[0169] After receiving a query command, the backplane 203 parses the query command based on the pre-stored parsing method corresponding to the query command, and obtains the custom PHY mapping data in the query command. For example, if the query command is an I2C command, the backplane pre-stores the I2C protocol, parses the query command based on the I2C protocol, and obtains the query content in the query command.
[0170] After the backplane 203 parses the query command, it can obtain the query content, identify whether the query content is the specified query PHY mapping data, and determine whether the specified query is custom PHY mapping data or default PHY mapping data.
[0171] S451: The backplane acquires custom PHY mapping data and outputs the custom PHY mapping data.
[0172] S461: The backplane retrieves the default PHY mapping data and outputs the default PHY mapping data.
[0173] Steps S451 to S461 are the same as steps S251 to S261, and will not be repeated here.
[0174] S471: Obtain the PHY mapping data of the current working status of the backplane and output the PHY mapping data.
[0175] Therefore, the embodiments of this application can trigger the backplane to perform PHY mapping queries based on BMC through out-of-band channels.
[0176] Furthermore, to reduce the impact of performing the write and query PHY mapping processes on the computing device reading data from the backplane, this application provides yet another type of server.
[0177] Appendix Figure 5 This is a schematic diagram of another server architecture provided in an embodiment of this application. The server includes a BMC 204 and a backplane 203. The BMC 204 directly transmits data with the backplane 203 through an out-of-band channel. The out-of-band channel can be an I2C low-speed channel.
[0178] At this point, BMC 204 directly sends the configuration command or query command encapsulated based on the second preset protocol to backplane 203, and backplane 203 executes the corresponding operation based on the configuration command or query command. The specific implementation method is detailed in the appendix. Figure 4B and attached Figure 4C The same applies, so I won't go into details here.
[0179] Example 3
[0180] Example 3 combined with appendix Figure 6 This is a flowchart illustrating another method for writing PHY mapping data provided in this application embodiment. It describes a method for writing custom PHY mapping data during the hard disk backplane customization stage in a server production scenario. This method is applied in the aforementioned controller and includes the following steps:
[0181] S610: Receives custom PHY mapping data
[0182] In this embodiment, the controller can receive custom PHY mapping data by invoking a target tool. The target tool could be, for example, the sg-SES tool.
[0183] In one example, the target tool includes an application programming interface (API) that allows users to write custom PHY mappings, i.e., programmatically set custom PHY mappings. The controller retrieves the custom PHY mappings through the target tool.
[0184] In another example, the target tool connects to a configuration tool, which is used to configure custom PHY mapping data. These configuration tools can be graphical interfaces or command-line interfaces. Users can write custom PHY mapping data to the target tool through the configuration tool. The controller retrieves the written custom PHY mapping data through the target tool.
[0185] The embodiments of this application can also implement custom PHY mapping data by calling the target tool in other ways, and the embodiments of this application are not specifically limited.
[0186] S620: Sends custom PHY mapping data to the backplane.
[0187] After receiving custom PHY mapping data from the user via the target tool, the controller can encapsulate this data and generate configuration commands. See the appendix for specific writing methods. Figure 2B The method for generating configuration commands is shown. This application's embodiments are not specifically limited.
[0188] The controller sends configuration commands to the backplane via the target tool.
[0189] S630: Determine whether the custom PHY mapping data was sent successfully. If sent successfully, proceed to S640. If sent unsuccessfully, proceed to S6120.
[0190] When the controller sends the custom PHY mapping data to the backplane 203, and the backplane 203 successfully receives the custom PHY mapping data, the backplane 203 sends a success signal to the processor 201 or BMC 204. Upon receiving the feedback signal, the controller confirms that the custom PHY mapping data was successfully sent. At this point, the backplane 203 can write the custom PHY mapping data into its Flash firmware using any of the methods described in Embodiment 1.
[0191] If the controller does not receive a successful transmission signal, it can repeat step S630. This avoids a situation where the time interval between steps S630 and S620 is too short, and the backplane has not yet successfully written the custom PHY mapping data into the Flash firmware, thereby improving the accuracy of determining whether the transmission was successful.
[0192] S640: Query the specified custom PHY mapping data.
[0193] Backplane 203 writes the custom PHY mapping data into the corresponding Flash firmware. To ensure the correctness of the write, the controller calls the target tool to query the specified custom PHY mapping data. See the appendix for details on the query method. Figure 2C .
[0194] S650: Determine if custom PHY mapping data was found. If yes, proceed to S660. If no, proceed to S690.
[0195] One possibility is that the controller may not be able to find the custom PHY mapping data. This could be due to the backplane 203 potentially being in the process of writing custom PHY mapping data. In this case, step S640 can be repeated until the custom PHY mapping data is found.
[0196] Furthermore, due to firmware malfunctions or other reasons, custom PHY mapping data may fail to be written to the Flash firmware. For example, the input logical PHY ID may not meet the recognition requirements, or the persistent storage of custom PHY mapping data may fail. In this case, processor 201 or BMC 204 will also be unable to retrieve the custom PHY mapping data.
[0197] S660 triggers the backplane to perform firmware initialization operations.
[0198] If the controller finds the custom PHY mapping data, the BMC 204 or the processor 201 will trigger the backplane 203 to perform the firmware initialization operation, so that the backplane 203 runs the custom PHY mapping data.
[0199] S670: Query the PHY mapping data for the current working status of the backplane.
[0200] After the controller initializes the backplane firmware, it performs a preset time interval, or after receiving a successful initialization signal from the backplane, it calls the target tool again to query the PHY mapping data of the backplane's current working status. The preset time interval is a duration set by those skilled in the art as needed, and is not specifically limited in this embodiment.
[0201] Within the Preboot Execution Environment (PXE) system, the controller invokes the target tool to query the PHY mapping data of the current working status of the backplane 203.
[0202] The PXE system provides a mechanism for booting the processor 201 using a network interface. This mechanism enables the processor 201 or BMC 204 to boot independently of the hard drive or other operating systems. Specifically, after receiving a successful backplane firmware initialization signal from the PXE system, the processor 201 or BMC 204 can automatically boot the PXE system and invoke target tools to query PHY mapping data.
[0203] S680: If the current working state is custom PHY mapping data, BMC ends the customization configuration. If the current working state is default PHY mapping data, the customization configuration fails.
[0204] If the current working status is custom PHY mapping data, it indicates that the customization configuration was successful, and the customization configuration ends. Otherwise, if the current working status is default PHY mapping data, it indicates that the customization configuration failed, and the configuration can be repeated, i.e., step S610 is repeated.
[0205] (Optional) S690: Obtain the number of repetitions and the repetition time of S640. If the number of repetitions is not greater than the first count threshold and the repetition time is not greater than the first time threshold, execute S640.
[0206] If the controller does not find the custom PHY mapping data, execute S640 again. BMC204 or processor 201 obtains the number of repetitions and the repetition time. If the number of repetitions is not greater than the first count threshold and the repetition time is not greater than the first time threshold, execute S640 again.
[0207] S6100: If the number of repetitions exceeds the threshold for the first repetition, and the repetition execution time exceeds the threshold for the first execution time, an error will be reported.
[0208] If the number of repetitions exceeds the initial threshold, or the repetition time exceeds the initial time threshold, an error message is displayed to the user, and the customized configuration ends. This avoids resource waste caused by continuous looping by setting the number of repetitions or the repetition time.
[0209] S6110: Repeat step S630 and obtain the number of times step S630 is repeated and the execution time.
[0210] S6120: Determine whether the number of repetitions exceeds the second threshold and whether the repetition execution time exceeds the second time threshold. If the number of repetitions does not exceed the second threshold and the repetition execution time does not exceed the second time threshold, repeat S630. If the number of repetitions exceeds the second threshold or the repetition execution time exceeds the second time threshold, end the configuration.
[0211] Therefore, by first writing the PHY mapping data and then performing a PHY mapping data query, and by fully considering factors such as the time required to write the custom PHY mapping data and the time required for initialization during the query process, the accuracy of the query is ensured, thus enabling the custom PHY mapping data to be accurately written to the backplane 203 firmware. Furthermore, for products requiring customization from users before delivery of the chip, based on the attached... Figure 6 The method shown can speed up the processing progress and reduce the processing difficulty.
[0212] Example 4
[0213] Example 3 requires calling the target tool to write or query PHY mapping data. When the user lacks sufficient understanding of how to use or configure the target tool, or when the target tool is not installed on the computing device, writing or querying PHY mapping data is impossible. In view of the above problems, this application provides another method for writing PHY mapping data.
[0214] Appendix Figure 7 A flowchart illustrating another method for writing PHY mapping data provided in this application embodiment. The execution entity of this method is the controller described above, and the method includes the following steps:
[0215] S710: In response to a query executed on a visual webpage or command line, display the current PHY mapping data for the backplane. If the current PHY mapping data is a custom PHY mapping, end the configuration. If the current PHY mapping data is not a custom PHY mapping, execute S720.
[0216] The current PHY mapping data refers to the PHY mapping relationship corresponding to the current working state of the backplane.
[0217] Specifically, the controller corresponds to a visual webpage or command line, through which users can query the current mapping relationships of the backplane. The query command will then retrieve either the default query data or a custom PHY mapping data. See the attached document for specific query methods. Figure 2C As shown.
[0218] The controller's corresponding visual webpage or command line displays the current PHY mapping data for backplane 203. For example, the currently displayed PHY mapping data is shown in Table 1. If the PHY mapping data for the backplane's current operating state is custom PHY mapping data, the configuration ends, thereby reducing resource waste and improving configuration efficiency.
[0219] S720: In response to changes in the current PHY mapping data on a webpage or command line, the modified PHY mapping data is sent to the backplane.
[0220] If the current PHY mapping data of the backplane is not the custom PHY mapping data, the user can modify the current PHY mapping data through a visual webpage or command line. The BMC 204 or processor 201 receives the user's modification operation and sends the modified PHY mapping data to the backplane 203.
[0221] S730: Determine if the custom PHY mapping data was sent successfully. If sent successfully, proceed to S740. If sent unsuccessfully, proceed to S7100.
[0222] The S730 is the same as the S630, so it will not be discussed further here.
[0223] S740: Query the specified custom PHY mapping data. If the custom PHY mapping data is found, execute S750. If the custom PHY mapping data is not found, optionally, execute S780.
[0224] Based on the appendix Figure 2C As shown, the controller can query specified custom PHY mapping data. However, the controller may or may not be able to find the specified custom PHY mapping data.
[0225] In one example, the controller may fail to retrieve custom PHY mapping data. In this case, it means that the backplane may be performing the process of writing custom PHY mapping data. In this case, step S740 can be repeated until the custom PHY mapping data is retrieved.
[0226] In another example, due to firmware failure or other reasons, custom PHY mapping data may fail to be written to the Flash firmware. For example, the input logical PHY ID may not meet the recognition requirements, or the custom PHY mapping data may fail to be persistently saved. In this case, S740 can be executed repeatedly, and the number of times S740 is executed and the execution time can be obtained (see step S780).
[0227] S750: Reinitialize backplane firmware.
[0228] If the controller receives a query for custom PHY mapping data from the backplane, the BMC 204 or processor 204 will reinitialize the backplane firmware to enable the backplane to run the custom PHY mapping data.
[0229] S760: Query the PHY mapping data for the current working status of the backplane.
[0230] The controller can be based on the attachment Figure 2C Query the PHY mapping data for the current working status of the backplane.
[0231] S770: If the current working state is custom PHY mapping data, end the customization configuration. If the current working state is default PHY mapping data, the customization configuration fails.
[0232] If the current working status is custom PHY mapping data, it indicates that the customization configuration was successful, and the customization configuration ends. Otherwise, if the current working status is default PHY mapping data, it indicates that the customization configuration failed, and a customization configuration failure message can be output. The user can then reconfigure, i.e., re-execute step S710.
[0233] S780: Obtain the number of repetitions and the repetition execution time. If the number of repetitions is not greater than the first count threshold and the repetition execution time is not greater than the first time threshold, the BMC or computing device executes S740.
[0234] The controller obtains the number of repetitions and the repetition time of the repeated execution step S740.
[0235] S790: If the number of repetitions exceeds the threshold for the first repetition, and the repetition execution time exceeds the threshold for the first execution time, an error will be reported.
[0236] If the number of repetitions of S740 exceeds the initial threshold, or the repetition time exceeds the initial time threshold, an error message is displayed to the user, and the customized configuration is terminated. This avoids resource waste caused by continuous looping by setting the number of repetitions or the repetition time.
[0237] S7100: Repeat step S730 and obtain the number of repetitions and the repetition time of step S730.
[0238] S7110: Determine whether the number of repetitions exceeds the second threshold and whether the repetition execution time exceeds the second time threshold. If the number of repetitions does not exceed the second threshold and the repetition execution time does not exceed the second time threshold, the BMC or computing device repeats S730. If the number of repetitions exceeds the second threshold or the repetition execution time exceeds the second time threshold, the configuration ends. Therefore, this embodiment allows users to obtain and modify PHY mapping data via a visual webpage or command line, thereby writing custom PHY mapping data into the computing device or BMC. In this case, the user does not need to master the target tool, or the computing device does not necessarily need to install the target tool, thus offering greater versatility.
[0239] It should be noted that the server provided in this application embodiment is not specifically limited to any particular application scenario, nor is it limited to any particular type of server. For example, the server can be a rack server or an edge server. The server can be located in a data center or in other regions; this application embodiment does not impose any specific limitations.
[0240] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.
[0241] The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).
[0242] The above are merely preferred embodiments of this application and are not intended to limit the application in any way. Although this application has disclosed preferred embodiments above, it is not intended to limit the application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.
Claims
1. A data processing method, characterized in that, Applied to an extended backplane, the method includes: Receive target command; In response to receiving the target command, if the target command is a write command, the target command is parsed to obtain the custom PHY mapping data in the target command; the custom PHY mapping data includes the mapping relationship between the physical PHY identifier and the logical PHY identifier corresponding to the custom physical PHY; The custom PHY mapping data is written into the block flash memory of the extended backplane, and the flash memory stores the extended backplane firmware. Initialize the extended backplane firmware to enable the custom PHY mapping data.
2. The method according to claim 1, characterized in that, The Flash includes a first partition and a second partition. The first partition stores default PHY mapping data. The first partition is a read-only partition and is used to provide the default PHY mapping data to the backplane. The step of writing the custom PHY mapping data into the block flash memory of the extended backplane includes: writing the custom PHY mapping data into the second partition of the Flash.
3. The method according to claim 1, characterized in that, The target command also includes a reference checksum of the custom PHY mapping data. Before writing the custom PHY mapping data into the block flash memory of the extended backplane, the method further includes: Calculate the actual checksum of the custom PHY mapping data. If the actual checksum is the same as the reference checksum, write the custom PHY mapping data and the reference checksum into the Flash.
4. The method according to claim 3, characterized in that, Before initializing the backplane firmware of the extended backplane, the method further includes: Read the custom PHY mapping data and the reference checksum written from the Flash; Recalculate the actual checksum of the custom PHY mapping data read from the Flash; The initialization of the extended backplane firmware includes: If the actual checksum and the reference checksum are the same, initialize the extended backplane firmware.
5. The method according to claim 1, characterized in that, The method further includes: If the target command is a query command, parse the target command and obtain the query content in the target command; the query content includes one of specifying to query the custom PHY mapping data, specifying to query the default PHY mapping data, and not specifying a query. If the query content is to query the custom PHY mapping data, read the custom PHY mapping data from the Flash and output the custom PHY mapping data; If the query content is to query the default PHY mapping data, read the default PHY mapping data from the Flash and output the default PHY mapping data; If the query content is "unspecified query", obtain the PHY mapping data of the current working state of the extended backplane; output the PHY mapping data of the current working state.
6. The method according to claim 5, characterized in that, The output of the custom PHY mapping data includes: If the custom phy mapping data is the same as the phy mapping data of the current working state, output the custom phy mapping data and a first prompt message, the first prompt message indicating that the custom phy mapping data is the phy mapping data of the current working state; The output of the default PHY mapping data includes: If the default PHY mapping data is the same as the PHY mapping data of the current working state, output the default PHY mapping and a second prompt message, the second prompt message indicating that the default PHY mapping data is the PHY mapping data of the current working state.
7. The method according to claim 5, characterized in that, The step of reading the custom PHY mapping data from the Flash and outputting the custom PHY mapping data includes: Read the custom PHY mapping data from the Flash; If the custom PHY mapping data is read from the Flash, output the custom PHY mapping data; The method further includes: If the custom PHY mapping data is not read from the Flash, the custom PHY mapping data is read from the Flash again; and the number of repetitions and the repetition execution time are obtained. If the number of repetitions exceeds the second threshold and the repetition execution time exceeds the second time threshold, and the custom PHY mapping data is not read from the Flash, an error message will be output.
8. The method according to any one of claims 1-7, characterized in that, The custom PHY mapping data is used to enable the processor connected to the expansion backplane to identify the hard drive slots connected to the physical PHY in a preset order.
9. A backplate, characterized in that, The backplane includes a processor and a memory; The memory is used to store a program, and the processor is used to execute the program to implement the data processing method as described in any one of claims 1-8.
10. A server, characterized in that, The server includes a controller and an expansion backplane; The controller is used to generate a target command and send the target command to the backplane; the backplane is used to execute the data processing method as described in any one of claims 1-8.