RAID (Redundant Array of Independent Disks) storage system and method, chip, component, electronic equipment and storage medium

By buffering data to the high-write performance storage area before supercapacitor calibration and migrating data with flash memory, the problem of degradation in RAID systems during charge and discharge is solved, and efficient data persistence and performance maintenance during calibration is achieved.

CN120508252APending Publication Date: 2025-08-19SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510589502.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-08
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

During the charging and discharging of supercapacitors in RAID systems, the prior art requires switching the RAID controller to Write Through mode, resulting in severe performance degradation and affecting the overall performance of the system.

Method used

By buffering data to the first storage area of ​​the cache storage device with higher write performance at the point before the supercapacitor starts capacitance calibration, and recovering the cache policy after calibration is completed, in conjunction with flash for data migration, ensuring data persistence and performance optimization.

Benefits of technology

Maintain the high performance of the RAID system during supercapacitor calibration, avoid data loss, ensure that the system instantaneously returns to the peak performance state after calibration, and maintains storage efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120508252A_ABST
    Figure CN120508252A_ABST
Patent Text Reader

Abstract

The invention provides an RAID storage system and method, a chip, a component, electronic equipment and a storage medium, and relates to the field of data processing, the system comprises a host, a controller, a super capacitor and a plurality of storage devices; the plurality of storage devices comprise at least one storage device of a first type, the storage device of the first type comprises a first storage area and a second storage area, and the writing performance of the first storage area is higher than that of the second storage area; after a first time point, the controller reads data of the host and stores the data into a first storage area in a cache storage device; the cache storage device returns a storage address of the data in the first storage area to the controller; and after receiving the storage address, the controller sends the storage address to a target storage device. And the performance of the RAID controller in the charging and discharging period of the super capacitor is obviously improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and in particular to a RAID system, method, chip, component, electronic device, and storage medium. Background Art

[0002] RAID (Redundant Array of Independent Disks) storage technology combines multiple physical hard drives into a single logical storage unit through carefully designed combinations. This not only significantly improves data read and write speeds, but also enhances system fault tolerance by increasing data redundancy. This technology is implemented through dedicated hardware—the RAID controller—which operates independently of the host system. Its built-in dedicated chip efficiently handles complex tasks such as data striping, parity checking, erasure coding, and data reconstruction, significantly reducing the workload on the host CPU. Furthermore, RAID controllers typically integrate high-speed cache, which not only improves the speed and response time of I / O operations, but also offers significant performance advantages when handling high-concurrency and large-scale data tasks.

[0003] In a RAID system, when the RAID controller's cache policy is enabled, if a host requests an I / O write request to a hard drive, the RAID controller first writes the I / O data to the controller's cache and immediately responds to the host, notifying the host that the I / O has been completed. When the cached data accumulates to a certain level, the RAID controller flushes the data to the corresponding downstream physical hard drive. This improves the efficiency of responding to I / O requests and increases the speed of data writes through data aggregation and batch writes. However, to use the cache policy, the RAID controller must support power-off protection. To ensure the security of data in the cache, a supercapacitor is typically configured in the RAID controller. The supercapacitor protection module works by using the supercapacitor to write data in the RAID controller's cache to NAND Flash (a type of flash memory) for permanent storage in the event of an unexpected system power outage. Regular charging and discharging of the supercapacitor is necessary to maintain its performance, assess its health, optimize its lifespan, and ensure reliability. During the supercapacitor's charging and discharging period, the RAID controller cannot provide complete power-off protection. Therefore, to ensure the integrity and security of data in the RAID controller's cache, the existing method is to pre-set the RAID controller to write-through mode. During this period, the RAID controller's internal cache is no longer used to cache data. As a result, the RAID controller's performance will be severely degraded, affecting the overall performance of the system. Summary of the Invention

[0004] The present application provides a RAID system, method, chip, component, electronic device and storage medium.

[0005] In one aspect, an embodiment of the present application provides a RAID system, comprising a host, a controller, a supercapacitor, and multiple storage devices; the controller having a first end electrically connected to the host, a second end electrically connected to the supercapacitor, and a third end electrically connected to at least one storage device; the multiple storage devices including at least one first type of storage device, the first type of storage device including a first storage area and a second storage area, the first storage area having higher write performance than the second storage area;

[0006] The controller reads data from the host after a first time point and stores the data in a first storage area of a cache storage device, wherein the first time point is determined based on a time point when the supercapacitor starts capacitance calibration, and the cache storage device is a first type of storage device having a remaining space in the first storage area that is greater than or equal to the size of the data;

