RAID card hard disk control system, method, device and medium based on extended capability set

By introducing a hard disk control system based on the extended capability set into the RAID card chip, the problems of large differences between the RAID card chip and the host software development environment, the difficulty of developing hard disk control functions, and the insufficient resources of the embedded environment are solved, and more efficient software development, maintenance and integration are achieved, reducing the impact on core business.

CN119828985BActive Publication Date: 2025-05-23SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510307439.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-17
Publication Date
2025-05-23
Estimated Expiration
2045-03-17

AI Technical Summary

Technical Problem

In the existing RAID card chip technology, the host software and RAID card firmware development environment are very different, resulting in complex porting. It is necessary to redevelop the hard disk control function in a lightweight and closed environment of RAID card. It is difficult to develop, and there is insufficient resources in an embedded environment, which restricts firmware development and function expansion. The debugging function may impact the core business, leading to uncontrollable risks of development, maintenance and integration.

Method used

It provides a RAID card hard disk control system based on the extended capability set, including the base address register BAR access control module and the extended capability set. The extended capability set is subdivided into a downlink control area and an uplink control area. The BAR access control module is responsible for obtaining the hard disk configuration information sent by the host from the downlink control area, and performing read, write or stop polling operations on the to-configure space of the target hard disk hanging down. The operation results are fed back to the uplink control area for the host to read.

Benefits of technology

It effectively solves the problem of large differences and complex porting of the host software and RAID card firmware development environment, avoids the problem of redeveloping the hard disk control function in the lightweight and closed environment of RAID card, alleviates the constraints of resource restrictions on firmware development and function expansion in the embedded environment, and reduces the impact of the development and testing functions in the RAID card firmware on core business, and improves the controllability and efficiency of software development, maintenance and integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119828985B_ABST
    Figure CN119828985B_ABST
Patent Text Reader

Abstract

The present invention provides a RAID card hard disk control system, method, device and medium based on an extended capability set, which relates to the field of computer technology and is applied to an independent redundant disk array RAID card chip. The RAID card chip is connected to a host and several downstream hard disks based on the high-speed serial computer expansion bus standard PCIe protocol communication; the system includes a base address register BAR access control module and an extended capability set, and the extended capability set includes a downstream control area and an upstream control area. The BAR access control module is responsible for obtaining the hard disk configuration information sent by the host from the downstream control area, and performs operations such as reading, writing or stopping polling on the specified downstream hard disk to be configured space based on this. After the operation is completed, the result will be fed back to the upstream control area for the host to read. The technical solution disclosed in the present invention solves the problem of large differences in the development environment of the host software and the RAID card firmware and complex transplantation, avoids the difficulty of redeveloping the hard disk control function in the RAID card, and alleviates the constraints on firmware development and function expansion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a RAID card hard disk control system, method, device and medium based on an extended capability set. Background Art

[0002] With the development of storage technology, RAID card chips have widely adopted PCIe communication links in the interface technology with the host. Its business management software and PCIe link debugging software are highly dependent on the configuration space operation defined by the PCIe specification. At the same time, in order to meet the hard disk rate requirements, the interface technology between RAID cards and hard disks has gradually turned to PCIe interfaces. Therefore, the host-side management and debugging software for RAID cards needs to be implemented inside the RAID card chip to complete the management and debugging of the attached hard disks and related PCIe links.

[0003] In the existing RAID card chip technology solutions, RAID card firmware (software) is usually based on the software architecture of real-time operating system or bare metal program, while the hardware is based on non-x86 architecture such as ARM / RISC. The host software is based on x86 architecture and Linux / Windows operating system. This difference leads to the following problems:

[0004] 1. The development environment (software, hardware, compiler) of the host software and RAID card firmware is very different, and direct transplantation is time-consuming and complicated; 2. The hard disk control function needs to be redeveloped in the lightweight and closed environment of the RAID card, and the dependent compilation library and other components need to be transplanted additionally, which makes development difficult; 3. Insufficient resources such as memory in the embedded environment restrict firmware development and function expansion; 4. Developing and debugging functions in the RAID card firmware may impact the core business of the RAID card, resulting in uncontrollable risks in software development, maintenance and integration. Summary of the invention

[0005] The present disclosure provides a RAID card hard disk control system, method, device and medium based on an extended capability set to at least solve the above technical problems existing in the prior art.

[0006] According to a first aspect of the present disclosure, a RAID card hard disk control system based on an extended capability set is provided, which is applied to an independent redundant disk array RAID card chip, wherein the RAID card chip is connected to a host and a plurality of downstream hard disks based on a high-speed serial computer expansion bus standard PCIe protocol communication; the system comprises: a base address register BAR access control module and the extended capability set, wherein the extended capability set comprises a downlink control area and an uplink control area;

[0007] The BAR access control module is used to obtain the hard disk configuration information sent by the host from the downlink control area, and perform a target operation on the to-be-configured space of the target downlink hard disk according to the hard disk configuration information; the target operation includes a read operation, a write operation, and stop polling; and feed back the operation result of the target operation to the uplink control area for the host to read;

[0008] The downlink control area is used to receive and store the hard disk configuration information sent by the host;

[0009] The uplink control area is used to receive and store the operation result of the target operation.

[0010] In one possible implementation, the BAR access control module includes: an expansion space polling unit and a hard disk configuration space polling unit;

[0011] The extended space polling unit is used to obtain the hard disk configuration information from the downlink control area, obtain the absolute starting address of the to-be-configured space of the target downstream hard disk according to the hard disk configuration information, and send the hard disk configuration information and the absolute starting address to the hard disk configuration space polling unit;

