Engine multiplexing and parallel computing device and method for RAID5 and RAID6 in SSD master control

By designing the engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control, using components such as data arbitration module, exclusive or computing module, the switching and parallel computing of RAID5 and RAID6 modes are realized, solving the problems of insufficient hardware resource utilization and high cost in the existing technology, and expanding the application scenarios of chips.

CN119718209AActive Publication Date: 2025-03-28SHANDONG SINOCHIP SEMICON CO LTD

Patent Information

Application Number
CN202411981238.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-03-28
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

It is difficult for existing SSD masters to efficiently support the two data backup modes of RAID5 and RAID6 under the same set of hardware logic, resulting in insufficient utilization of hardware resources and high cost.

Method used

A engine multiplexing and parallel computing device for RAID5 and RAID6 in SSD master control is designed. Through the combination of data arbitration module, exclusive OR computing module, data transmission module, data cache module and Galahua domain change module, switching and parallel computing of RAID5 and RAID6 modes are realized.

Benefits of technology

It realizes supporting RAID5 and RAID6 modes under the same set of hardware logic, making full use of hardware computing resources, reducing costs, and expanding chip application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718209A_ABST
    Figure CN119718209A_ABST
Patent Text Reader

Abstract

The invention relates to the field of chip design, in particular to an engine multiplexing and parallel computing device and method for RAID5 and RAID6 in SSD master control. The device comprises a data arbitration module, an XOR calculation module, a data transmission module, a Galois field change module and a data caching module, and in an RAID5 mode, the data arbitration module, the XOR calculation module, the data transmission module and the data caching module are connected in sequence; in the RAID6 mode, all the XOR calculation modules are divided into two groups, one group is connected with the data arbitration module, the data transmission module and the data cache and used for performing XOR calculation on original data, and the other group is connected with the data arbitration module, the Galois field change module, the data transmission module and the data cache module and used for performing XOR calculation on data subjected to Galois field conversion. The two working modes of RAID5 and RAID6 are supported in the SSD main control, and switching of the two modes can be achieved by configuring the register.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of chip design, and in particular to an engine multiplexing and parallel computing device and method for RAID5 and RAID6 in an SSD master control. Background Art

[0002] With the development of artificial intelligence and the Internet of Things, digital information has exploded, and the storage and protection of massive data have ushered in huge development opportunities. The demand for server storage performance is also increasing. RAID (Redundant Arrays of Independent Disks) technology has become an indispensable part of large servers and storage systems, and RAID5 / 6 technology has gradually been widely used in application scenarios that require high stability and security, such as: data centers, video surveillance, digital content creation, and financial institutions. RAID6 has higher fault tolerance than RAID5, but because RAID6 generates two sets of verification data with low utilization of storage space, the cost of RAID6 is higher than RAID5. Generally, one of the two RAID modes is selected in use based on the comprehensive cost and data importance. Summary of the invention

[0003] In view of the defects of the prior art, the present invention provides an engine multiplexing and parallel computing device and method for RAID5 and RAID6 in an SSD master controller, which supports two working modes, RAID5 and RAID6, in the SSD solid state hard disk master controller. The switching between the two modes can be achieved by configuring registers, thereby making full use of hardware computing resources.