[0007] The cache storage device returns the storage address of the data in the first storage area to the controller;

[0008] After receiving the storage address, the controller sends the storage address to a target storage device, where the target storage device is the storage device to which the data belongs.

[0009] Wherein, the system further includes a flash memory, and the fourth terminal of the controller is electrically connected to the flash memory; the controller further includes a cache area;

[0010] After the first time point, the controller determines that at least one piece of data exists in the cache area, and stores the data in the flash memory;

[0011] The flash memory returns the storage address of the data in the flash memory to the controller;

[0012] After receiving the storage address, the controller sends the storage address to a target storage device corresponding to the data.

[0013] wherein, after a first time point, the controller determines that at least one piece of data exists in the cache area, and obtains a target storage device corresponding to the data;

[0014] The data is stored in the target storage device.

[0015] Among them, the controller reads the data of the host after the second time point, stores the data in the cache area, and sends the storage address of the data in the cache area to the target storage device. The second time point is the time point when the supercapacitor ends capacitance calibration.

[0016] The target storage device reads the data from the first storage area of the cache storage device based on the storage address.

[0017] Wherein, if the target storage device determines that the cache storage device indicated by the storage address is consistent with the target storage device, the target storage device reads the data from the first storage area of the target storage device based on the storage address and stores the data in the second storage area.

[0018] wherein, the target storage device determines that the cache storage device indicated by the storage address is inconsistent with the target storage device, and then sends a read request to the controller based on the storage address;

[0019] After receiving the read request, the controller determines the cache storage device corresponding to the read request and sends the read request to the cache storage device;

[0020] After receiving the read request, the cache storage device returns the data to the target storage device based on the storage address;

[0021] The target storage device receives the data returned by the cache storage device and stores the data in the second storage area.

[0022] Among them, the controller reads the data of the host after the first time point and determines the target storage device corresponding to the data; and when the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the data is stored in the first storage area of the target storage device.

[0023] Another aspect of the present application provides a RAID storage method, the method comprising:

[0024] After a first time point, reading data from the host, the first time point being determined based on a time point at which capacitance calibration of the supercapacitor begins;

[0025] storing the data in a first storage area of a cache storage device, wherein the cache storage device is a first type of storage device having a remaining space in the first storage area that is greater than or equal to the size of the data, the first type of storage device including a first storage area and a second storage area, and the write performance of the first storage area being higher than the write performance of the second storage area;

[0026] The cache storage device returns the storage address of the data in the first storage area to the controller;

[0027] receiving a storage address of the data in the first storage area returned by the cache storage device;

[0028] The storage address is sent to a target storage device, where the target storage device is the storage device to which the data belongs.

[0029] The method further comprises:

[0030] receiving a read request sent by the target storage device, and determining a cache storage device corresponding to the read request;

[0031] The read request is sent to the cache storage device, so that the cache storage device returns the data to the target storage device based on the storage address after receiving the read request.

[0032] The step of storing the data in a first storage area of a cache storage device includes:

[0033] determining a target storage device corresponding to the data;

[0034] If the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the data is stored in the first storage area of the target storage device.

[0035] Another aspect of an embodiment of the present application provides a chip, the chip including a processor, and the processor capable of executing the RAID storage method.

[0036] Another aspect of an embodiment of the present application provides a component, which includes a chip. The chip includes a processor, and the processor is capable of executing the RAID storage method.

[0037] Another aspect of an embodiment of the present application provides an electronic device, which includes components, the components include a chip, the chip includes a processor, and the processor is capable of executing the RAID storage method.

[0038] Another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the RAID storage method.

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

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

[0041] In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.

[0042] Figure 1 A schematic structural diagram of a RAID storage system according to an embodiment of the present application is shown;

[0043] Figure 2 A schematic structural diagram of a RAID storage system according to another embodiment of the present application is shown;

[0044] Figure 3 A flowchart of a RAID storage method according to an embodiment of the present application is shown;

[0045] Figure 4 A flowchart of a RAID storage method according to another embodiment of the present application is shown;

[0046] Figure 5 A flow chart of a RAID storage method according to another embodiment of the present application is shown. DETAILED DESCRIPTION

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

[0048] In order to improve the performance of the RAID controller during the charging and discharging period of the supercapacitor, thereby not affecting the overall performance of the RAID system, an embodiment of the present application provides a RAID storage system, such as Figure 1 As shown, the system 100 includes a host 101, a controller 102, a super capacitor 103 and multiple storage devices 104; the first end of the controller 102 is electrically connected to the host 101, the second end is electrically connected to the super capacitor 103, and the third end is electrically connected to the at least one storage device 104; the multiple storage devices 104 include at least one first type of storage device 104, the first type of storage device 104 includes a first storage area 1041 and a second storage area 1042, and the write performance of the first storage area 1041 is higher than the write performance of the second storage area 1042.