[0012] The hard disk configuration space polling unit is used to perform a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address.

[0013] In one possible implementation, the hard disk configuration information includes at least: a hard disk identifier and a relative starting address; the BAR access control module also includes: a hard disk management unit, used to determine the absolute starting address of the space to be configured based on the hard disk identifier and the relative starting address, and send it to the extended space polling unit.

[0014] In one possible implementation, the hard disk management unit is specifically used for:

[0015] Determine the RAID root node according to the RAID root node identifier in the hard disk identifier;

[0016] Determine the target attached hard disk according to the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier;

[0017] The space to be configured in the target downstream hard disk is identified by the configuration identifier of the hard disk identifier, and the absolute starting address of the space to be configured is determined according to the relative starting address.

[0018] In one possible implementation, the hard disk configuration information further includes an operation code field, a polling mode field, and a target data length, and the extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address:

[0019] When the operation code field is the first field and the polling mode field is a non-zero value, a read operation instruction is sent to the hard disk configuration space polling unit, and the read operation instruction carries the absolute starting address, the polling interval and the target data length to instruct the hard disk configuration space polling unit to read the target data of the target data length from the space to be configured according to the polling interval.

[0020] In one possible implementation, the extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address:

[0021] When the operation code field is the second field or the polling mode field is 0, a stop polling instruction is sent to the hard disk configuration space polling unit, and the stop polling instruction carries the absolute starting address to instruct the hard disk configuration space polling unit to stop polling the space to be configured.

[0022] In one possible implementation, the hard disk configuration information further includes: configuration content, and the extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address:

[0023] When the operation code field is the third field, a write operation instruction is sent to the hard disk configuration space polling unit, and the write operation instruction carries the absolute starting address and the configuration content to instruct the hard disk configuration space polling unit to perform a write operation on the space to be configured according to the configuration content.

[0024] In one possible implementation, the hard disk configuration space polling unit is also used to, after executing the target operation, if the target operation is the write operation or stops polling, write the operation status of the target operation into the upstream control area; if the target operation is a read operation, write the target data read from the space to be configured into the upstream control area.

[0025] In one possible implementation, if the polling mode field is a non-zero value, the hard disk configuration space polling unit reads the target data in the to-be-configured space at the polling interval using the non-zero value.

[0026] According to a second aspect of the present disclosure, a RAID card hard disk control method based on an extended capability set is provided, which is applied to a RAID card chip, wherein the RAID card chip is connected to a host and several downstream hard disks based on a PCIe protocol communication; the method comprises:

[0027] Obtaining hard disk configuration information sent by the host from the downlink control area of ​​the extended capability set;

[0028] Perform a target operation on the to-be-configured space of the target mounted hard disk according to the hard disk configuration information, the target operation including a read operation, a write operation or stop polling;

[0029] The operation result of the target operation is fed back to the uplink control area of ​​the extended capability set for the host to read.

[0030] In one possible implementation, performing a target operation on the to-be-configured space of the target downstream hard disk according to the hard disk configuration information includes:

[0031] Acquire the hard disk configuration information from the downlink control area, and acquire the absolute starting address of the to-be-configured space of the target downstream hard disk according to the hard disk configuration information;

[0032] The to-be-configured space of the target mounted hard disk is determined according to the absolute starting address, and a target operation is performed on the to-be-configured space according to the hard disk configuration information and the absolute starting address.

[0033] In one possible implementation, the step of obtaining the absolute starting address of the to-be-configured space of the target downstream hard disk includes:

[0034] According to the hard disk identifier and the relative starting address in the hard disk configuration information, the absolute starting address of the to-be-configured space of the target mounted hard disk is determined.

[0035] In one possible implementation, determining the absolute starting address of the target mounted hard disk space to be configured includes:

[0036] Determine the RAID root node according to the RAID root node identifier in the hard disk identifier;

[0037] Locate the target mounted hard disk according to the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier;

[0038] The space to be configured in the target attached hard disk is identified according to the configuration identifier of the hard disk identifier, and the absolute starting address of the space to be configured is determined according to the relative starting address.

[0039] In one possible implementation, the hard disk configuration information at least includes an operation code field, a polling mode field, and a target data length, and performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address includes:

[0040] When the operation code field is the first field and the polling mode field is a non-zero value, generating a read operation instruction, wherein the read operation instruction carries the absolute starting address and the polling interval;

[0041] The target data of the target data length is read from the to-be-configured space at the polling interval.

[0042] In one possible implementation, performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address further includes:

[0043] When the operation code field is the second field or the polling mode field is 0, a stop polling instruction is generated, wherein the stop polling instruction carries the absolute starting address;

[0044] Stop polling the space to be configured.

[0045] In one possible implementation, the hard disk configuration information further includes: configuration content, and the performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address further includes:

[0046] When the operation code field is the third field, a write operation instruction is generated, and the write operation instruction carries the absolute starting address and the configuration content;

[0047] A write operation is performed on the to-be-configured space according to the configuration content.

[0048] In one possible implementation manner, feeding back the operation result of the target operation to the uplink control area of ​​the extended capability set includes:

[0049] If the target operation is a write operation or a stop polling operation, writing the operation status of the target operation into the uplink control area;

[0050] If the target operation is a read operation, the target data read from the to-be-configured space is written into the uplink control area.

[0051] In one possible implementation, if the polling mode field is a non-zero value, the target data in the to-be-configured space is read at the polling interval using the non-zero value.

[0052] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0053] at least one processor; and

[0054] a memory communicatively connected to the at least one processor; wherein,

[0055] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present disclosure.