[0004] In order to solve the technical problem, the technical solution adopted by the present invention is: an engine multiplexing and parallel computing device for RAID5 and RAID6 in an SSD master control, including a data arbitration module, an XOR computing module, a data transmission module, a data cache module and a Galois field change module, the data arbitration module is connected to the data source, and is used to route the unit data blocks from the upstream module of the data flow to each XOR computing module or Galois field change module, the Galois field change module is connected to the data arbitration module, and is used to perform Galois field conversion on the data, the XOR computing module is connected to the data arbitration module and / or the Galois field change module, and is used to complete a certain XOR operation and result transmission of the unit data block through data pipelining operation, the data transmission module is connected to the XOR computing module, and is used to route the result data block of the XOR computing module to the data cache module, and the data cache module is connected to the data transmission module, and is used to cache the temporary XOR calculation result; In RAID5 mode, the data arbitration module, XOR calculation module, data transmission module, and data cache module are connected in sequence. The data received by the data arbitration module is transmitted to the XOR calculation module for XOR calculation, and the XOR result is transmitted to the data cache array via the data transmission module. In RAID6 mode, all XOR calculation modules are divided into two groups. One group is connected to the data arbitration module, data transmission module, and data cache module to perform XOR operation on the original data. The other group is connected to the data arbitration module, Galois field change module, data transmission module, and data cache module to perform XOR operation on the data after Galois field conversion.

[0005] Furthermore, the switching between RAID5 mode and RAID6 mode is achieved by configuring registers.

[0006] Furthermore, the upstream module of the data flow sends a request for transmitting a unit data block to the data arbitration module. The data arbitration module determines whether there is an XOR calculation module that is currently in an idle state. If so, the data block is passed to the XOR calculation module. If not, the arbitration module rejects the data transmission request from the upstream module.

[0007] Furthermore, there are multiple XOR calculation modules, and multiple XOR calculation modules realize parallel processing of multi-channel data.

[0008] Furthermore, the number of XOR calculation modules is determined according to the maximum access efficiency of the externally mounted Flash supported by the SSD main control chip.

[0009] Furthermore, the XOR calculation module performs a first XOR calculation based on the first data and the second data, and then performs an XOR calculation based on the current data and the previous XOR calculation result.

[0010] Furthermore, in RAID 6 mode, the data cache area is divided into two parts of equal size for storing two sets of verification data.

[0011] The present invention also discloses an engine multiplexing and parallel computing method for SSD master control RAID5 and RAID6, comprising the following steps: S01, the data arbitration module receives the data to be calculated, and determines whether it is RAID6 mode according to the register configuration. If not, proceed to steps S02, S03, and S04. If yes, proceed to step S05; S02, determining whether it is the first data, and if so, sending the first data to the data cache module through the data transmission module; S03, the data arbitration module continues to receive data, and performs XOR calculation on the second data and the first data through the XOR calculation module, and sends the calculation result to the data cache module through the data transmission module; S04, for each subsequent data, perform XOR calculation on it and the XOR calculation result of the previous time, and send the calculation result to the data cache module through the data transmission module; S05. Divide all XOR calculation modules into two groups, one group is connected to the data arbitration module, the data transmission module, and the data cache module, and is used to perform XOR operation on the original data. The operation process is the same as steps S02, S03, and S04. The other group is connected to the data arbitration module, the Galois field module, the data transmission module, and the data cache module, and is used to perform XOR operation on the data after Galois field conversion. The operation process is: determine whether it is the first data. If so, the first data is sent to the data cache module through the data transmission module after undergoing Galois field conversion; the data arbitration module continues to receive data, and the second data is XORed with the first data in the data cache module through the XOR calculation module after undergoing Galois field conversion, and the calculation result is sent to the data cache module through the data transmission module; for each subsequent data, it is XORed with the last XOR calculation result after undergoing Galois field conversion, and the calculation result is sent to the data cache module through the data transmission module.

[0012] Furthermore, in step S05, two groups of XOR calculation modules run in parallel.

[0013] Furthermore, in step S05, all XOR calculation modules are divided into two groups of equal numbers.

[0014] Beneficial effects of the present invention: The present invention uses the same set of hardware logic to support two data backup methods. Chip developers can choose to use RAID5 or RAID6 according to the importance of the data and the size of the off-chip storage space (Flash), expanding the application scenarios of the chip. For example, it can be used as RAID6 in a data center and as RAID5 in a consumer SSD. Even in the same scenario, the working mode can be subdivided, and different data types can be backed up in different categories. Important data is backed up using RAID6, and general data is backed up using RAID5.