[0049] In this embodiment, the RAID system is a redundant array of independent disks that improves performance and reliability by combining multiple storage devices 104 (physical disks) into logical units. The multiple storage devices 104 include at least one first type of storage device 104, which is an NVMe (Non-Volatile Memory Express, a solid-state storage device) storage device. The storage device includes a first storage area 1041 (PMR, Persistent Memory Region, a persistent storage area with a read and write speed close to the read and write speed of memory) and a second storage area 1042 (NAND, NAND Flash Memory, a persistent storage area with a slower read and write speed). The read and write speed of the first storage area 1041 is higher than the read and write speed of the second storage area. The storage device may also include other types of storage devices, such as mechanical hard disks.

[0050] After a first time point, the controller 102 reads the data of the host 101 and stores the data in a first storage area 1041 in the cache storage device 104. The first time point is determined based on the time point when the supercapacitor 103 starts capacitance calibration. The cache storage device 104 is a first type of storage device 104 in which the remaining space in the first storage area 1041 is greater than or equal to the data size.

[0051] Since the supercapacitor 103 periodically performs capacitance calibration, the controller 102 may store the time point at which the supercapacitor 103 performs capacitance calibration. The first time point is determined based on the time point at which the supercapacitor 103 performs capacitance calibration. For example, the first time point may be set to a time point 1 minute before the time point at which the supercapacitor 103 performs capacitance calibration.

[0052] After the first time point, the controller 102 reads the data from the host 101, and the data eventually needs to be stored in the storage device 104 to which the data belongs, that is, the target storage device 104. However, in order to improve storage performance, the RAID system enables a cache policy, and the data needs to be cached first. At this time, since the supercapacitor 103 is about to undergo capacitance calibration, if the data is cached in the cache area of the controller 102, it is possible that the data will be lost due to power failure. Therefore, in this embodiment, after the first time, the controller 102 caches the data read from the host 101 in the first storage area 1041 of the cache storage device 104. The read and write speed of the first storage area 1041 is close to the read and write speed of the memory, and the storage performance of the RAID controller will not be reduced. In addition, the first storage area 1041 is a persistent storage area, and data loss will not occur due to power failure.

[0053] The cache storage device 104 may be any first type storage device 104 in which the remaining space in the first storage area 1041 is greater than or equal to the size of the data to be cached.

[0054] The cache storage device 104 returns the storage address of the data in the first storage area 1041 to the controller 102 .

[0055] After the controller 102 caches the data in the first storage area 1041 of the cache storage device 104, the cache storage device 104 returns the storage address of the data in the first storage area 1041 to the controller 102. The controller 102 locally stores the data, the cache storage device 104 corresponding to the data, and the storage address in the first storage area 1041 of the cache storage device 104.

[0056] After receiving the storage address, the controller 102 sends the storage address to the target storage device 104 , where the target storage device 104 is the storage device 104 to which the data belongs.

[0057] The controller 102 also sends the storage address to the target storage device 104 so that the target storage device 104 can subsequently read the corresponding data based on the storage address.

[0058] In the above scheme, after the supercapacitor 103 enters the first time point before capacitance calibration, the controller 102 stores the data read from the host 101 in the first storage area 1041 (PMR area) of the cache storage device 104, which can achieve data persistence and performance optimization simultaneously. Since the PMR area is a persistent storage area, its data storage process does not need to rely on external power supply to achieve persistence. Even if an unexpected power outage occurs during capacitance calibration, the data temporarily stored in the PMR area can still be fully retained, completely avoiding the risk of data loss in the calibration phase in the traditional scheme. At the same time, the PMR area has high-speed read and write characteristics similar to memory, and its access performance is significantly higher than that of the hard disk, so that the controller 102 can still maintain a high-speed data write capability close to normal through the PMR area during capacitance calibration, avoiding the performance cliff drop caused by the forced closure of the cache in the traditional scheme. By combining precise timing control with the non-volatility and low latency characteristics of the PMR medium, the lossless continuation of the storage performance of the RAID system in the capacitance calibration phase is achieved while ensuring data security.

[0059] In an example of the present application, a RAID storage system is also provided, such as Figure 2 As shown, the system 100 further includes a flash memory 105 , and the fourth terminal of the controller 102 is electrically connected to the flash memory 105 ; the controller 102 further includes a cache area 1021 .