[0056] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method described in the present disclosure.

[0057] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program or instructions for causing a processor to implement the method provided in an embodiment of the present disclosure when executing the program or instructions.

[0058] The disclosed RAID card hard disk control system, method, device and medium based on the extended capability set are applied to the RAID card chip, and the RAID card chip is connected to the host and several hanging hard disks based on the PCIe protocol communication. The system includes a BAR access control module and an extended capability set, and the extended capability set is further subdivided into a downlink control area and an uplink control area. The BAR access control module is the core, responsible for obtaining the hard disk configuration information sent by the host from the downlink control area, and performing operations such as reading, writing or stopping polling on the specified hanging hard disk to be configured space. After the operation is completed, the result will be fed back to the uplink control area for the host to read at any time. The present disclosure enumerates the hanging hard disk through the RAID card chip and registers its configuration space to the BAR access control module, and synchronously activates the module when the firmware starts, thereby realizing the direct control of the host to the hanging hard disk. The downlink control area is dedicated to receiving and storing the operation instructions sent by the host, while the uplink control area is responsible for receiving and storing the feedback of the operation results, so that the host can monitor the hard disk operation status in real time. The technical solution disclosed in the present invention effectively solves the problem of large differences in the development environment of the host software and the RAID card firmware and complex transplantation, avoids the difficulty of redeveloping the hard disk control function in the lightweight and closed environment of the RAID card, alleviates the constraints of resource limitations on firmware development and function expansion in the embedded environment, and at the same time reduces the impact that the development and debugging functions in the RAID card firmware may have on the core business, improves the controllability and efficiency of software development, maintenance and integration, and provides a more flexible and efficient solution for the management and debugging of RAID cards.

[0059] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The above and other purposes, features and advantages of the exemplary embodiments of the present disclosure will become readily understood by reading the detailed description below with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, in which:

[0061] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0062] Figure 1 A schematic diagram of the structure of a RAID card hard disk control system based on an extended capability set according to an embodiment of the present disclosure is shown;

[0063] Figure 2 A schematic diagram of the implementation flow of a RAID card hard disk control method based on an extended capability set according to an embodiment of the present disclosure is shown;

[0064] Figure 3 A schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0065] In order to make the purpose, features, and advantages of the present disclosure more obvious and easy to understand, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0066] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0067] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present disclosure belongs. The terms used herein are only for the purpose of describing the embodiments of the present disclosure and are not intended to limit the present disclosure.

[0068] Before further describing the embodiments of the present disclosure in detail, the nouns and terms involved in the embodiments of the present disclosure are described. The nouns and terms involved in the embodiments of the present disclosure are subject to the following interpretations.

[0069] RAID card chip is a special processing chip integrated on the RAID card, which is responsible for executing RAID (Redundant Array of Independent Disks) related data management and control functions. This chip combines multiple physical hard disks into a logical large-capacity storage device through specific algorithms and logics, while providing data redundancy, performance improvement, and fault recovery capabilities.

[0070] PCIe (Peripheral Component Interconnect Express) is a high-speed serial computer expansion bus standard, mainly used to expand computer system bus data throughput and improve device communication speed.

[0071] BAR (Base Address Register) is a hardware register in PCIe devices, which is used to define the physical address mapping range of the device in the system memory or I / O address space. Its core function is to provide the host with an address window to access PCIe device resources (such as configuration space, memory space, I / O ports, etc.).

[0072] Configuration Space is a dedicated storage area in PCIe devices for storing basic device information and function configurations, and is one of the core functions defined by the PCIe protocol. Each PCIe device (including RAID card chips and their attached hard disks) has an independent configuration space for the host (CPU / operating system) to identify the device, allocate resources, and control functions when the system is started or running.

[0073] The Extended Capability Set is a vendor-defined function extension mechanism defined in the PCIe protocol, and is located in the Vendor Specific Capability structure of the PCIe device configuration space. Its core function is to provide a standardized extensible interface for device manufacturers to implement customized communication and control functions between devices and hosts. In the disclosed technical solution, the Extended Capability Set is designed in the configuration space of the RAID card, and is the core channel for the host to interact with the attached hard disk through the RAID card.

[0074] The host, i.e. the host software, is the initiator and receiver of controlling the hard disk attached to the RAID card chip. It controls the attached hard disk through the operation of the extended capability set of the RAID card. The PCIe protocol specification defines many technical methods for scalable configuration space, and the specific method is not described in this disclosure.

[0075] Attached Storage Drives refer to several storage devices directly or indirectly connected to the RAID card chip through the PCIe interface. These hard disks are uniformly managed by the RAID card, constitute the core data carrier of the storage array, and communicate with the host through the PCIe protocol. In the technical solution disclosed in the present invention, the configuration space of the attached hard disk is controlled by the host through the extended capability set.

[0076] Polling refers to the process of accessing or reading a series of devices, ports or nodes one by one in a certain order to obtain their status or data. In this solution, it is an active detection and reading mechanism based on time triggering. The task type and execution frequency are configured through standardized fields to achieve flexible control of the host over the hard disk attached to the RAID card.

[0077] The present disclosure provides a RAID card hard disk control system based on the extended capability set 202, such as Figure 1 As shown, it is applied to an independent redundant disk array RAID card chip 10, and the RAID card chip 10 is connected with a host 20 and a plurality of downstream hard disks 30 based on a high-speed serial computer expansion bus standard PCIe protocol communication; the system includes: a base address register BAR access control module 201 and the expansion capability set 202, and the expansion capability set 202 includes a downlink control area 2021 and an uplink control area 2022;