[0015] Compared with the hardware logic of pure RAID5, this design only adds a Galois Field conversion module and certain control logic to dynamically allocate on-chip storage units, realizing two data backup methods, RAID5 and RAID6, exchanging smaller overhead for greater flexibility, and contributing to expanding the product's use. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 This is the schematic diagram of the device in RAID5 mode; Figure 2 This is the schematic diagram of the device in RAID6 mode; Figure 3 Schematic diagrams of performing XOR calculation on original data and data converted by Galois Field respectively; Figure 4 This is a flow chart of the method described in Example 2. DETAILED DESCRIPTION

[0017] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments.

[0018] Example 1 This embodiment discloses a RAID5 and RAID6 engine multiplexing and parallel computing device in an SSD master control, including a data arbitration module, an XOR computing module, a data transmission module, a data cache module and a Galois field change module.

[0019] The data arbitration module is connected to the data source and is used to route the unit data blocks from the upstream modules of the data flow to each XOR calculation module or Galois field change module. The upstream module of the data flow in the chip sends a request to transmit the unit data block to the arbitration module. The arbitration module determines whether there is an XOR calculation module in an idle state. If so, the data block is passed to the XOR calculation module. If not, the arbitration module rejects the data transmission request from the upstream module.

[0020] The Galois Field transformation module is connected to the data arbitration module and is used to perform Galois Field transformation on the data, including a multiplication algorithm unit, a lookup table, etc., to achieve single iterative data operations regardless of program or recover.

[0021] The XOR calculation module is embedded with an SRAM, and its size depends on the maximum value of the unit data block defined in the system. The XOR calculation module is connected to the data arbitration module and / or the Galois field change module, and is used to complete a certain XOR operation of the unit data block and the result transmission through data pipelining. Specifically, it includes: 1. Cache the received data block to the embedded SRAM, 2. XOR the cached data block with the fixed unit data block from the data transmission module and cache the XOR result in the embedded SRAM, 3. Output the cached XOR calculation result data block to the data transmission module. In this embodiment, the number of calculation modules is determined according to the overall data flow rate inside the chip, that is, the maximum access efficiency of the externally mounted Flash supported, to achieve parallel processing of multi-channel data and improve system efficiency.

[0022] The data transmission module is connected to the XOR calculation module and is used to route the result data block of the XOR calculation module to the data cache module so that the parity data of the entire stripe can be written to the corresponding Flash area later. During the RAID process, it is responsible for transmitting the temporary XOR calculation result of a single fixed unit of data block to the data cache module. The temporary result is read out and transmitted to the calculation module during the next calculation. The XOR calculation module is responsible for performing XOR calculation on it and the data transmitted from the arbitration module.

[0023] The data cache module is connected to the data transmission module and is used to cache temporary XOR calculation results. The size of the data cache module is determined by the capacity of the externally mounted Flash supported by the chip.

[0024] like Figure 1 As shown, in RAID5 mode, the data arbitration module, the XOR calculation module, the data transmission module, and the data cache module are connected in sequence, the data received by the data arbitration module is passed to the XOR calculation module for XOR calculation, and the XOR result is transmitted to the data cache module via the data transmission module.

[0025] like Figure 2 As shown, in RAID6 mode, all XOR calculation modules are divided into two groups, one group is connected to the data arbitration module, data transmission module, and data cache, and is used to perform XOR operations on the original data, and the other group is connected to the data arbitration module, Galois field change module, data transmission module, and data cache module, and is used to perform XOR operations on the data after Galois field conversion. In RAID6 mode, the data cache area is divided into two equal parts for storing two sets of verification data.

[0026] In this embodiment, the RAID5 mode and the RAID6 mode are switched by configuring the register. The default is the RAID5 mode.

[0027] In this embodiment, the XOR calculation module performs a first XOR calculation based on the first data and the second data, and then performs an XOR calculation based on the current data and the previous XOR calculation result.