[0060] After the first time point, the controller 102 determines that there is at least one piece of data in the cache area 1021 , and stores the data in the flash memory 105 .

[0061] After the first time point, if there is still data in the cache area 1021, it needs to be transferred to the flash memory 105 to avoid power failure after the super capacitor 103 starts capacitance calibration, which may cause the data in the cache 1021 to be lost.

[0062] The flash memory 105 returns the storage address of the data in the flash memory 105 to the controller 102 .

[0063] Likewise, after the controller 102 writes data into the flash memory 105 , the flash memory 105 returns the storage address of the data in the flash memory 105 to the controller 102 .

[0064] After receiving the storage address, the controller 102 sends the storage address to the target storage device 104 corresponding to the data.

[0065] Similarly, after receiving the storage address returned by the flash memory 105 , the controller 102 sends the storage address to the target storage device 104 corresponding to the data, so that the target storage device 104 can subsequently read the corresponding data from the flash memory 105 based on the storage address.

[0066] In the above scheme, after the first time point before the supercapacitor 103 enters the capacitance calibration, the controller 102 will detect in real time the residual data in the cache area 1021 that has not been completed and written to the disk. If there is at least one piece of non-persistent data, the data migration process will be immediately started and written to the flash memory 105. Through this mechanism, the risk of data loss caused by unprotected cache residual data during the capacitance calibration phase can be completely eliminated. The non-volatile nature of the flash memory ensures that the migrated data can still be fully retained in the power outage scenario. Under the premise of maintaining the continuous effectiveness of the cache policy, the persistence of the full amount of data is achieved, further improving the overall availability and stability of the system.

[0067] In an example of the present application, a RAID storage system is also provided, such as Figure 2 As shown, after a first time point, the controller 102 determines that there is at least one piece of data in the cache area 1021 and obtains the target storage device 104 corresponding to the data.

[0068] The data is stored in the target storage device 104 .

[0069] After the first time point, if there is still data in the cache area 1021, the data can be stored in the target storage device 104 before the supercapacitor 103 enters the capacitance calibration. This can also avoid the loss of data in the cache 1021 due to power failure after the supercapacitor 103 starts capacitance calibration.

[0070] In the above solution, at the first point before supercapacitor 103 enters capacitance calibration, controller 102 will detect in real time any residual data in cache area 1021 that has not been flushed to disk. If at least one piece of data is not persisted, the controller will immediately initiate a data migration process to write the data to target storage device 104. After the data is stored in second storage area 1042 of target storage device 104, flushing is completed, ensuring the final storage of the data and completely eliminating the risk of data loss. This further strengthens the robustness of data protection and improves the overall availability and stability of the system.

[0071] In an example of the present application, a RAID storage system is also provided, such as Figure 2 As shown, the controller 102 reads the data of the host 101 after the second time point, stores the data in the cache area 1021, and sends the storage address of the data in the cache area 1021 to the target storage device 104. The second time point is the time point when the supercapacitor 103 ends the capacitance calibration.

[0072] After the supercapacitor 103 completes capacitance calibration, the controller 102 will no longer store the data read from the host 101 in the cache storage device 104, but will store the data in the cache area 1021 again. After storage, the storage address of the data in the cache area 1021 will be sent to the target storage device 104, so that the target storage device 104 can subsequently read the corresponding data from the cache area 1021 based on the storage address.

[0073] In the above scheme, after the supercapacitor 103 completes the capacitance calibration, the controller 102 will automatically switch the data write path, stop directing data storage to the first storage area 1041 of the cache storage device 104, and re-enable the cache area 1021 as the priority target for data writing by the host 101. Through the dynamic switching mechanism, the native low latency and high throughput characteristics of the cache area 1021 are immediately restored after the capacitance calibration cycle, and the additional protocol overhead that may be introduced by path switching during the calibration phase is completely eliminated. Through the strong correlation control of capacitance calibration status monitoring and cache strategy, on-demand reuse of high-performance cache resources is achieved on the basis of ensuring data security, so that the RAID system can instantly return to peak performance after the capacitance calibration is completed, maintaining a global balance between storage efficiency and reliability.

[0074] In an example of the present application, a RAID storage system is also provided, such as Figure 1 As shown, the target storage device 104 reads the data from the first storage area 1041 of the cache storage device 104 based on the storage address.

[0075] After the controller 102 stores data in the first storage area 1041 of the cache storage device 104 and sends the returned storage address to the target storage device 104, the target storage device 104 will read the corresponding data from the first storage area 1041 of the cache storage device 104 based on the storage address when idle, and store it in the second storage area 1042 for persistent storage.

