Solid state disk controller, solid state disk and storage system

The parity operation is handled by the exclusive OR computing engine of the solid-state hard disk controller, which solves the problem of pure software RAID occupying CPU resources, and realizes the acceleration of RAID function without setting up additional hardware devices, achieving a balance between high performance and low cost. .

CN119271138APending Publication Date: 2025-01-07SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 5 Cited by

Patent Information

Application Number
CN202411370405.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In the prior art, pure software RAID occupies host CPU resources, resulting in reduced efficiency in high-load applications. Hardware-assisted software RAID requires additional dedicated hardware equipment to increase costs, making it difficult to achieve a balance between high performance and low cost.

Method used

Provide a solid-state hard disk controller that supports hard disk controller mode and XOR accelerator mode. It handles parity operation tasks in XOR accelerator mode through the built-in XOR computing engine, reduces the burden on the host CPU, and uses communication endpoint units and flash memory. The controller provides hard disk storage services to achieve hardware acceleration of RAID functions.

Benefits of technology

Without the need for additional dedicated hardware devices, the RAID function hardware acceleration of the host device is achieved, reducing the burden on the host CPU, and achieving a balance between high performance and low cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271138A_ABST
    Figure CN119271138A_ABST
Patent Text Reader

Abstract

The invention discloses a solid state disk controller, a solid state disk and a storage system, and relates to the technical field of storage, and the solid state disk controller comprises a communication endpoint unit which is used for determining a target working mode according to a control instruction sent by host equipment; if the target working mode is an exclusive-or accelerator mode, calling an exclusive-or computing engine, and processing a direct-connection disk management operation task issued by the host equipment; wherein the direct connection disk management operation task comprises a parity check operation task corresponding to disk equipment connected with the host equipment; the XOR calculation engine is used for carrying out operation processing on the direct connection disk management operation task according to the control of the communication endpoint unit; hardware acceleration of the RAID function of the host equipment is achieved through the solid state disk controller in the solid state disk connected with the host equipment, the burden of a host CPU is relieved, special hardware equipment does not need to be additionally arranged, and balance of high performance and low cost is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of storage technology, and in particular to a solid state drive controller, a solid state drive and a storage system. Background Art

[0002] RAID (Redundant Array of Independent Disks) can combine multiple independent physical disks in a specific way to form a logical storage unit to increase the data reading and writing speed of the storage system and enhance data redundancy to improve fault tolerance.

[0003] At present, the solutions for host devices to implement RAID functions can be divided into two types: pure software RAID and hardware-assisted software RAID. Pure software RAID uses the operating system or third-party software of the host device to implement RAID functions, without the need for additional hardware devices, and has the advantage of low cost; however, pure software RAID runs directly at the operating system level, and the host CPU (central processing unit) completes RAID-related computing tasks, such as parity calculation. This method will occupy a certain amount of host system resources, and in high-load or I / O (input / output) intensive applications, it will seriously affect the execution efficiency of other services of the host system. Hardware-assisted software RAID uses dedicated hardware devices to accelerate the execution of complex computing-intensive tasks, and uses software to perform RAID-related management and configuration tasks, such as RAID level configuration, data stripe management, data reconstruction, hot standby and data migration. This method can significantly reduce the burden on the host CPU and improve storage performance through hardware acceleration, but it requires additional hardware devices and is more expensive.

[0004] Therefore, how to realize the RAID function of the host device without setting up additional dedicated hardware devices, reduce the burden of the host CPU, and achieve a balance between high performance and low cost is a problem that needs to be solved urgently. Summary of the invention

[0005] The purpose of the present invention is to provide a solid-state drive controller, a solid-state drive and a storage system to realize the RAID function of a host device without setting up additional dedicated hardware devices, reduce the burden on the host CPU, and achieve a balance between high performance and low cost.

[0006] In order to solve the above technical problems, the present invention provides a solid state hard disk controller, comprising:

[0007] A communication endpoint unit connected to a host device for communication, used to determine a target operating mode according to a control instruction sent by the host device; if the target operating mode is an XOR accelerator mode, an XOR computing engine is called to process a direct-connected disk management computing task issued by the host device; wherein the target operating mode is any preset operating mode, and the preset operating mode includes a hard disk controller mode and the XOR accelerator mode; the direct-connected disk management computing task includes a parity check computing task corresponding to the disk device connected to the host device;