[0078] The BAR access control module 201 is used to obtain the hard disk configuration information sent by the host 20 from the downstream control area 2021, and perform target operations on the to-be-configured space 301 of the target downstream hard disk 30 according to the hard disk configuration information; the target operations include read operations, write operations and stop polling; and the operation results of the target operations are fed back to the upstream control area 2022 for the host 20 to read.

[0079] In this example, the RAID card chip 10 enumerates its attached hard disk 30 and registers its configuration space information in the BAR access control module 201. The BAR access control module 201 is started at the same time when the RAID card chip 10 firmware is started. The BAR access control module 201 obtains the hard disk configuration information issued by the host 20 for performing the target operation on the target attached hard disk 30 by accessing the downlink control area 2021 (DOWN area) of the extended capability set 202. By parsing the hard disk configuration information, the to-be-configured space 301 of the target attached hard disk 30 is determined and the target operation is performed on the to-be-configured space 301, including a read operation, a write operation, and stop polling. Subsequently, the operation result of the to-be-configured space 301 is written into the uplink control area 2022 (UP area) of the extended capability set 202 to be provided to the host 20 for reading. The extended capability set 202 is used to realize the direct control of the host 20 over the attached hard disk 30, thereby eliminating the need to rely on the development of the RAID card firmware.

[0080] The downlink control area 2021 is used to receive and store the hard disk configuration information sent by the host 20; the uplink control area 2022 is used to receive and store the operation result of the target operation.

[0081] In this example, the downlink control area 2021 is a dedicated storage area for the host 20 in the extended capability set 202 to send operation instructions to the RAID card, and its functions include: receiving the hard disk configuration information sent by the host 20 through the RAID PCIe endpoint interface, and writing the hard disk configuration information into the downlink control area 2021. The uplink control area 2022 is a dedicated storage area for the RAID card in the extended capability set 202 to feed back the operation results to the host 20, and its functions include: receiving and storing the operation results of the target operation, and the host 20 monitors the above operation results in real time by reading the content of the downlink control area 2021.

[0082] The present disclosure proposes a RAID card hard disk control system based on an extended capability set 202, which is applied to a RAID card chip 10. The RAID card chip 10 is connected to a host 20 and several hanging hard disks 30 based on the PCIe protocol communication. The system includes a BAR access control module 201 and an extended capability set 202, and the extended capability set 202 is further subdivided into a downlink control area 2021 and an uplink control area 2022. The BAR access control module 201 is the core, responsible for obtaining the hard disk configuration information sent by the host 20 from the downlink control area 2021, and performing operations such as reading, writing or stopping polling on the specified hanging hard disk 30 to be configured space 301 accordingly. After the operation is completed, the result will be fed back to the uplink control area 2022 for the host 20 to read at any time. The present disclosure enumerates the hanging hard disk 30 through the RAID card chip 10 and registers its configuration space to the BAR access control module 201, and synchronously activates the module when the firmware is started, so as to realize the direct control of the hanging hard disk 30 by the host 20. The downlink control area 2021 is dedicated to receiving and storing the operation instructions issued by the host 20, while the uplink control area 2022 is responsible for receiving and storing the feedback of the operation results, so that the host 20 can monitor the hard disk operation status in real time. The technical solution disclosed in the present invention effectively solves the problem that the development environment of the host 20 software and the RAID card firmware are very different and the transplantation is complicated, avoiding the difficulty of redeveloping the hard disk control function in the lightweight and closed environment of the RAID card, alleviating the constraints of resource limitations on firmware development and function expansion in the embedded environment, and at the same time reducing the impact of developing debugging functions in the RAID card firmware on the core business, improving the controllability and efficiency of software development, maintenance and integration, and providing a more flexible and efficient solution for the management and debugging of RAID cards.

[0083] In an example, the BAR access control module 201 includes: an expansion space polling unit 2011 and a hard disk configuration space polling unit 2012 .

[0084] The extended space polling unit 2011 is used to obtain the hard disk configuration information from the downstream control area 2021, obtain the absolute starting address of the to-be-configured space 301 of the target downstream hard disk 30 according to the hard disk configuration information, and send the hard disk configuration information and the absolute starting address to the hard disk configuration space polling unit 2012.

[0085] In this example, the extended space polling unit 2011 actively detects whether new hard disk configuration information is written by periodically accessing the downlink control area 2021 in the extended capability set 202. When the hard disk configuration information is detected, the extended space polling unit 2011 immediately reads and parses the hard disk configuration information to extract key fields. Based on the key fields, the absolute starting address of the to-be-configured space 301 of the target hanging hard disk 30 and the operation type of the to-be-configured space 301 of the target hanging hard disk 30 can be clearly identified. The extended space polling unit 2011 further sends the hard disk configuration instruction and the absolute starting address to the hard disk configuration space polling unit 2012. In this way, the extended space polling unit 2011 realizes the standardized conversion and distribution of the hard disk configuration information sent by the host 20, ensuring that the subsequent execution unit can accurately understand and execute the operation.

[0086] The hard disk configuration space polling unit 2012 is used to perform a target operation on the to-be-configured space 301 according to the hard disk configuration information and the absolute starting address.

[0087] In this example, after receiving the hard disk configuration instruction and the absolute starting address from the extended space polling unit 2011, the hard disk configuration space polling unit 2012 parses the key fields of the hard disk configuration information in the instruction, determines the to-be-configured space 301 of the target attached hard disk 30 according to the absolute starting address, and executes the target operation. After the target operation is completed, the hard disk configuration space polling unit 2012 writes the operation result into the uplink control area 2022 in the extended capability set 202 for real-time reading by the host 20. In this way, the hard disk configuration space polling unit 2012 realizes the precise execution of hardware operations and the result feedback, forming a closed-loop control process.

