RAID storage system and SSD RAID acceleration command design method

By sinking RAID computing tasks into NVMe SSD, using SSD's RAID computing module, the problem of high cost and complexity of NVMe SSD flash array system design is solved, and a high performance and low cost RAID storage system design is achieved.

CN114661230BActive Publication Date: 2025-08-29浙江元储科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111682385.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-30
Publication Date
2025-08-29
Estimated Expiration
2041-12-30

AI Technical Summary

Technical Problem

The existing NVMe SSD flash array system is designed with high cost and high computational complexity, making it difficult to meet high performance requirements.

Method used

The RAID computing task is sinked into the NVMe SSD, and the on-board RAID system works in collaboration with the NVMe SSD device through the NVMe protocol, and the calculation task is completed using the RAID computing module inside the SSD, reducing the system's computing overhead and design complexity.

Benefits of technology

It reduces the computing overhead and design complexity of RAID storage systems, reduces system costs, while maintaining high performance, and adapts to different scales of RAID arrays to expand computing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114661230B_ABST
    Figure CN114661230B_ABST
Patent Text Reader

Abstract

The present invention provides a RAID storage system and an SSD RAID acceleration command design method. The RAID storage system includes a host, an onboard RAID system, and an NVMe SSD device. The onboard RAID system includes a PCIe EP module, an NVMe Target module, a RAID manager module, a DDR cache module, an NVMe HA module, and a PCIe RC module. The RAID Manager module sends RAID commands to the NVMe SSD device via the NVMe HA module to complete RAID calculation tasks. The onboard RAID system connects multiple NVMe SSDs via the PCIe RC module. The present invention uses an NVMe SSD-based RAID acceleration command design to enable RAID calculation tasks that originally required system resources to be completed using the internal computing resources of the SSD, thereby reducing the computing overhead of the RAID storage system and the complexity of the entire system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of storage systems, and more particularly relates to a RAID storage system and a design method for an SSD RAID acceleration command thereof. Background Art

[0002] With the development of high-performance solid-state drive technology based on the NVMe protocol, NVMe SSD-based flash arrays (RAID) are becoming increasingly popular. Compared to traditional SATA / SAS arrays, NVMe SSD flash arrays require higher performance, which poses a challenge to array system design. Meeting the high performance requirements of current NVMe SSD array systems requires significant system computing and storage resources. Summary of the Invention

[0003] The present invention aims to provide a RAID storage system and a method for designing an SSDRAID acceleration command thereof, which can reduce the design cost of the array system.

[0004] According to one aspect of the present invention, a RAID storage system is provided, including a host, an onboard RAID system, and an NVMe SSD device.

[0005] The onboard RAID system includes:

[0006] PCIe EP module, the host is connected to it via a PCIe interface;

[0007] NVMe Target module, processing and parsing NVMe commands issued by the host;

[0008] RAID manager module, which manages the operation process of the RAID storage system;

[0009] DDR cache module, used to cache the check data of RAID calculation;

[0010] The NVMe HA module handles the command management of the system's NVMe SSD. The RAID Manager module sends RAID commands to the NVMe SSD device through the NVMe HA module to complete the RAID calculation task.

[0011] PCIe RC module, the onboard RAID system connects multiple NVMe SSD devices through the PCIe RC module.

[0012] According to another aspect of the present invention, a method for designing an SSD RAID acceleration command for a RAID storage system is provided, comprising:

[0013] The onboard RAID system sends RAID calculation commands to the NVMe SSD device via the NVMe protocol. The NVMe SSD device responds to the data processing request from the onboard RAID system. The RAID calculation module inside the NVMe SSD device performs the RAID calculation task and returns the calculation results to the memory location specified by the onboard RAID system via the NVMe protocol.

[0014] In some embodiments,

[0015] The NVMe SSD device:

[0016] After receiving the acceleration command, the acceleration command is parsed and verification data reading is initiated to the host via PCIe;

[0017] Read the parity data into the NVMe SSD through the host RAID parity block address specified by the command;

[0018] Through its internal RAID calculation module, the RAID check data is updated according to the RAID algorithm specified by the RAID calculation command;

[0019] Write the parity data back to the host memory address specified by the RAID command.

[0020] In some embodiments,