[0008] The XOR calculation engine is used to perform calculation processing on the direct-connected disk management calculation task according to the control of the communication endpoint unit.

[0009] In another aspect, the solid state drive controller further comprises: a processor, an error correction engine, a cache, and a flash memory controller;

[0010] The communication endpoint unit is also used to call the XOR calculation engine, the processor, the error correction engine, the cache, and the flash memory controller when the target working mode is the hard disk controller mode, control the flash memory connected to the flash memory controller, and provide hard disk storage services for the host device.

[0011] On the other hand, the communication endpoint unit is also used to set the processor, the error correction engine, the cache, and the flash memory controller to a sleep state when the target operating mode is the XOR accelerator mode.

[0012] On the other hand, the hard disk storage service includes a protocol processing function for communicating with the host device, a storage data management function, an error data correction function, a wear leveling function, a garbage collection function, and a system monitoring function;

[0013] Wherein, the protocol processing function is used to implement the standard functions defined by the communication protocol for communicating with the host device;

[0014] The storage data management function is used to manage the write operation and the read operation corresponding to the data in the flash memory;

[0015] The error data correction function is used to detect error data in the data in the flash memory and correct the error data;

[0016] The wear leveling function is used to evenly distribute the write operation of writing data into the flash memory by using a wear leveling algorithm;

[0017] The garbage collection function is used to clean up invalid data blocks in the flash memory;

[0018] The system monitoring function is used to monitor the performance indicators and health status of the solid-state hard disk where the solid-state hard disk controller is located, and to perform fault prediction based on the performance indicators and the health status to obtain a fault prediction report.

[0019] On the other hand, the communication endpoint unit is connected to the host device through a peripheral component express bus and communicates using a non-volatile memory standard protocol.

[0020] On the other hand, the communication endpoint unit is also used to provide a hard disk controller function and an XOR accelerator function for the host device through a single root input / output virtualization technology.

[0021] On the other hand, the XOR calculation engine includes at least two operation units; the operation units are used to process the XOR operations corresponding to the direct-connected disk management operation tasks in parallel.

[0022] On the other hand, the preset working mode also includes a multi-functional concurrent mode;

[0023] The communication endpoint unit is also used to time-share the XOR computing engine when the target working mode is the multi-functional concurrent mode, provide hard disk storage services for the host device and process the direct-connected disk management computing tasks.

[0024] The present invention also provides a solid state hard disk, comprising:

[0025] The solid state drive controller and the flash memory connected to the solid state drive controller as described above.

[0026] In addition, the present invention also provides a storage system, comprising: a host device, a disk device and the solid state hard disk as described above;

[0027] Wherein, the host device is communicatively connected with the magnetic disk device and the solid state hard disk respectively.

[0028] A solid-state hard disk controller provided by the present invention comprises: a communication endpoint unit connected to a host device for communication, and used for determining a target working mode according to a control instruction sent by the host device; if the target working mode is an XOR accelerator mode, an XOR calculation engine is called to process a direct-connected disk management operation task issued by the host device; wherein the target working mode is any preset working mode, and the preset working modes include a hard disk controller mode and an XOR accelerator mode; the direct-connected disk management operation task includes a parity check operation task corresponding to a disk device connected to the host device; and the XOR calculation engine is used for performing operation processing on the direct-connected disk management operation task according to the control of the communication endpoint unit.

[0029] It can be seen that the solid-state hard disk controller in the present invention supports two working modes, hard disk controller mode and XOR accelerator mode. In the XOR accelerator mode, the XOR calculation engine inside the solid-state hard disk controller can be called to process the parity calculation task of the host device managing the disk device, so as to use the solid-state hard disk controller in the solid-state hard disk connected to the host device to realize the hardware acceleration of the RAID function of the host device, reduce the burden of the host CPU, and do not need to set up additional dedicated hardware devices, thus achieving a balance between high performance and low cost. In addition, the present invention also provides a solid-state hard disk and a storage system, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0031] Figure 1 A schematic diagram of a typical connection method between a solid state drive controller and a host device and a flash memory;

[0032] Figure 2 A schematic diagram of the organizational structure of a typical hardware-assisted software RAID storage system;

[0033] Figure 3 A structural block diagram of a solid state hard disk controller provided by an embodiment of the present invention;