[0088] In one example, the hard disk configuration information includes: a hard disk identifier and a relative starting address; the BAR access control module 201 also includes: a hard disk management unit 2013, which is used to determine the absolute starting address of the space to be configured 301 according to the hard disk identifier and the relative starting address, and send it to the extended space polling unit 2011.

[0089] In this example, the hard disk management unit 2013 is used to convert the hard disk identifier and relative start address in the hard disk configuration information sent by the host 20 into an absolute start address that can be operated by the hard disk configuration space polling unit 2012. Among them, the hard disk identifier (Disk ID) is a logical number used by the host 20 to uniquely identify the hard disk 30 attached to the RAID card, which is usually dynamically allocated by the RAID card chip 10 during the device enumeration stage. The relative start address (Relative Start Address) is the logical address offset specified when the host 20 operates the target attached hard disk 30. Therefore, the hard disk management unit 2013 needs to convert the hard disk identifier and the relative start address into the physical address of the space to be configured 301 of the target attached hard disk 30, that is, the absolute start address. The specific conversion process will be described in detail in subsequent embodiments.

[0090] In one instance, the hard disk management unit 2013 is specifically used to: determine the RAID root node based on the RAID root node identifier in the hard disk identifier; determine the target downstream hard disk 30 based on the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier; identify the space to be configured 301 in the target downstream hard disk 30 through the configuration identifier of the hard disk identifier, and determine the absolute starting address of the space to be configured 301 based on the relative starting address.

[0091] The following is an explanation of several identification information contained in the hard disk identification:

[0092] The RAID root node identifier (RC ID) is a unique number that identifies the PCIe root complex (Root Complex) to which the RAID card is connected. In the PCIe topology, the RC ID is used to determine the root node to which the target downstream hard disk 30 belongs. The bus identifier (BusID), device identifier (Device ID), and function identifier (Function ID) are three-level numbers used in the PCIe protocol to uniquely locate devices in the bus tree topology. The configuration identifier (BAR ID) is a number or index used to identify the configuration space in the target downstream hard disk 30.

[0093] Based on the above identifications in the hard disk identification, the hard disk management unit 2013 converts the hard disk identification and the relative start address into the absolute start address in the following process:

[0094] The hard disk management unit 2013 determines the PCIe root complex to which the target hanging hard disk 30 belongs according to the RAID root node identifier in the hard disk identifier, and accurately locates the target hanging hard disk 30 in the PCIe topology path based on the RAID root node identifier, bus identifier, device identifier and function identifier. By parsing the configuration identifier in the hard disk identifier, the hard disk management unit 2013 further identifies the to-be-configured space 301 in the target hanging hard disk 30, and calculates the absolute starting address of the to-be-configured space 301 in combination with the offset of the relative starting address sent by the host 20.

[0095] The hard disk management unit 2013 sends the generated absolute starting address to the extended space polling unit 2011, so that it can send the absolute starting address and the hard disk configuration information together to the hard disk configuration space polling unit 2012, ensuring that the subsequent hard disk configuration space polling unit 2012 can directly access the target hardware resources based on the absolute address, shielding the complexity of the underlying PCIe topology structure and address mapping.

[0096] In one example, the hard disk configuration information also includes an operation code field, a polling mode field, and a target data length. Among them, the operation code (Operation code, Opc) field is an operation type identifier in the hard disk configuration information sent by the host 20 through the downlink control area 2021, which is used to indicate the specific operation type to be performed, and uses a binary value with a fixed bit width (such as 2 bits or 4 bits) to represent different operation types. The polling mode field is a periodic operation trigger mechanism parameter set by the host 20, which defines the polling method and its interval. The target data length (Length) field indicates the length of the data range that the host 20 needs to operate, and defines the size of the continuous data block to be operated starting from the absolute starting address.

[0097] The extended space polling unit 2011 performs the following operations according to the hard disk configuration information and the absolute starting address:

[0098] When the operation code field is the first field and the polling mode field is a non-zero value, a read operation instruction is sent to the hard disk configuration space polling unit 2012, and the read operation instruction carries the absolute starting address, the polling interval and the target data length to instruct the hard disk configuration space polling unit 2012 to read the target data of the target data length from the space to be configured 301 according to the polling interval.

[0099] The extended space polling unit 2011 dynamically differentiates different operation types and generates corresponding instructions by parsing the operation code field and the polling mode field in the hard disk configuration information, and at the same time combines the target data length to accurately control the to-be-configured space 301 of the target attached hard disk 30 by the host 20. In this example, when the operation code is the first field and the polling mode field is a non-zero value, the extended space polling unit 2011 sends a read operation instruction to the hard disk configuration space polling unit 2012. The read operation instruction starts the polling operation on the to-be-configured space 301 of the target attached hard disk 30. The instruction carries the absolute start address, the polling interval, and the target operation data length of the to-be-configured space 301 of the target attached hard disk 30. The hard disk configuration space polling unit 2012 reads the target data of the target data length in the to-be-configured space 301 according to the polling interval.

[0100] In one example, if the polling mode field is a non-zero value, the hard disk configuration space polling unit 2012 reads the target data in the to-be-configured space 301 according to the non-zero value as the polling interval.

[0101] In this example, when the polling mode field in the hard disk configuration information is a non-zero value, the hard disk configuration space polling unit 2012 periodically reads the target data in the to-be-configured space 301 of the target attached hard disk 30 according to the non-zero value as the polling interval.