[0076] In the above solution, after controller 102 writes data to first storage area 1041 of cache storage device 104, target storage device 104 asynchronously writes the data to disk based on the received storage address during system idle time. This data is fully read from first storage area 1041 according to the address index and persistently stored in second storage area 1042. Through precise address mapping and idle resource scheduling, interference with RAID controller storage performance is eliminated, achieving deep coupled optimization of performance and reliability.

[0077] In an example of the present application, a RAID storage system is also provided, such as Figure 1 As shown, the target storage device 104 determines that the cache storage device 104 indicated by the storage address is consistent with the target storage device 104, then reads the data from the first storage area 1041 of the target storage device 104 based on the storage address and stores it in the second storage area 1042.

[0078] When the target storage device 104 reads corresponding data from the first storage area 1041 of the cache storage device 104 based on the storage address, it can first be determined whether the storage address belongs to the target storage device 104. If the storage address belongs to the target storage device 104, it is determined that the cache storage device 104 is consistent with the target storage device 104, and the corresponding data can be directly read from the first storage area 1041 of the target storage device 104 based on the storage address and stored in the second storage area 1042.

[0079] In the above solution, when the target storage device 104 needs to read data from the first storage area 1041 of the cache storage device 104, it will first check whether the storage address of the data belongs to its own management scope. If it is confirmed that the address belongs to its own management scope, the data is directly extracted from the local first storage area 1041 through the internal path and stored in the second storage area 1042 to complete persistent storage. By identifying the ownership of the data storage address, data transmission delays and additional resource consumption that may occur when reading across devices are avoided. The direct call of the internal path greatly shortens the data migration link, which not only improves the migration efficiency, but also reduces the risk of data errors caused by cross-device operations, and further enhances the overall stability of the RAID storage system.

[0080] In an example of the present application, a RAID storage system is also provided, such as Figure 1 As shown, the target storage device 104 determines that the cache storage device 104 indicated by the storage address is inconsistent with the target storage device 104, and then sends a read request to the controller 102 based on the storage address.

[0081] Similarly, when the target storage device 104 reads corresponding data from the first storage area 1041 of the cache storage device 104 based on the storage address, it can first determine whether the storage address belongs to the target storage device 104. If the storage address does not belong to the target storage device 104, it is determined that the cache storage device 104 is inconsistent with the target storage device 104. At this time, the target storage device 104 needs to send a read request to the controller 102 based on the storage address.

[0082] After receiving the read request, the controller 102 determines the cache storage device 104 corresponding to the read request and sends the read request to the cache storage device 104 .

[0083] After receiving the read request, the controller 102 determines the cache storage device 104 corresponding to the storage address from the previously stored local storage data, the cache storage device 104 corresponding to the data, and the storage address in the first storage area 1041 of the cache storage device 104 based on the storage address in the read request, and sends a read request to the cache storage device 104, which includes information about the target storage device 104.

[0084] After receiving the read request, the cache storage device 104 returns the data to the target storage device 104 based on the storage address.

[0085] After receiving the read request, the cache storage device 104 returns corresponding data to the target storage device 104 based on the information of the target storage device 104 in the read request.

[0086] The target storage device 104 receives the data returned by the cache storage device 104 and stores the data in the second storage area 1042 .

[0087] In the above scheme, when the target storage device 104 needs to read data from the first storage area 1041 of the cache storage device 104, it will first check whether the storage address of the data belongs to its own management range. If it is confirmed that the address does not belong to its own management range, a read request is initiated to the controller 102. The controller 102 quickly locates the cache storage device 104 that actually stores the data based on the locally pre-stored mapping data, and forwards the read instruction on its behalf. The target storage device 104 finally obtains the corresponding data through coordination with the controller 102 and completes persistent storage. Through the unified scheduling of the controller 102, the addressing confusion or communication conflicts that may arise from direct interactions between different storage devices 104 are avoided, ensuring the accurate execution of cross-device data requests, and further enhancing the overall stability of the RAID storage system.

[0088] In an example of the present application, a RAID storage system is also provided, such as Figure 1 As shown, the controller 102 reads the data of the host 101 after the first time point and determines the target storage device 104 corresponding to the data; and when the remaining space in the first storage area 1041 of the target storage device 104 is greater than or equal to the data size, the data is stored in the first storage area 1041 in the target storage device 104.

[0089] After the first time point, when the controller 102 reads data from the host 101 and wants to cache it, it can first determine whether there is any remaining space in the first storage area 1041 of the target storage device 104 corresponding to the data. If the remaining space in the first storage area 1041 of the target storage device 104 can store the data, the data will be cached in the first storage area 1041 of the target storage device 104.