[0021] The acceleration command includes the address and length of the RAID check data. After receiving the command, the NVMe SSD device parses the check data address and length information specified in the command, and initiates a check data read from the host through PCIe. The read address and length are the address and length specified in the acceleration command.

[0022] In some implementations, the SSD reads the host RAID check data into the SSD, and performs RAID calculations through a RAID calculation module within the SSD according to the SSD internal data content specified by the RAID calculation command.

[0023] In some implementations, if an exception occurs during the calculation of RAID check data, the RAID command returns an update error, and the metadata status corresponding to the check data is set to invalid.

[0024] In some implementations, if the status of the check data specified by the RAID command is invalid, the execution of the SSD RAID calculation command is terminated and the corresponding execution status is returned.

[0025] The beneficial effect is as follows: the present invention utilizes the acceleration module inside the NVMe SSD to sink the RAID calculation commands of the array system to the SSD for completion. The RAID Manager module and NVMe HA module of the onboard RAID system of the present invention enable it to utilize the acceleration module inside the NVMe SSD. The RAID Manager module sends the RAID commands to the SSD through NVMe HA to complete the RAID calculation tasks of the RAID system; thereby reducing the computing overhead and design complexity of the array system itself, and lowering the design cost of the array system.

[0026] The present invention uses a RAID acceleration command design based on NVMe SSD, so that RAID computing tasks that originally required system resources can be completed by the computing resources within the SSD, thereby reducing the computing overhead of the RAID storage system and reducing the complexity of the entire system.

[0027] The present invention reduces the overall RAID system overhead based on the RAID computing power and bandwidth of the NVMe SSD in the RAID storage system. The RAID system only needs to provide an interface for connecting to the NVMe SSD and the corresponding cache capacity. Compared with traditional NVMe RAID storage methods, it can achieve high performance while reducing system computing overhead, thereby reducing system costs.

[0028] The present invention can adapt to RAID arrays of different sizes. Different array sizes can flexibly utilize the bandwidth and computing resources of the NVMe SSD added to the system to expand the system RAID computing capability. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 The figure is a schematic diagram of the hardware structure of a RAID storage system according to one embodiment of the present invention.

[0030] Figure 2 A schematic diagram of an SSD RAID acceleration command of a RAID storage system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0031] The present invention will be further described below in conjunction with the accompanying drawings.

[0032] like Figure 1As shown, a RAID storage system includes a host, an onboard RAID system, and an NVMe SSD device. The onboard RAID system serves as a RAID storage subsystem device for the host. It manages and implements the RAID storage functions of the RAID storage system. The onboard RAID system includes a PCIe EP module, an NVMe Target module, a RAID manager module, a DDR cache module, an NVMe HA module, and a PCIe RC module. The host connects to the PCIe EP module (PCIe child node) of the onboard RAID system via a PCIe interface. The NVMe Target module processes and parses NVMe commands issued by the host. The RAID manager module manages the computational flow of the RAID storage system. The DDR cache module caches checksum data for RAID calculations. The NVMe HA module manages commands for the system's NVMe SSD. The RAID manager and NVMe HA modules of the onboard RAID system enable it to utilize the acceleration module within the NVMe SSD. The RAID manager module sends RAID commands to the SSD via the NVMe HA module, completing the RAID calculation task of the RAID system. This reduces the computational overhead and design complexity of the array system itself, lowering the design cost of the array system. The onboard RAID system connects to multiple NVMe SSDs via PCIe RC modules (PCIe). In this embodiment, the onboard RAID system connects to four NVMe SSDs via PCIe RC modules (PCIe). The NVMe SSD's RAID acceleration command design enables RAID calculation tasks that would otherwise require system resources to be completed using the SSD's internal computing resources, thereby reducing the computing overhead of the RAID storage system and overall system complexity.