[0102] Specifically, the host 20 configures the polling mode field as a specific value (such as 200) in the downlink control area 2021, indicating that a data read operation is triggered every 200 milliseconds; the extended space polling unit 2011 parses the first field and the polling mode field and then generates a read operation instruction. The instruction carries the absolute start address to be read, the polling interval value (200 ms), and the length of the target data to be read. The hard disk configuration space polling unit 2012 periodically accesses the target address according to the instruction at the set interval, writes the read data into the data field of the uplink control area 2022 in real time, and attaches a timestamp to mark the latest data version.

[0103] For example, the host 20 sets the first field = 0b01 (indicating to start the periodic data reading of the to-be-configured space 301), the polling mode field = 500 (i.e., 500 milliseconds), and the target data length = 0x20. The hard disk configuration space polling unit 2012 will read 32 bytes of data from the to-be-configured space 301 corresponding to the absolute start address 0x100 (after hard disk identification and relative start address conversion) every 0.5 seconds and update it to the uplink control area 2022 for the host 20 to monitor. In this way, through the millisecond-level adjustable polling interval, the balance between the real-time performance of data reading and the system resource occupancy is achieved.

[0104] In one example, the extended space polling unit 2011 performs the following operations based on the hard disk configuration information and the absolute starting address: when the opcode field is the second field or the polling mode field is 0, a stop polling instruction is sent to the hard disk configuration space polling unit 2012 to instruct the hard disk configuration space polling unit 2012 to stop polling the space to be configured 301; the stop polling instruction carries the absolute starting address.

[0105] In this example, when the operation code sent by the host 20 is the second field or the polling mode field is 0, the extended space polling unit 2011 generates a stop polling instruction. After receiving the instruction, the hard disk configuration space polling unit 2012 immediately stops the polling task of the to-be-configured space 301 corresponding to the absolute start address according to the instruction to release related resources.

[0106] Continuing from the previous example, if the host 20 wants to terminate the read operation of the to-be-configured space 301 with the absolute starting address 0x100, it sends the second field Opc=0b10 (terminating the ongoing polling task) or adjusts the polling mode field=0 to the hard disk configuration information updated in the downstream control area 2021. In response to the second field or the polling mode field being 0, the extended space polling unit 2011 transmits a stop polling instruction to the hard disk configuration space polling unit 2012, so that the hard disk configuration space polling unit 2012 stops the polling operation on the to-be-configured space 301.

[0107] In one example, the hard disk configuration information at least includes: configuration content. The configuration content (Data Zone) field is the data payload that the host 20 needs to write into the to-be-configured space 301 , and is stored in a designated field of the downlink control area 2021 .

[0108] The extended space polling unit 2011 further performs the following operations according to the hard disk configuration information and the absolute start address:

[0109] When the operation code field is the third field, a write operation instruction is sent to the hard disk configuration space polling unit 2012, and the write operation instruction carries the absolute starting address and configuration content to instruct the hard disk configuration space polling unit 2012 to perform a write operation on the to-be-configured space 301 according to the configuration content.

[0110] In this example, when the operation code is the third field, the extended space polling unit 2011 generates a write operation instruction, which includes an absolute starting address and configuration content. The write operation instruction specifies the target address range and configuration content of the data to be written. After receiving the instruction, the hard disk configuration space polling unit 2012 writes the configuration content into the to-be-configured space 301 of the target downstream hard disk 30.

[0111] For example, the host 20 sends the third field Opc=0b11 (indicating that the configuration content is written into the control to be configured), the configuration content=0xA1B2C3D4, and the hard disk configuration space polling unit 2012 writes the 16-byte data 0xA1B2C3D4 into the space to be configured 301 corresponding to the absolute starting address=0x200 (which has been converted between the hard disk identifier and the relative starting address).

[0112] In one example, the extended space polling unit 2011 performs the following operations according to the hard disk configuration information: when the operation code field is the fourth field, suspend polling the downlink control area 2021 to enter a dormant state for a specified period of time. The duration of the dormant state is controlled by the system, and the extended space polling unit 2011 automatically resumes detection after the dormant state ends.

[0113] For example, the fourth field Opc=0b00 sent by the host 20 is defined as a sleep instruction. When the extended space polling unit 2011 parses the opcode, it suspends polling the downlink control area 2021. The sleep duration is controlled by the preset value of the system (such as 300 milliseconds). After the sleep ends, the extended space polling unit 2011 automatically resumes detection. This scenario is suitable for the host 20 to temporarily release system resources, such as suspending non-critical tasks in a high-load environment to optimize performance.

[0114] In one example, the hard disk configuration space polling unit 2012 is also used to, after executing the target operation, if the target operation is the write operation or stops polling, write the operation status of the target operation into the uplink control area 2022; if the target operation is a read operation, write the target data read from the space to be configured 301 into the uplink control area 2022.

[0115] In this example, the architecture of the downlink control area 2021 and the uplink control area 2022 are similar, but they are used for data transmission from the host 20 space to the down-mounted hard disk 30 and from the down-mounted hard disk 30 space to the host 20. Therefore, after the hard disk configuration space polling unit 2012 performs the target operation, the result needs to be fed back to the uplink control area 2022 in a predefined format according to the operation type.

[0116] Specifically, for a write operation or a stop polling operation, the hard disk configuration space polling unit 2012 writes the operation status information into the upstream control area 2022, wherein the status information includes an operation status code (such as "success" or "failure"), an associated hard disk identifier, and a target address field, wherein the hard disk identifier is the target hard disk or its associated root complex, and the target address field indicates the starting address of the read operation.