[0090] In the above scheme, when the controller 102 needs to cache data from the host 101, it first checks the remaining space in the first storage area 1041 of the target cache device 104 corresponding to the data. If the remaining space meets the storage requirements of the data, the data is directly cached in the first storage area 1041 of the target cache device 104. Ensure that the data is always cached in the target storage device 104 to which it ultimately belongs. Later, when the target storage device 104 needs to store the data persistently in the second storage area 1042, the data can be quickly read directly from the local first storage area 1041 without cross-device requests or external coordination. The localized storage path significantly shortens the data migration link, which not only reduces the delay and potential errors in cross-device communication, but also fully utilizes the read and write bandwidth within the target device, further enhancing the overall stability of the RAID storage system.

[0091] In order to improve the performance of the RAID controller during the charging and discharging period of the supercapacitor, thereby not affecting the overall performance of the RAID system, an embodiment of the present application provides a RAID storage method, such as Figure 3 As shown, the method includes:

[0092] Step 101: Read data from a host after a first time point, where the first time point is determined based on a time point when a supercapacitor starts capacitance calibration.

[0093] Step 102: Store the data into a first storage area in a cache storage device. The cache storage device is a first type of storage device in which the remaining space in the first storage area is greater than or equal to the size of the data. The first type of storage device includes a first storage area and a second storage area. The write performance of the first storage area is higher than the write performance of the second storage area.

[0094] After the first time point before the supercapacitor starts capacitance calibration, the controller will switch to the backup cache mode. In the backup cache mode, the I / O data read from the host will be cached to the PMR area (first storage area) of the downstream NVMe device (cache storage device) uniformly managed by the PMR management interface.

[0095] Since the read and write performance of the PMR area is close to the read and write performance of the memory, the storage performance of the controller in the backup cache mode is also close to the storage performance of the controller in the cache mode.

[0096] Step 103: The cache storage device returns the storage address of the data in the first storage area to the controller.

[0097] Step 104: Receive the storage address of the data in the first storage area returned by the cache storage device.

[0098] Step 105: Send the storage address to a target storage device, where the target storage device is the storage device to which the data belongs.

[0099] In the above scheme, after the first time point before the supercapacitor enters the capacitance calibration, the controller will direct the data read from the host to the first storage area of the cache storage device, which can simultaneously achieve data persistence and performance optimization. Since the PMR area is a persistent storage area, its data storage process does not need to rely on external power supply to achieve persistence. Even if an unexpected power outage occurs during the capacitance calibration, the data temporarily stored in the PMR area can still be fully retained, completely avoiding the risk of data loss during the calibration phase in the traditional scheme. At the same time, the PMR area has high-speed read and write characteristics similar to memory, and its access performance is significantly higher than that of the hard disk, so that the controller can still maintain a high-speed data writing capability close to normal through the PMR area during the capacitance calibration, avoiding the performance cliff drop caused by the forced closure of the cache in the traditional scheme. By combining precise timing control with the non-volatility and low latency characteristics of the PMR medium, the storage performance of the RAID system is losslessly continued during the capacitance calibration phase while ensuring data security.

[0100] In an example of the present application, a RAID storage method is also provided, such as Figure 4 As shown, the method further includes:

[0101] Step 201: receiving a read request sent by the target storage device, and determining a cache storage device corresponding to the read request.

[0102] Step 202 : Send the read request to the cache storage device, so that the cache storage device returns the data to the target storage device based on the storage address after receiving the read request.

[0103] The controller receives the read request sent by the target storage device, determines the corresponding cache storage device based on the mapping data pre-stored locally, and then forwards the read request to the cache storage device. After receiving the read request, the cache storage device returns the corresponding data to the target storage device based on the storage address, completing the persistent storage of the data.

[0104] In the above solution, the controller receives read requests from the target storage device. Based on locally stored mapping data, it quickly locates the cache storage device that actually stores the data and forwards the read instructions on its behalf. The controller coordinates the read requests so that the target storage device obtains the corresponding data and completes persistent storage. This unified scheduling by the controller avoids addressing confusion or communication conflicts that might arise from direct interaction between different storage devices, ensuring accurate execution of cross-device data requests and further enhancing the overall stability of the RAID storage system.

[0105] In an example of the present application, a RAID storage method is also provided, such as Figure 5 As shown, storing the data into the first storage area in the cache storage device includes:

[0106] Step 301: Determine the target storage device corresponding to the data.