[0028] Example 2 This embodiment discloses an SSD master control RAID5 and RAID6 engine multiplexing and parallel computing device, such as Figure 4 As shown, the following steps are included: S01, the data arbitration module receives the data to be calculated, and determines whether it is RAID6 mode according to the register configuration. If not, proceed to steps S02, S03, and S04. If yes, proceed to step S05; S02, determining whether it is the first data, and if so, sending the first data to the data cache module through the data transmission module; S03, the data arbitration module continues to receive data, and performs XOR calculation on the second data and the first data through the XOR calculation module, and sends the calculation result to the data cache module through the data transmission module; S04, for each subsequent data, perform XOR calculation on it and the XOR calculation result of the previous time, and send the calculation result to the data cache module through the data transmission module; S05. Divide all XOR calculation modules into two groups, one group is connected to the data arbitration module, the data transmission module, and the data cache module, and is used to perform XOR operation on the original data. The operation process is the same as steps S02, S03, and S04. The other group is connected to the data arbitration module, the Galois field module, the data transmission module, and the data cache module, and is used to perform XOR operation on the data after Galois field conversion. The operation process is: determine whether it is the first data. If so, the first data is sent to the data cache module through the data transmission module after undergoing Galois field conversion; the data arbitration module continues to receive data, and the second data is XORed with the first data in the data cache module through the XOR calculation module after undergoing Galois field conversion, and the calculation result is sent to the data cache module through the data transmission module; for each subsequent data, it is XORed with the last XOR calculation result after undergoing Galois field conversion, and the calculation result is sent to the data cache module through the data transmission module.

[0029] In step S05, all XOR calculation modules are divided into two groups of equal number, and the two groups of XOR calculation modules run in parallel.

[0030] Figure 3 The diagrams are respectively schematic diagrams of XOR calculation on the original data and the data after Galois Field conversion; in RAID5 mode, only XOR calculation on the original data is involved, and in RAID6 mode, the two methods are carried out in parallel.

[0031] The present invention is a solution that supports two working modes, RAID5 and RAID6, in an SSD (Solid State Disk) solid state hard disk master control. The switching between the two modes can be realized by configuring registers. The process of realizing RAID5 / 6 includes exclusive OR (XOR) calculation. The method realizes the reuse of exclusive OR calculation modules in the RAID5 / 6 mode, and all exclusive OR calculation modules in the RAID5 mode can be called. In the RAID6 mode, the exclusive OR calculation modules are divided into two groups, and two groups of verification data are calculated in parallel, which can make full use of hardware computing resources.

[0032] The above description is only the basic principle and preferred embodiments of the present invention. Improvements and substitutions made by those skilled in the art based on the present invention belong to the protection scope of the present invention.

Claims

1. A device for multiplexing and parallel computing of RAID5 and RAID6 engines in an SSD master control, characterized in that: It includes a data arbitration module, an XOR calculation module, a data transmission module, a data cache module and a Galois field change module. The data arbitration module is connected to the data source and is used to route the unit data blocks from the upstream module of the data flow to each XOR calculation module or the Galois field change module. The Galois field change module is connected to the data arbitration module and is used to perform Galois field conversion on the data. The XOR calculation module is connected to the data arbitration module and / or the Galois field change module and is used to complete a certain XOR operation of the unit data block and result transmission through data pipelining. The data transmission module is connected to the XOR calculation module and is used to route the result data block of the XOR calculation module to the data cache module. The data cache module is connected to the data transmission module and is used to cache temporary XOR calculation results. In RAID5 mode, the data arbitration module, XOR calculation module, data transmission module, and data cache module are connected in sequence. The data received by the data arbitration module is transmitted to the XOR calculation module for XOR calculation, and the XOR result is transmitted to the data cache array via the data transmission module. In RAID6 mode, all XOR calculation modules are divided into two groups. One group is connected to the data arbitration module, data transmission module, and data cache module to perform XOR operation on the original data. The other group is connected to the data arbitration module, Galois field change module, data transmission module, and data cache module to perform XOR operation on the data after Galois field conversion.