[0034] Figure 4 A schematic diagram of the structure of another solid state drive controller provided by an embodiment of the present invention;

[0035] Figure 5 A schematic diagram of a hard disk controller mode of a solid state hard disk controller provided by an embodiment of the present invention;

[0036] Figure 6 A schematic diagram of an XOR accelerator mode of a solid state drive controller provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0037] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0038] In the related art, a typical connection method between a solid state drive controller and a host device and a flash memory can be as follows: Figure 1 As shown in the figure, the NVMe (Non-Volatile Memory Express, a non-volatile memory standard protocol) SSD (solid state drive) controller and the host device are interconnected through the PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard) bus, and the NVMe SSD controller NAND Flash (non-and flash memory) particles can be interconnected through the ONFI (Open NAND Flash Interface, a standardized specification of NAND flash memory interface) standard interface. As a bridge between the host device (such as a computer or server) and the flash memory, the NVMe SSD controller receives read and write requests from the host device and converts these requests into instructions that the Flash can understand, thereby realizing the access operation of the internal data of the Flash. For example, the NVMe SSD controller can provide high-performance, low-latency and scalable storage solutions by implementing various functions of the NVMe protocol to meet the application requirements of the host device for high-performance storage. The main functions of NVMe SSD can include command queue management, data transmission control, error correction, wear leveling, garbage collection, and encryption.