[0107] Step 302: If the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the data is stored in the first storage area of the target storage device.

[0108] After the first time point, when the controller reads the data from the host and wants to cache it, it can first determine whether there is any remaining space in the first storage area of the target storage device corresponding to the data. If the remaining space in the first storage area of the target storage device can store the data, the data will be cached in the first storage area of the target storage device.

[0109] In the above solution, when the controller needs to cache the host's data, it first checks the remaining space in the first storage area of the target cache device corresponding to the data. If the remaining space meets the storage requirements of the data, the data is directly cached in the first storage area of the target cache device. Ensure that the data is always cached first in the target storage device to which it ultimately belongs. Later, when the target storage device needs to store the data persistently in the second storage area, it can directly read the data quickly from the local first storage area without cross-device requests or external coordination. The localized storage path significantly shortens the data migration link, which not only reduces the delay and potential errors in cross-device communication, but also fully utilizes the read and write bandwidth within the target device, further enhancing the overall stability of the RAID storage system.

[0110] To improve the performance of a RAID controller during the charging and discharging period of a supercapacitor, thereby not affecting the overall performance of the RAID system, an embodiment of the present application provides a RAID storage method, applied to a RAID storage system, the system comprising a host, a controller, a supercapacitor, and multiple storage devices; the multiple storage devices comprising at least one first type of storage device, the first type of storage device comprising a first storage area and a second storage area, the write performance of the first storage area being higher than the write performance of the second storage area; the method comprising:

[0111] The controller reads data from the host after a first time point and stores the data in a first storage area of a cache storage device, wherein the first time point is determined based on a time point when the supercapacitor starts capacitance calibration, and the cache storage device is a first type of storage device having a remaining space in the first storage area that is greater than or equal to the size of the data;

[0112] The cache storage device returns the storage address of the data in the first storage area to the controller;

[0113] After receiving the storage address, the controller sends the storage address to a target storage device, where the target storage device is the storage device to which the data belongs.

[0114] The system further includes a flash memory; the controller further includes a cache area; and the method further includes:

[0115] After the first time point, the controller determines that at least one piece of data exists in the cache area, and stores the data in the flash memory;

[0116] The flash memory returns the storage address of the data in the flash memory to the controller;

[0117] After receiving the storage address, the controller sends the storage address to a target storage device corresponding to the data.

[0118] The method further includes: the controller determining, after the first time point, that at least one piece of data exists in the cache area, and obtaining a target storage device corresponding to the data;

[0119] The data is stored in the target storage device.

[0120] The method further includes: the controller reads the data of the host after a second time point, stores the data in the cache area, and sends the storage address of the data in the cache area to the target storage device, and the second time point is the time point when the supercapacitor ends capacitance calibration.

[0121] The method further includes: the target storage device reading the data from the first storage area of the cache storage device based on the storage address.

[0122] The method further includes: if the target storage device determines that the cache storage device indicated by the storage address is consistent with the target storage device, the target storage device reads the data from the first storage area of the target storage device based on the storage address and stores the data in the second storage area.

[0123] The method further includes: the target storage device determining that the cache storage device indicated by the storage address is inconsistent with the target storage device, and then sending a read request to the controller based on the storage address;

[0124] After receiving the read request, the controller determines the cache storage device corresponding to the read request and sends the read request to the cache storage device;

[0125] After receiving the read request, the cache storage device returns the data to the target storage device based on the storage address;

[0126] The target storage device receives the data returned by the cache storage device and stores the data in the second storage area.

[0127] The method further includes: the controller reads the data of the host after a first time point to determine the target storage device corresponding to the data; and when the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the data is stored in the first storage area of the target storage device.

[0128] An embodiment of the present application further provides a chip, which includes a processor capable of executing the RAID storage method provided in the embodiment of the present application.

[0129] An embodiment of the present application provides a component, which includes a chip. The chip includes a processor, and the processor can execute the RAID storage method provided in the embodiment of the present application.

[0130] An embodiment of the present application provides an electronic device, which includes components, the components include a chip, the chip includes a processor, and the processor can execute the RAID storage method provided in the embodiment of the present application.

[0131] An embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein a computer program is stored therein, and the computer program is used to execute the RAID storage method provided by the embodiment of the present application.

[0132] An embodiment of the present application provides a computer program product, comprising a computer program or instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer program or instructions from the computer-readable storage medium and executes the computer program or instructions, causing the computer device to perform the RAID storage method described above in the embodiment of the present application.

[0133] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or various devices including one or any combination of the above memories.