[0117] For the read operation, the hard disk configuration space polling unit 2012 encapsulates the target data read from the to-be-configured space 301 of the target downstream hard disk 30 into the uplink control area 2022: the read data content is stored in the read content field, and the associated hard disk identifier, target address, and target data length. For example, to read 0x20 bytes of data in the to-be-configured space 301 with a hard disk identifier of 3 and a target address field of 0x100, the uplink control area 2022 stores the read data in the read content field for the host 20 to parse and verify.

[0118] The present disclosure also provides a RAID card hard disk control method based on an extended capability set, which is applied to a RAID card chip, wherein the RAID card chip is connected to a host and several mounted hard disks based on a PCIe protocol communication. Figure 2 As shown, the method includes:

[0119] Step 401: Obtain hard disk configuration information sent by the host from the downlink control area of ​​the extended capability set;

[0120] Step 402: performing a target operation on the to-be-configured space of the target attached hard disk according to the hard disk configuration information, the target operation including a read operation, a write operation or stopping polling;

[0121] Step 403: Feedback the operation result of the target operation to the uplink control area of ​​the extended capability set for the host to read.

[0122] In one example, performing a target operation on the to-be-configured space of the target downstream hard disk according to the hard disk configuration information includes:

[0123] Acquire the hard disk configuration information from the downlink control area, and acquire the absolute starting address of the to-be-configured space of the target downstream hard disk according to the hard disk configuration information;

[0124] The to-be-configured space of the target mounted hard disk is determined according to the absolute starting address, and a target operation is performed on the to-be-configured space according to the hard disk configuration information and the absolute starting address.

[0125] In one example, obtaining the absolute starting address of the to-be-configured space of the target downstream hard disk includes:

[0126] According to the hard disk identifier and the relative starting address in the hard disk configuration information, the absolute starting address of the to-be-configured space of the target mounted hard disk is determined.

[0127] In one example, determining the absolute starting address of the target mounted hard disk space to be configured includes:

[0128] Determine the RAID root node according to the RAID root node identifier in the hard disk identifier;

[0129] Locate the target mounted hard disk according to the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier;

[0130] The space to be configured in the target attached hard disk is identified according to the configuration identifier of the hard disk identifier, and the absolute starting address of the space to be configured is determined according to the relative starting address.

[0131] In one example, the hard disk configuration information at least includes an operation code field, a polling mode field, and a target data length, and performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address includes:

[0132] When the operation code field is the first field and the polling mode field is a non-zero value, generating a read operation instruction, wherein the read operation instruction carries the absolute starting address and the polling interval;

[0133] The target data of the target data length is read from the to-be-configured space at the polling interval.

[0134] In one example, performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address further includes:

[0135] When the operation code field is the second field or the polling mode field is 0, a stop polling instruction is generated, wherein the stop polling instruction carries the absolute starting address;

[0136] Stop polling the space to be configured.

[0137] In one example, the hard disk configuration information further includes: configuration content, and the performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address further includes:

[0138] When the operation code field is the third field, a write operation instruction is generated, and the write operation instruction carries the absolute starting address and the configuration content;

[0139] A write operation is performed on the to-be-configured space according to the configuration content.

[0140] In one example, feeding back the operation result of the target operation to the uplink control area of ​​the extended capability set includes:

[0141] If the target operation is a write operation or a stop polling operation, writing the operation status of the target operation into the uplink control area;

[0142] If the target operation is a read operation, the target data read from the to-be-configured space is written into the uplink control area.

[0143] In an example, if the polling mode field is a non-zero value, the target data in the to-be-configured space is read at the polling interval according to the non-zero value.

[0144] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0145] Figure 3 A schematic block diagram of an example electronic device 500 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0146] like Figure 3 As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0147] A number of components in the device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0148] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as a RAID card hard disk control method based on an extended capability set. For example, in some embodiments, a RAID card hard disk control method based on an extended capability set may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the RAID card hard disk control method based on the extended capability set described above may be executed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute the RAID card hard disk control method based on the extended capability set in any other appropriate manner (for example, by means of firmware).

[0149] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0150] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0151] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0152] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0153] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0154] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0155] The embodiment of the present disclosure also provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the RAID card hard disk control method based on the extended capability set of the embodiment of the present disclosure.

[0156] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0157] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0158] The above is only a specific embodiment of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims

1. A RAID card hard disk control system based on an extended capability set, characterized in that: Applied to an independent redundant disk array RAID card chip, the RAID card chip is connected to a host and several downstream hard disks based on a high-speed serial computer expansion bus standard PCIe protocol communication; the system comprises: a base address register BAR access control module and the expansion capability set, the expansion capability set comprises a downlink control area and an uplink control area; The BAR access control module is used to obtain the hard disk configuration information sent by the host from the downlink control area, and perform a target operation on the to-be-configured space of the target downlink hard disk according to the hard disk configuration information; the target operation includes a read operation, a write operation, and stop polling; and feed back the operation result of the target operation to the uplink control area for the host to read; The downlink control area is used to receive and store the hard disk configuration information sent by the host; The uplink control area is used to receive and store the operation result of the target operation.

2. The system according to claim 1, characterized in that The BAR access control module includes: an expansion space polling unit and a hard disk configuration space polling unit; The extended space polling unit is used to obtain the hard disk configuration information from the downlink control area, obtain the absolute starting address of the to-be-configured space of the target downstream hard disk according to the hard disk configuration information, and send the hard disk configuration information and the absolute starting address to the hard disk configuration space polling unit; The hard disk configuration space polling unit is used to perform a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address.