2. The engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control according to claim 1, characterized in that: The RAID5 mode and RAID6 mode are switched by configuring registers.

3. The engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control according to claim 1, characterized in that: The upstream module of the data flow sends a request for transmitting a unit data block to the data arbitration module. The data arbitration module determines whether there is an idle XOR calculation module at present. If so, the data block is passed to the XOR calculation module. If not, the arbitration module rejects the data transmission request from the upstream module.

4. The engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control according to claim 1, characterized in that: There are multiple XOR calculation modules, and multiple XOR calculation modules realize parallel processing of multi-channel data.

5. The engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control according to claim 4, characterized in that: The number of XOR calculation modules is determined according to the maximum access efficiency of the externally mounted Flash supported by the SSD main control chip.

6. The engine multiplexing and parallel computing device of RAID5 and RAID6 in the SSD master control according to claim 1, characterized in that: The XOR calculation module performs a first XOR calculation based on the first data and the second data, and then performs an XOR calculation based on the current data and the previous XOR calculation result.

7. The RAID5 and RAID6 multiplexing and parallel computing device in the SSD master control according to claim 1, characterized in that: In RAID6 mode, the data cache area is divided into two parts of equal size to store two sets of verification data.

8. A method for multiplexing and parallel computing of RAID5 and RAID6 engines in an SSD master control, characterized by: The following steps are involved: S01, the data arbitration module receives the data to be calculated, and determines whether it is RAID6 mode according to the register configuration. If not, proceed to steps S02, S03, and S04. If yes, proceed to step S05; S02, determining whether it is the first data, and if so, sending the first data to the data cache module through the data transmission module; S03, the data arbitration module continues to receive data, and performs XOR calculation on the second data and the first data through the XOR calculation module, and sends the calculation result to the data cache module through the data transmission module; S04, for each subsequent data, perform XOR calculation on it and the XOR calculation result of the previous time, and send the calculation result to the data cache module through the data transmission module; S05, all XOR calculation modules are divided into two groups, one group is connected to the data arbitration module, the data transmission module, and the data cache module, and is used to perform XOR operation on the original data. The operation process is the same as steps S02, S03, and S04. The other group is connected to the data arbitration module, the Galois field module, the data transmission module, and the data cache module, and is used to perform XOR operation on the data converted by the Galois field. The operation process is: determine whether it is the first data. If so, the first data is changed by the Galois field and then sent to the data cache module through the data transmission module; The data arbitration module continues to receive data, and after the second data is transformed by the Galois field, it is XOR-calculated with the first data in the data cache module through the XOR calculation module, and the calculation result is sent to the data cache module through the data transmission module; for each subsequent data, it is XOR-calculated with the last XOR calculation result after being transformed by the Galois field, and the calculation result is sent to the data cache module through the data transmission module.

9. The method for multiplexing and parallel computing of engines of RAID5 and RAID6 in an SSD master control according to claim 8, characterized in that: In step S05, two groups of XOR calculation modules run in parallel.

10. The method for multiplexing and parallel computing of RAID and RAID6 engines in an SSD master control according to claim 8, characterized in that: In step S05, all XOR calculation modules are divided into two groups of equal numbers.

Citation Information

Patent Citations

  • Architecture and data processing method for hardware RAID 5 / 6 memory system

    CN102609221A

  • RS high-speed coding circuit

    CN112468161A

  • Data reading request processing method and device, electronic equipment and storage medium

    CN118567904A

  • Galois field multiplier and erasure coding and decoding system

    WO2023134130A1

  • Raid encoding / decoding method and apparatus, device and readable storage medium

    WO2023184843A1

Cited By

  • Parallel computing method and device of redundant disk array and server

    CN121433568A