[0033] like Figure 1 and Figure 2As shown, the onboard RAID system sends a RAID calculation command to the NVMe SSD device via the NVMe protocol. The NVMe SSD device responds to the onboard RAID system's data processing request. The RAID calculation module within the NVMe SSD device performs the RAID calculation task and returns the calculation results to the memory location specified by the onboard RAID system via the NVMe protocol. The RAID manager sends an acceleration command to the NVMe SSD device. The acceleration command includes the address and length of the RAID parity data. After receiving the command, the NVMe SSD device parses the parity data address and length specified in the command and initiates a parity data read from the host via PCIe. The address and length read are the same as those specified in the acceleration command. The SSD device reads the parity data from the host RAID parity block address specified in the command into the NVMe SSD. After reading the host RAID parity data into the SSD, the NVMe SSD device uses its internal RAID calculation module to update the RAID parity data according to the RAID algorithm specified in the RAID calculation command. The RAID calculation module within the NVMe SSD updates the parity data within the specified logical address range. The RAID verification algorithm specified by the RAID calculation command includes specified RAID algorithms such as RAID0-7. In this embodiment, the RAID5 algorithm is adopted. After the SSD updates the RAID verification data according to the RAID command, the verification data is written back to the host memory address specified by the RAID command. The SSD reads the host RAID verification data into the SSD, and performs RAID calculation according to the SSD internal data content specified by the RAID calculation command through the RAID calculation module inside the SSD. If an exception occurs in the process of calculating the RAID verification data, the command returns an update error, and the metadata status corresponding to the verification data is set to invalid. The metadata of the verification data specified by the RAID command will indicate whether its status is valid or invalid. If the status of the verification data specified by the RAID command is invalid, the execution of the SSD RAID calculation command is terminated and the corresponding execution status is returned.

[0034] The above content is a further description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. At the same time, those skilled in the art will have variations in the specific implementation and application scope based on the concept of the present invention, and all of these variations fall within the scope of protection of the present invention.

Claims

1. A RAID storage system, characterized in that: Including host, onboard RAID system and NVMe SSD device, The onboard RAID system includes: PCIe EP module, the host is connected to it via a PCIe interface; NVMe Target module, processing and parsing NVMe commands issued by the host; RAID Manager module, which manages the operation process of the RAID storage system; DDR cache module, used to cache the check data of RAID calculation; The NVMe HA module handles command management of the system's NVMe SSD. The RAID Manager module sends RAID commands to the NVMe SSD through the NVMe HA module. The NVMe SSD device responds to the data processing request of the onboard RAID system. The RAID calculation module inside the NVMe SSD device performs the RAID calculation task and returns the calculation results to the memory location specified by the onboard RAID system through the NVMe protocol, completing the RAID calculation task. PCIe RC module, the onboard RAID system connects multiple NVMe SSD devices through the PCIe RC module.

2. A method for designing SSD RAID acceleration commands for a RAID storage system according to claim 1, characterized in that: include: The onboard RAID system sends RAID calculation commands to the NVMe SSD device via the NVMe protocol. The NVMe SSD device responds to the data processing request from the onboard RAID system. The RAID calculation module inside the NVMe SSD device performs the RAID calculation task and returns the calculation results to the memory location specified by the onboard RAID system via the NVMe protocol.

3. The SSD RAID acceleration command design method according to claim 2, wherein: The NVMe SSD device: After receiving the acceleration command, the acceleration command is parsed and verification data reading is initiated to the host via PCIe; Read the parity data into the NVMe SSD through the host RAID parity block address specified by the command; Through its internal RAID calculation module, the RAID check data is updated according to the RAID algorithm specified by the RAID calculation command; Write the parity data back to the host memory address specified by the RAID command.

4. The SSD RAID acceleration command design method according to claim 3, wherein: The acceleration command includes the address and length of the RAID verification data. After receiving the acceleration command, the NVMe SSD device parses the verification data address and length information specified in the acceleration command, and initiates verification data reading to the host through PCIe. The read address and length are the address and length specified in the acceleration command.

5. The SSD RAID acceleration command design method according to claim 3, wherein: The SSD reads the host RAID check data into the SSD, and performs RAID calculations based on the SSD internal data content specified by the RAID calculation command through the RAID calculation module inside the SSD.

6. The SSD RAID acceleration command design method according to claim 3, wherein: If an exception occurs during the calculation of RAID check data, the RAID command returns an update error and the metadata status corresponding to the check data is set to invalid.

7. The SSD RAID acceleration command design method according to claim 6, characterized in that: If the check data specified by the RAID command is found to be invalid, the execution of the RAID calculation command is terminated and the corresponding execution status is returned.

Citation Information

Patent Citations

  • Built-in high-end storage card supporting Tri-Mode

    CN107220196A

  • Data transmission method and device and electronic equipment

    CN113392046A