3. The system according to claim 2, characterized in that The hard disk configuration information at least includes: a hard disk identifier and a relative starting address; the BAR access control module also includes: a hard disk management unit, which is used to determine the absolute starting address of the space to be configured according to the hard disk identifier and the relative starting address, and send it to the extended space polling unit.

4. The system according to claim 3, characterized in that The hard disk management unit is specifically used for: Determine the RAID root node according to the RAID root node identifier in the hard disk identifier; Determine the target attached hard disk according to the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier; The space to be configured in the target downstream hard disk is identified by the configuration identifier of the hard disk identifier, and the absolute starting address of the space to be configured is determined according to the relative starting address.

5. The system according to claim 2, characterized in that The hard disk configuration information further includes an operation code field, a polling mode field, and a target data length. The extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address: When the operation code field is the first field and the polling mode field is a non-zero value, a read operation instruction is sent to the hard disk configuration space polling unit, and the read operation instruction carries the absolute starting address, the polling interval and the target data length to instruct the hard disk configuration space polling unit to read the target data of the target data length from the space to be configured according to the polling interval.

6. The system according to claim 5, characterized in that The extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address: When the operation code field is the second field or the polling mode field is 0, a stop polling instruction is sent to the hard disk configuration space polling unit, and the stop polling instruction carries the absolute starting address to instruct the hard disk configuration space polling unit to stop polling the space to be configured.

7. The system according to claim 5, characterized in that The hard disk configuration information also includes: configuration content, and the extended space polling unit performs the following operations according to the hard disk configuration information and the absolute starting address: When the operation code field is the third field, a write operation instruction is sent to the hard disk configuration space polling unit, and the write operation instruction carries the absolute starting address and the configuration content to instruct the hard disk configuration space polling unit to perform a write operation on the space to be configured according to the configuration content.

8. The system according to claim 2, characterized in that The hard disk configuration space polling unit is further used for, after executing the target operation, if the target operation is the write operation or the polling is stopped, writing the operation status of the target operation into the uplink control area; If the target operation is a read operation, the target data read from the to-be-configured space is written into the uplink control area.

9. The system according to claim 5, characterized in that If the polling mode field is a non-zero value, the hard disk configuration space polling unit reads the target data in the to-be-configured space at the polling interval according to the non-zero value.

10. A RAID card hard disk control method based on an extended capability set, characterized in that: Applied to a RAID card chip, the RAID card chip is connected to a host and several downstream hard disks based on a PCIe protocol communication; the method includes: Obtaining hard disk configuration information sent by the host from the downlink control area of ​​the extended capability set; Perform a target operation on the to-be-configured space of the target mounted hard disk according to the hard disk configuration information, the target operation including a read operation, a write operation or stop polling; The operation result of the target operation is fed back to the uplink control area of ​​the extended capability set for the host to read.

11. The method according to claim 10, characterized in that The performing a target operation on the to-be-configured space of the target mounted hard disk according to the hard disk configuration information includes: Acquire the hard disk configuration information from the downlink control area, and acquire the absolute starting address of the to-be-configured space of the target downstream hard disk according to the hard disk configuration information; The to-be-configured space of the target mounted hard disk is determined according to the absolute starting address, and a target operation is performed on the to-be-configured space according to the hard disk configuration information and the absolute starting address.

12. The method according to claim 11, characterized in that The step of obtaining the absolute starting address of the to-be-configured space of the target mounted hard disk includes: According to the hard disk identifier and the relative starting address in the hard disk configuration information, the absolute starting address of the to-be-configured space of the target mounted hard disk is determined.

13. The method according to claim 12, characterized in that The step of determining the absolute starting address of the target mounted hard disk space to be configured includes: Determine the RAID root node according to the RAID root node identifier in the hard disk identifier; Locate the target mounted hard disk according to the bus identifier, device identifier and function identifier of the RAID root node and the hard disk identifier; The space to be configured in the target attached hard disk is identified according to the configuration identifier of the hard disk identifier, and the absolute starting address of the space to be configured is determined according to the relative starting address.

14. The method according to claim 12, characterized in that The hard disk configuration information at least includes an operation code field, a polling mode field, and a target data length. The performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address includes: When the operation code field is the first field and the polling mode field is a non-zero value, generating a read operation instruction, the read operation instruction carrying the absolute starting address and the polling interval; The target data of the target data length is read from the to-be-configured space at the polling interval.

15. The method according to claim 14, characterized in that The performing a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address also includes: When the operation code field is the second field or the polling mode field is 0, a stop polling instruction is generated, wherein the stop polling instruction carries the absolute starting address; Stop polling the space to be configured.

16. The method according to claim 14, characterized in that The hard disk configuration information further includes: configuration content, and the performing of a target operation on the to-be-configured space according to the hard disk configuration information and the absolute starting address also includes: When the operation code field is the third field, a write operation instruction is generated, and the write operation instruction carries the absolute starting address and the configuration content; A write operation is performed on the to-be-configured space according to the configuration content.

17. The method according to claim 10, characterized in that Feeding back the operation result of the target operation to the uplink control area of ​​the extended capability set includes: If the target operation is a write operation or a stop polling operation, writing the operation status of the target operation into the uplink control area; If the target operation is a read operation, the target data read from the to-be-configured space is written into the uplink control area.

18. The method according to claim 14, characterized in that If the polling mode field is a non-zero value, the target data in the to-be-configured space is read at the polling interval according to the non-zero value.

19. An electronic device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 10 to 18.

20. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 10-18.

Citation Information

Patent Citations

  • RAID card management system, method, device, product and medium

    CN118409712A

  • Hard disk backboard and server

    CN118503164A