[0039] The typical storage system structure of hardware-assisted software RAID is as follows: Figure 2As shown, the host is directly connected to the physical disk device (physical disk #1-n) through the SAS (Serial Attached SCSI, a high-speed interconnect technology using a serial bus), SATA (Serial ATA, a computer bus) or PCIe interface, and communicates with the XOR (Exclusive OR) calculation engine using the PCIe interface or a dedicated interface. The XOR calculation engine can be a dedicated hardware circuit used to significantly improve the efficiency of parity calculation in the RAID system. The operating system software running on the host device is responsible for managing the physical disk array, organizing independent disk devices into logical storage units in a specified manner according to the user-defined RAID level, and coordinating data read and write operations between these disk devices. For the RAID level configured with parity calculation, the operating system software can take on the task of managing and scheduling the XOR calculation engine to ensure the accurate calculation and verification of the parity data, thereby maintaining the integrity and reliability of the data. Although this hardware-assisted software RAID storage system can enhance the overall performance and response speed of the storage system by using the hardware acceleration of the additional XOR calculation engine, the additional XOR calculation engine will increase the configuration cost.

[0040] Therefore, the embodiment of the present invention reuses the XOR calculation engine in the solid-state drive controller, so that the host device can use the solid-state drive controller in the connected solid-state drive to implement hardware acceleration of the RAID function, avoid the need for an additional XOR calculation engine, and achieve a balance between high performance and low cost.

[0041] For details, please refer to Figure 3 , Figure 3 This is a structural block diagram of a solid state drive controller provided by an embodiment of the present invention. The solid state drive controller may include:

[0042] The communication endpoint unit 10, which is connected to the host device for communication, is used to determine the target working mode according to the control instruction sent by the host device; if the target working mode is the XOR accelerator mode, the XOR calculation engine 20 is called to process the direct-connected disk management operation task issued by the host device; wherein the target working mode is any preset working mode, and the preset working mode includes the hard disk controller mode and the XOR accelerator mode; the direct-connected disk management operation task includes the parity check operation task corresponding to the disk device connected to the host device;

[0043] The XOR calculation engine 20 is used to perform calculation processing on the direct-connected disk management calculation task according to the control of the communication endpoint unit 10.

[0044] It can be understood that the communication endpoint unit 10 in this embodiment can be a component for bidirectional communication with the host device. The specific type of the communication endpoint unit 10 in this embodiment, that is, the communication method between the communication endpoint unit 10 and the host device, can be set by the designer according to the usage scenario and user needs. For example, the communication endpoint unit 10 can be connected to the host device through the PCIe bus and communicate using the NMVe protocol, that is, the communication endpoint unit 10 can be specifically a PCIeEndpoint (EP, endpoint) unit, such as Figure 4 The PCIe EP in the SSD controller is specifically the NMVe SSD controller. Figure 4 As shown, PCIe EP can be a key functional component in the PCIe hierarchy, and has the ability to communicate efficiently and bidirectionally with the Root Complex (master control) of the host device; through the PCIe bus, PCIe EP can transmit data, control instructions and execute configuration commands. The communication endpoint unit 10 can also communicate bidirectionally with the host device through other communication methods, and this embodiment does not impose any restrictions on this.

[0045] Correspondingly, the communication endpoint unit 10 in this embodiment can provide a hard disk controller function (such as Figure 4 Function A) and XOR accelerator function (such as Figure 4 Function B in the solid-state hard disk controller) enables the host device to control the start and stop of the two functions, corresponding to the current working mode (i.e., the target working mode) of the solid-state hard disk controller; the target working mode may be a preset working mode. That is to say, the hard disk controller function in this embodiment may be a function of controlling the flash memory connected to the solid-state hard disk controller to provide hard disk storage services for the host device, such as the conventional storage function provided by the solid-state hard disk controller in the related art; the XOR accelerator function may be a function of calling the XOR computing engine 20 in the solid-state hard disk controller to provide the host device with an XOR accelerator; that is, a single solid-state hard disk controller can not only realize the conventional hard disk controller function, but also provide the XOR accelerator function, thereby optimizing the utilization efficiency of hardware resources, reducing the demand for additional hardware, and reducing the configuration cost.

[0046] Accordingly, the communication endpoint unit 10 in this embodiment can determine the target working mode according to the control instruction sent by the host device, such as the host device can send a control instruction for controlling the start and stop of the hard disk controller function and the XOR accelerator function to the communication endpoint unit 10, so that the communication endpoint unit 10 can determine the target working mode of the solid state disk controller from the preset working mode. The preset working mode may include the hard disk controller mode and the XOR accelerator mode. For example, when the host device starts the hard disk controller function and stops the XOR accelerator function (that is, the XOR accelerator function remains silent), the communication endpoint unit 10 can determine the target working mode as the hard disk controller function; when the host device stops the hard disk controller function and starts the XOR accelerator function, the target working mode is determined to be the XOR accelerator mode. Further, the preset working mode can also include a multi-function concurrent mode, that is, the communication endpoint unit 10 can determine the target working mode as the multi-function concurrent mode when the host device starts the hard disk controller function and the XOR accelerator function.

[0047] Among them, in order to facilitate the host device to control the solid state drive controller, such as Figure 4 As shown, when the communication endpoint unit 10 is specifically a PCIe EP, the PCIe EP can provide the host device with a hard disk controller function and an XOR accelerator function through the PCIe SR-IOV (Single Root I / O Virtualization) technology, so that the host device can detect and identify the hard disk controller function (function A) and the XOR accelerator function (function B) provided by the PCIe EP. In other words, the SR-IOV technology allows a single controller to support two or more PCIe physical functions (Physical Functions) or virtual functions (Virtual Functions). The PCIe EP can use the SR-IOV technology to enable the host device to detect and identify the NVMe SSD device corresponding to the hard disk controller function and the XOR accelerator device corresponding to the XOR accelerator function, thereby controlling the start and stop of the hard disk controller function and the XOR accelerator function by calling these two virtualized devices.

[0048] It is understandable that, in this embodiment, the communication endpoint unit 10 can call the XOR calculation engine 20 in the solid-state hard disk controller to process the direct-connected disk management computing tasks issued by the host device when the target working mode is the XOR accelerator mode, so as to use the XOR calculation engine 20 to cooperate with the host's operating system or third-party software to implement hardware-assisted software RAID. In other words, the direct-connected disk management computing tasks in this embodiment can be computing tasks that need to be hardware-accelerated by the XOR calculation engine 20 when the host device manages the directly connected disk device through the RIAD function, such as the direct-connected disk management computing tasks including the parity computing tasks corresponding to the disk device connected to the host device, such as the parity computing tasks of RAID 5 (a RAID storage level) and RAID 6 (a RAID storage level).

[0049] Correspondingly, in this embodiment, the communication endpoint unit 10 can also call the XOR calculation engine 20 and other hardware components in the solid-state hard disk controller when the target working mode is the XOR accelerator mode, control the flash memory connected to the flash memory controller 60, and provide hard disk storage services for the host device.

[0050] For example, the solid state drive controller further includes: a processor 30, an error correction engine 50, a cache 40 (such as Figure 4 The communication endpoint unit 10 is also used to call the XOR calculation engine 20, the processor 30, the error correction engine 50, the cache 40, and the flash controller 60 when the target working mode is the hard disk controller mode, and control the flash memory connected to the flash controller 60 to provide hard disk storage services for the host device. Figure 4 As shown, when the solid-state drive controller is specifically an NMVe SSD controller, the processor 30 (such as a central processing unit CPU) in the solid-state drive controller can run the solid-state drive (SSD) controller software to implement the NVMe standard protocol. The main functions may include managing and scheduling I / O request queues, ensuring redundant protection of data, executing wear leveling strategies, performing garbage collection operations, managing flash memory, and handling and recovering errors.

[0051] The error correction engine 50 in the solid-state drive controller can achieve high-level error detection and correction functions to ensure that the data stored in the flash memory is not affected by bit errors (i.e., unexpected changes in data bits). When writing data to the flash memory, the error correction engine 50 can encode the data to be written and generate error correction codes (ECC, Error Correction Code) as redundant information. These error correction codes are written into the additional area of ​​the flash memory page; when the data is read, the error correction engine 50 is responsible for decoding the data and its corresponding error correction code redundancy; if the number of bit errors detected is within the error correction capability of the error correction engine 50, it will automatically correct these errors to ensure that users can obtain accurate data.

[0052] The flash memory controller 60 in the solid-state drive controller is a key component inside the solid-state drive controller. It can be responsible for managing and coordinating data transmission, ensuring that data is efficiently transmitted between the solid-state drive controller and the flash memory, and performing various tasks related to flash memory operations, such as data writing, reading, erasing, and error correction, thereby ensuring that data can be stored on the flash memory in an efficient and reliable manner.

[0053] Accordingly, the solid-state drive controller usually uses RAID redundancy technology for protection between different flash memory particles to prevent data loss caused by particle failure. The XOR calculation engine in the solid-state drive controller is a dedicated hardware circuit that can be used to accelerate the parity calculation required for levels such as RAID 5 and RAID 6. It can effectively unload the calculation load of the processor 30 in the solid-state drive controller, significantly improve the write performance and data reconstruction speed of the RAID system, and improve the overall efficiency. Furthermore, the XOR calculation engine can include at least two operation units, which can process the XOR operations required for the parity calculation task in parallel, thereby achieving efficient data verification and processing capabilities.

[0054] The solid-state hard disk controller needs to use a cache 40 (high-speed cache, such as dynamic random access memory DRAM) to temporarily store data to be written received from the host device, data read from the flash memory, address mapping table, FTL (Flash Translation Layer, flash translation layer) table and other data to improve data access speed, reduce access latency, reduce the number of direct accesses to the flash memory, and extend the service life of the flash memory. When the flash memory connected to the flash memory controller 60 fails, the cache 40 can also speed up the RAID data reconstruction process.

[0055] That is to say, Figure 4The NVMe SSD controller (i.e., solid-state drive controller) shown in the figure integrates two independent functions: function A as an NVMe SSD controller device and function B as an XOR accelerator device. These two functions have their own independent resource allocations and can operate independently to perform their specific tasks, thereby optimizing the performance and efficiency of the overall system, thereby optimizing resource utilization efficiency by reusing the XOR computing engine resources inside the NVMe SSD controller.

[0056] For example, if Figure 5 As shown, when the communication endpoint unit 10 determines that the target working mode is the hard disk controller mode, that is, the hard disk controller function is activated and the XOR accelerator function remains silent, the NVMe SSD controller can play the role of a normal NVME SSD controller, managing the flash memory particles to provide a complete NVMe SSD storage service (i.e., hard disk storage service) for the host device; that is, the processor 30, error correction engine 50, XOR calculation engine 20 (XOR calculation engine), cache 40 (cache) and Flash controller inside the NVMe SSD controller can work together to realize the hard disk storage service.

[0057] Accordingly, the hard disk storage service may include a protocol processing function for communicating with a host device, a storage data management function, an error data correction function, a wear leveling function, a garbage collection function, and a system monitoring function. Among them, the protocol processing function for communicating with the host device can be used to implement the standard functions defined by the communication protocol (such as the NVMe protocol) for communicating with the host device; the storage data management function is used to manage the write operations and read operations corresponding to the data in the flash memory, that is, the storage data management function can be used to manage the write and read operations of the data to ensure that the data is stored on the flash memory in an efficient manner; the error data correction function is used to detect the error data in the data in the flash memory (such as using the above-mentioned error correction code detection) and correct the error data, that is, the error data correction function can be used to detect and repair data damage to ensure the accuracy and integrity of the data; the wear leveling function is used to use the wear leveling algorithm to evenly distribute the write operations to the flash memory, that is, the wear leveling function can be used to implement the wear leveling algorithm, evenly distribute write operations, and extend the service life of the flash memory; the garbage collection function is used to clean up invalid data blocks in the flash memory, reclaim space, and optimize write performance and storage space usage; the system monitoring function is used to monitor the performance indicators and health status of the solid-state hard disk where the solid-state hard disk controller is located, and perform fault prediction based on the performance indicators and health status to obtain a fault prediction report to provide fault prediction and reporting.

[0058] like Figure 6As shown, when the communication endpoint unit 10 determines that the target working mode is the XOR accelerator mode, that is, the XOR accelerator function is activated and the hard disk controller function remains silent, the NVMe SSD controller can play the role of a hardware XOR accelerator, specifically providing hardware acceleration services for the host device to improve the efficiency of data processing. In this case, the processor 30, error correction engine 50, cache 40 (cache), and Flash controller inside the NVMeSSD controller can all be put into a sleep state to reduce system power consumption and optimize resource usage. In other words, the communication endpoint unit 10 can also be used to set the processor 30, error correction engine 50, cache 40, and flash controller 60 to a sleep state when the target working mode is the XOR accelerator mode.

[0059] Accordingly, Figure 6 The XOR acceleration engine in the NVMe SSD controller can collaborate with the operating system software or third-party software of the host device to implement a hardware-assisted software RAID solution; the operating system software or third-party software running on the host device can be responsible for the following tasks: managing the disk devices (disks D.1-n) in the RIAD array; performing data read and write operations to ensure the accuracy and efficiency of data access; scheduling I / O operations, optimizing data flow and improving system response speed; processing data striping and reorganization to adapt to different data access modes; responsible for data reconstruction when a disk device fails to ensure data integrity and availability; scheduling the XOR acceleration engine to accelerate the parity operation of RAID 5 and RAID 6 levels, that is, the host device can send the parity operation task to the NVMe SSD controller to use the XOR acceleration engine inside the NVMe SSD controller to perform the XOR operation required for the parity operation.

[0060] Furthermore, Figure 6 The demonstration is based on the example of a host device connected to a solid-state drive controller (NVMe SSD controller). For the case where the host device is connected to two or more solid-state drive controllers, such as two solid-state drives, the host device can also send parity calculation tasks to all or part of the connected solid-state drive controllers to use the XOR acceleration engine in multiple solid-state drive controllers to further improve the RAID storage performance of the host device.

[0061] For example, the host device may determine the target controller according to the working conditions of each solid-state hard disk controller; send the current direct-connected disk management operation task (such as a parity check operation task) to the target controller, and control and adjust the working mode of the target controller; wherein the target controller may be any solid-state hard disk controller among the solid-state hard disk controllers connected to the host device; for example, when there is an unworking solid-state hard disk controller among the solid-state hard disk controllers connected to the host device, a solid-state hard disk controller is selected from the unworking solid-state hard disk controllers as the target controller to execute the current direct-connected disk management operation task; when there is no unworking solid-state hard disk controller, the target controller is determined from the solid-state hard disk controllers according to the preset working mode priority order; for example, the preset working mode priority order may be that the priority of the XOR accelerator mode is higher than the priority of the hard disk controller mode is higher than the priority of the multi-function form concurrent mode, so as to preferentially call the solid-state hard disk controller whose hard disk controller function is not started for hardware acceleration; the preset working mode priority order may also be that the priority of the hard disk controller mode is higher than the priority of the XOR accelerator mode is higher than the priority of the multi-function form concurrent mode, or other priority orders, and this embodiment does not impose any restrictions on this.

[0062] Furthermore, when the preset working mode also includes a multi-function concurrent mode, the communication endpoint unit 10 determines that the target working mode is a multi-function concurrent mode, that is, the XOR accelerator function and the hard disk controller function are both activated, and the communication endpoint unit 10 time-shares the XOR computing engine 20 to provide hard disk storage services for the host device and process direct-connected disk management computing tasks. In other words, the XOR accelerator function and the hard disk controller function can share the XOR computing engine resources inside the controller through a time-share multiplexing mechanism to optimize resource utilization efficiency. The hard disk controller function can be responsible for managing the connected flash memory and providing efficient and reliable hard disk storage services; at the same time, the XOR accelerator function can use the capabilities of the XOR computing engine to provide hardware acceleration for parity calculations, collaborate with the host device to manage its connected disk devices, and implement independent RAID storage array services.

[0063] Correspondingly, the specific method of the communication endpoint unit 10 time-division multiplexing the XOR calculation engine 20 to provide the host device with hard disk storage services and process the direct-connected disk management computing tasks can be set by the designer according to practical scenarios and user needs. For example, the communication endpoint unit 10 can use the processor 30 in the solid-state hard disk controller to call the XOR calculation engine 20 in chronological order to complete these parity calculation tasks according to the issuance time of the parity calculation tasks issued by the host device and the generation time of the parity calculation tasks generated by itself; the communication endpoint unit 10 can use the processor 30 in the solid-state hard disk controller to call the XOR calculation engine 20 according to the preset multiplexing priority order to complete the parity calculation tasks issued by the host device and the parity calculation tasks generated by itself; for example, the preset multiplexing priority order can be that the priority of the parity calculation tasks generated by itself is higher (or lower) than the priority of the parity calculation tasks issued by the host device. This embodiment does not impose any restrictions on this.

[0064] In this embodiment, the solid-state hard disk controller supports two working modes: hard disk controller mode and XOR accelerator mode. In the XOR accelerator mode, the XOR calculation engine 20 inside the solid-state hard disk controller can be called to process the parity calculation task of the host device managing the disk device, so as to utilize the solid-state hard disk controller in the solid-state hard disk connected to the host device to realize hardware acceleration of the RAID function of the host device, reduce the burden on the host CPU, and do not need to set up additional dedicated hardware devices, thereby achieving a balance between high performance and low cost.

[0065] Corresponding to the above solid state drive controller embodiment, the embodiment of the present invention further provides a solid state drive. The solid state drive described below and the solid state drive controller described above can refer to each other.

[0066] A solid state drive comprises: a solid state drive controller as provided in the above embodiment and a flash memory connected to the solid state drive controller.

[0067] The solid state drive provided in this embodiment may be specifically an NMVe SSD, and the flash memory in the solid state drive may be specifically NAND Flash.

[0068] Corresponding to the above solid state drive controller embodiment, an embodiment of the present invention further provides a storage system. The storage system described below and the solid state drive controller described above can refer to each other.

[0069] A storage system, comprising: a host device, a disk device and the above-mentioned solid state hard disk;

[0070] The host device is respectively connected to the disk device and the solid state hard disk for communication.

[0071] Specifically, the host device may be a server host or a computer.

[0072] It is understandable that this embodiment does not limit the specific number of solid-state hard disks connected to the host device. For example, the number of solid-state hard disks may be 1, or may be greater than or equal to 2.

[0073] In some embodiments, when the number of solid-state hard disks connected to the host device is greater than or equal to 2, the host device may determine a target controller according to the working conditions of each solid-state hard disk controller; send the current direct-connected disk management operation task (such as a parity check operation task) to the target controller, and control and adjust the working mode of the target controller; wherein the target controller may be any solid-state hard disk controller among the solid-state hard disk controllers connected to the host device; for example, when there is an unworking solid-state hard disk controller among the solid-state hard disk controllers connected to the host device, a solid-state hard disk controller is selected from the unworking solid-state hard disk controllers as the target controller to execute the current direct-connected disk management operation task; when there is no unworking solid-state hard disk controller, the target controller is determined from the solid-state hard disk controllers according to a preset working mode priority order; for example, the preset working mode priority order may be that the priority of the XOR accelerator mode is higher than the priority of the hard disk controller mode is higher than the priority of the multi-function form concurrent mode, so as to preferentially call the solid-state hard disk controller whose hard disk controller function is not started for hardware acceleration; the preset working mode priority order may also be that the priority of the hard disk controller mode is higher than the priority of the XOR accelerator mode is higher than the priority of the multi-function form concurrent mode, or other priority orders, and this embodiment does not impose any restrictions on this.

[0074] Corresponding to the above solid state drive controller embodiment, the embodiment of the present invention further provides a server. The server described below and the solid state drive controller described above can refer to each other.

[0075] A server includes: the storage system provided by the above embodiment.

[0076] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the solid-state hard disk, storage system and server disclosed in the embodiments, since they correspond to the system disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the system description.

[0077] The above is a detailed introduction to a solid-state drive controller, a solid-state drive, and a storage system provided by the present invention. This article uses specific examples to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, the present invention can also be improved and modified in a number of ways, and these improvements and modifications also fall within the scope of protection of the present invention.

Claims

1. A solid state hard disk controller, characterized in that: include: A communication endpoint unit connected to the host device for determining a target operating mode according to a control instruction sent by the host device; If the target working mode is the XOR accelerator mode, the XOR computing engine is called to process the direct-connected disk management computing task issued by the host device; wherein the target working mode is any preset working mode, and the preset working mode includes the hard disk controller mode and the XOR accelerator mode; the direct-connected disk management computing task includes the parity check computing task corresponding to the disk device connected to the host device; The XOR calculation engine is used to perform calculation processing on the direct-connected disk management calculation task according to the control of the communication endpoint unit.

2. The solid state drive controller according to claim 1, wherein: Also includes: processor, error correction engine, cache, and flash controller; The communication endpoint unit is also used to call the XOR calculation engine, the processor, the error correction engine, the cache, and the flash memory controller when the target working mode is the hard disk controller mode, control the flash memory connected to the flash memory controller, and provide hard disk storage services for the host device.

3. The solid state hard disk controller according to claim 2, characterized in that: The communication endpoint unit is also used to set the processor, the error correction engine, the cache, and the flash memory controller to a sleep state when the target operating mode is the XOR accelerator mode.

4. The solid state hard disk controller according to claim 2, characterized in that: The hard disk storage service includes a protocol processing function for communicating with the host device, a storage data management function, an error data correction function, a wear leveling function, a garbage collection function and a system monitoring function; Wherein, the protocol processing function is used to implement the standard functions defined by the communication protocol for communicating with the host device; The storage data management function is used to manage the write operation and the read operation corresponding to the data in the flash memory; The error data correction function is used to detect error data in the data in the flash memory and correct the error data; The wear leveling function is used to evenly distribute the write operation of writing data into the flash memory by using a wear leveling algorithm; The garbage collection function is used to clean up invalid data blocks in the flash memory; The system monitoring function is used to monitor the performance indicators and health status of the solid-state hard disk where the solid-state hard disk controller is located, and to perform fault prediction based on the performance indicators and the health status to obtain a fault prediction report.

5. The solid state drive controller according to claim 1, wherein: The communication endpoint unit is connected to the host device via a peripheral component express interconnect bus and communicates using a non-volatile memory standard protocol.

6. The solid state hard disk controller according to claim 5, characterized in that: The communication endpoint unit is also used to provide the host device with a hard disk controller function and an XOR accelerator function through a single-root input / output virtualization technology.

7. The solid state drive controller according to claim 1, wherein: The XOR calculation engine includes at least two operation units; the operation units are used to process the XOR operations corresponding to the direct-connected disk management operation tasks in parallel.

8. The solid state hard disk controller according to any one of claims 1 to 7, characterized in that: The preset working mode also includes a multi-functional concurrent mode; The communication endpoint unit is also used to time-share the XOR computing engine when the target working mode is the multi-functional concurrent mode, provide hard disk storage services for the host device and process the direct-connected disk management computing tasks.

9. A solid state hard disk, characterized in that: include: A solid state drive controller as claimed in any one of claims 1 to 8 and a flash memory connected to the solid state drive controller.

10. A storage system, characterized in that: include: A host device, a disk device, and a solid state hard disk as claimed in claim 9; Wherein, the host device is communicatively connected with the magnetic disk device and the solid state hard disk respectively.

Citation Information

Cited By

  • Redundant array of independent disks controller, control method and device thereof and host equipment

    CN119292528A

  • Redundant array of independent disks controller, method, device and host apparatus for controlling the same

    CN119292528B

  • Memory and task processing method

    CN119917291A

  • A memory and a task processing method

    CN119917291B

  • Data protection method, system and device, storage medium and product

    CN120687042A