[0134] In some embodiments, a computer program may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0135] By way of example, a computer program may be deployed to be executed on one computing device or on multiple computing devices at one site or on multiple computing devices distributed across multiple sites and interconnected by a communication network.

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

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

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

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

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

[0141] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.

[0142] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not a limitation herein.

[0143] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the present disclosure, "plurality" means two or more, unless otherwise specifically defined.

[0144] The above description is merely a specific embodiment of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.

Claims

1. A RAID storage system, characterized in that: The system includes a host, a controller, a supercapacitor, and multiple storage devices; a first end of the controller is electrically connected to the host, a second end is electrically connected to the supercapacitor, and a third end is electrically connected to the at least one storage device; the multiple storage devices include at least one first type of storage device, the first type of storage device includes a first storage area and a second storage area, and the write performance of the first storage area is higher than the write performance of the second storage area; The controller reads data from the host after a first time point and stores the data in a first storage area of a cache storage device, wherein the first time point is determined based on a time point when the supercapacitor starts capacitance calibration, and the cache storage device is a first type of storage device having a remaining space in the first storage area that is greater than or equal to the size of the data; The cache storage device returns the storage address of the data in the first storage area to the controller; After receiving the storage address, the controller sends the storage address to a target storage device, where the target storage device is the storage device to which the data belongs.

2. The system according to claim 1, wherein: The system further includes a flash memory; the fourth terminal of the controller is electrically connected to the flash memory; the controller further includes a cache area; After the first time point, the controller determines that at least one piece of data exists in the cache area, and stores the data in the flash memory; The flash memory returns the storage address of the data in the flash memory to the controller; After receiving the storage address, the controller sends the storage address to a target storage device corresponding to the data.

3. The system according to claim 2, characterized in that The controller determines, after a first time point, that at least one piece of data exists in the cache area, and obtains a target storage device corresponding to the data; The data is stored in the target storage device.

4. The system according to claim 2, wherein: After a second time point, the controller reads the data from the host, stores the data in the cache area, and sends the storage address of the data in the cache area to the target storage device. The second time point is the time point when the supercapacitor completes capacitance calibration.

5. The system according to claim 1, wherein: The target storage device reads the data from the first storage area of the cache storage device based on the storage address.

6. The system according to claim 5, characterized in that The target storage device determines that the cache storage device indicated by the storage address is consistent with the target storage device, and then reads the data from the first storage area of the target storage device based on the storage address and stores it in the second storage area.

7. The system according to claim 5, characterized in that The target storage device determines that the cache storage device indicated by the storage address is inconsistent with the target storage device, and then sends a read request to the controller based on the storage address; After receiving the read request, the controller determines the cache storage device corresponding to the read request and sends the read request to the cache storage device; After receiving the read request, the cache storage device returns the data to the target storage device based on the storage address; The target storage device receives the data returned by the cache storage device and stores the data in the second storage area.

8. The system according to claim 1, wherein: After a first time point, the controller reads the data of the host and determines the target storage device corresponding to the data; and when the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the controller stores the data in the first storage area of the target storage device.

9. A RAID storage method, characterized in that: The method comprises: After a first time point, reading data from the host, the first time point being determined based on a time point at which capacitance calibration of the supercapacitor begins; storing the data in a first storage area of a cache storage device, wherein the cache storage device is a first type of storage device having a remaining space in the first storage area that is greater than or equal to the size of the data, the first type of storage device including a first storage area and a second storage area, and the write performance of the first storage area being higher than the write performance of the second storage area; The cache storage device returns the storage address of the data in the first storage area to the controller; receiving a storage address of the data in the first storage area returned by the cache storage device; The storage address is sent to a target storage device, where the target storage device is the storage device to which the data belongs.

10. The method according to claim 9, characterized in that The method further comprises: receiving a read request sent by the target storage device, and determining a cache storage device corresponding to the read request; The read request is sent to the cache storage device, so that the cache storage device returns the data to the target storage device based on the storage address after receiving the read request.

11. The method according to claim 9, characterized in that Storing the data in a first storage area in a cache storage device includes: determining a target storage device corresponding to the data; If the remaining space in the first storage area of the target storage device is greater than or equal to the data size, the data is stored in the first storage area of the target storage device.

12. A chip, characterized in that: The chip includes a processor, and the processor is capable of executing the RAID storage method according to any one of claims 9 to 11.

13. A component, characterized in that The component comprises the chip according to claim 12.

14. An electronic device, characterized in that: The electronic device comprises the component according to claim 13.

15. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and the computer program is used to execute the RAID storage method according to any one of claims 9 to 11.