A method and system for optimizing tail latency of flash arrays based on cross-disk collaborative management
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2026-08-11
AI Technical Summary
另一种是基于数据副本的请求重定向技术,通过副本冗余加上请求重定向技术来避免GC阻塞时的高延迟响应现象,但传统重定向技术缺乏对数据副本备份空间的高效协同调度管理,容易出现路径转发失效的情况,导致尾延迟优化效果降低
Smart Images

Figure CN121050650B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of storage technology, and more specifically, relates to a method and system for optimizing the tail latency of flash arrays based on cross-disk collaborative management. Background Technology
[0002] Disk arrays are a common storage system solution in cloud storage scenarios, improving throughput and reliability through parallel processing architecture and redundancy verification mechanisms. With the rapid development of artificial intelligence and the proliferation of data-intensive applications, solid-state drives (SSDs), with their advantages in performance, energy efficiency, size, and density scalability, are gradually replacing traditional hard disk drives (HDDs) in disk arrays, driving the widespread adoption of flash memory arrays—a new type of storage system solution—in cloud storage. However, in flash memory arrays, SSDs perform garbage collection (GC) operations periodically, and these GC operations are independent of each other, with highly random triggering times. This irregular and uncoordinated GC operation within the array leads to unpredictable SSD GC behavior, potentially blocking user I / O requests for extended periods, resulting in array tail latency issues. Since cloud storage is now widely used in various life scenarios, severe tail latency directly impacts storage service availability and user experience, becoming an intolerable performance bottleneck for storage systems.
[0003] As the storage scale of flash arrays gradually increases, the tail latency problem will become more severe. As the number of SSDs in a flash array gradually increases, the timing of garbage collection (GC) triggering on each disk in the array becomes more unpredictable, and the uncertainty faced by array-level GC behavior increases accordingly, leading to a further exacerbation of the tail latency problem, thereby affecting the stability of system operation and the quality of storage services.
[0004] Existing optimization techniques for tail latency issues in flash memory arrays can be mainly divided into two types. One type coordinates the execution timing of GC across multiple SSDs through a global garbage collection scheduling and request reconstruction mechanism, and uses redundant data to reconstruct requests when some devices are blocked, thereby reducing the interference of GC on foreground user I / O. However, this approach is prone to scheduling imbalances in write-intensive scenarios, and when the storage system is large, the computational and data access overhead of reconstruction operations increases significantly, weakening the tail latency optimization effect. The other type is request redirection technology based on data replicas. This technology avoids high-latency response during GC blocking by using replica redundancy and request redirection. However, traditional redirection techniques lack efficient collaborative scheduling and management of data replica backup space, which can easily lead to path forwarding failures, resulting in reduced tail latency optimization effects.
[0005] In summary, existing flash array tail latency optimization techniques have significant limitations in today's popular data-intensive and large-scale storage system scenarios, making it difficult to achieve stable and effective flash array tail latency optimization. Overcoming the shortcomings of existing technologies, efficiently managing multiple solid-state drives in an array, and designing a systematic solution to optimize tail latency are directions worthy of further exploration. Summary of the Invention
[0006] In view of the above-mentioned defects or improvement needs of the existing technology, the present invention provides a flash array tail latency optimization method and system based on cross-disk collaborative management, the purpose of which is to achieve stable and effective flash array tail latency optimization.
[0007] To achieve the above objectives, this invention provides a flash array tail latency optimization method based on cross-disk collaborative management, comprising:
[0008] The solid-state drives in the flash array are divided into multiple independent solid-state drive groups. A unified garbage collection scheduling operation is performed on the solid-state drives within the same solid-state drive group. An interleaved garbage collection scheduling method is adopted between solid-state drive groups so that only a single solid-state drive group is in the garbage collection state at any given time during the operation of the flash array. This allows us to obtain the state of each solid-state drive at different times, including the idle state and the garbage collection state.
[0009] The user hotspot access data in the solid-state drive of the flash array is copied and stored in other solid-state drive groups to obtain the mapping relationship between the solid-state drive storing the user hotspot access data and the solid-state drive storing its copy; and the solid-state drive storing the copy is used as a backup disk.
[0010] When a user read request arrives, the status of the target disk where the requested data is located is determined. If it is in an idle state, the user read request is executed directly on the target disk. If it is in a garbage collection state, it is determined whether there is a copy of the target data. If so, the user request is redirected to the backup disk for execution according to the mapping relationship. If not, the process waits until the target disk is in an idle state before executing the user read request directly on the target disk.
[0011] Furthermore, the mapping relationship includes: the ID information mapping relationship between the solid-state disk storing user hot access data and the solid-state disk storing its copy, and the logical block address mapping relationship between the user hot access data and its copy;
[0012] Redirecting user requests to the backup disk for execution based on the mapping relationship includes:
[0013] Based on the ID information mapping relationship, the user read request is forwarded to the backup disk, and the physical address of the target data on the backup disk is obtained according to the logical block address mapping relationship, so as to obtain the requested target data.
[0014] Furthermore, determining whether a copy of the target data exists includes:
[0015] Based on the logical block address of the target data, the replica bitmap is queried from the running memory to determine whether a replica of the target data exists. The replica bitmap contains information on whether a replica of all user-accessible data on the solid-state drive of the flash array exists. The logical block address is obtained by parsing user read requests and is also used to determine the target disk where the target data is located.
[0016] After the user read request is completed, the process also includes returning a message indicating successful read to the upper-layer application, updating the copy of the user's hotspot access data, and updating the mapping relationship and the copy bitmap.
[0017] Furthermore, the logical block address mapping relationship also includes the validity information of the replica, which includes whether the replica is valid or invalid; wherein, when creating a replica for user hot access data, its validity information is set to valid, and when executing a user write request, if a replica of the data to be written exists, its validity information is set to invalid.
[0018] When a copy of the target data exists, before redirecting the user request to the backup disk for execution according to the mapping relationship, the validity information of the copy is also determined. If the copy is valid, the user request is redirected to the backup disk for execution according to the mapping relationship; if the copy is invalid, the process waits until the target disk is in an idle state before directly executing the user read request on the target disk.
[0019] Furthermore, the replica bitmap also stores the access priority of each replica, and the replicas in the replica bitmap are queried according to the access priority;
[0020] After a user read request is completed, the priority of each replica is also updated.
[0021] Furthermore, it also includes:
[0022] 1) When a user write request arrives, the user write request is parsed to obtain the logical block address of the data to be written;
[0023] 2) Based on the logical block address of the data to be written, query the replica bitmap in the operating system's memory to determine whether a replica of the data to be written exists; if it exists, delete the replica from the replica bitmap and set the replica validity information to invalid, then proceed to step 3); if it does not exist, proceed directly to step 3).
[0024] 3) Determine the status of the target disk where the data to be written is located. If it is in an idle state, execute the user write request directly on the target disk. If it is in a garbage collection state, schedule the user write request to the buffer set in the running memory and wait. Periodically access the target disk until the target disk is in an idle state. Then execute the user write request on the target disk and return a write success message to the upper layer application.
[0025] The present invention also provides a flash array tail latency optimization device based on cross-disk collaborative management, used to execute the flash array tail latency optimization method based on cross-disk collaborative management described above, the device comprising:
[0026] The group garbage collection control module is used to divide the solid-state drives in the flash array into multiple independent solid-state drive groups, perform a unified garbage collection scheduling operation on the solid-state drives within the same solid-state drive group, and adopt an interleaved garbage collection scheduling method between solid-state drive groups so that only a single solid-state drive group is in the garbage collection state at any given time during the operation of the flash array, thereby obtaining the state of each solid-state drive at different times, including the idle state and the garbage collection state.
[0027] The cross-group replica management module is used to store copies of user hot access data in the solid-state drives of the flash array in other solid-state drive groups, obtain the mapping relationship between the solid-state drive storing the user hot access data and the solid-state drive storing its copy; and use the solid-state drive storing the copy as a backup disk.
[0028] The request scheduling module is used to determine the status of the target disk where the requested target data is located when a user read request arrives. If it is in an idle state, the user read request is executed directly on the target disk. If it is in a garbage collection state, the module determines whether there is a replica of the target data. If so, the user request is redirected to the backup disk for execution according to the mapping relationship. If not, the module waits until the target disk is in an idle state before executing the user read request directly on the target disk.
[0029] The present invention also provides a flash array tail latency optimization system based on cross-disk collaborative management, including a computer-readable storage medium and a processor;
[0030] The computer-readable storage medium is used to store executable instructions;
[0031] The processor is used to read executable instructions stored in the computer-readable storage medium and execute the flash array tail latency optimization method based on cross-disk collaborative management described above.
[0032] The present invention also provides a computer-readable storage medium having a computer program stored thereon, characterized in that, when the program is executed by a processor, it implements the flash array tail latency optimization method based on cross-disk collaborative management as described in any of the preceding claims.
[0033] The present invention also provides a computer program product, including a computer program that, when the computer program is run on a computer, causes the computer to execute the flash array tail latency optimization method based on cross-disk collaborative management described above.
[0034] In summary, the above-described technical solutions conceived in this invention can achieve the following beneficial effects:
[0035] (1) In this invention, to alleviate the high tail latency problem caused by the uncertain array-level GC behavior in flash memory arrays, the flash memory array tail latency optimization method based on cross-disk collaborative management provided by this invention divides multiple solid-state drives (SSDs) in the flash memory array into several independent management groups. Garbage collection operations are uniformly scheduled within each group, and an interleaved round-robin triggering mechanism is adopted between groups to ensure that only one group of SSDs is in garbage collection at any given time. This strengthens garbage collection synchronization, effectively suppresses the randomness and uncertainty of garbage collection triggering within the flash memory array, and improves the predictability of global garbage collection behavior. A cross-group replica layout mechanism is constructed based on the flash memory array group management, generating replicas of hot access data on each SSD and storing them cross-linked in each SSD group. Two different paths are provided for requests based on the working status of the target disk. When a user data access request is blocked by the garbage collection operation of a certain group of SSDs, the request is redirected to the SSD group containing the replica that has not been interfered with by garbage collection. This achieves access path avoidance, prevents path forwarding failure, and ensures timely request response. Without introducing complex hardware overhead, the effect of flash memory array tail latency optimization is improved, thereby improving the overall performance of the flash memory array and the user experience.
[0036] (2) Furthermore, mechanisms such as replica bitmap and replica access priority are introduced to ensure that metadata overhead in replica management is minimized.
[0037] In summary, this invention constructs a grouped GC collaborative scheduling mechanism to make the GC behavior of multiple solid-state drives (SSDs) in a flash array more regular and controllable, reducing system-level GC conflicts and resource contention. Simultaneously, by combining cross-group replica management and request scheduling mechanisms, redundant data access paths are built between different groups within the array. When GC in a certain SSD group causes user I / O access blockage, requests can be quickly forwarded, ensuring continuous availability of foreground services. This method balances GC coordination and replica effectiveness, possessing low overhead and strong controllability, and can significantly improve the tail latency and overall performance of flash array storage systems under complex loads. Attached Figure Description
[0038] Figure 1 This is a schematic diagram of the system architecture of the flash array tail latency optimization method based on cross-disk collaborative management provided in an embodiment of the present invention;
[0039] Figure 2 This is a schematic diagram of the grouped waste recycling control strategy provided in an embodiment of the present invention;
[0040] Figure 3 This is a schematic diagram of the cross-group hot data replica layout management method provided in an embodiment of the present invention;
[0041] Figure 4 This is a schematic diagram of the dynamic scheduling strategy for user requests provided in an embodiment of the present invention. Detailed Implementation
[0042] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Furthermore, the technical features involved in the various embodiments of this invention described below can be combined with each other as long as they do not conflict with each other.
[0043] Example 1
[0044] like Figure 1 As shown, this embodiment of the invention provides a flash array tail latency optimization method based on cross-disk collaborative management, including: a group garbage collection control step, a cross-group replica management step, and a request scheduling step.
[0045] In the grouped garbage collection control step, the solid-state drives (SSDs) in the flash array are divided into multiple independent SSD groups. A unified garbage collection scheduling operation is performed on SSDs within the same SSD group; an interleaved garbage collection scheduling method is used between SSD groups to ensure that only a single SSD group is in a garbage collection state at any given time during flash array operation. This effectively suppresses the randomness of garbage collection behavior in the array, making the distribution of garbage collection operations more regular over time. This allows the system to predict the state of each SSD at different times, significantly improving the predictability of array-level garbage collection behavior. Figure 2 As shown in this embodiment of the invention, the solid-state drives SSD1-SSD6 in the flash memory array are divided into three independent solid-state drive groups. Figure 2 The red solid-state drive in the image indicates that background operations such as garbage collection (GC) are currently being performed.
[0046] In the cross-group replica management step, based on group management, replicas of user hotspot access data from solid-state drives (SSDs) in the flash array are stored in other SSD groups. The mapping relationship between the SSD storing the user hotspot access data and the SSD storing its replica is obtained and recorded. The SSD storing the replica is used as a backup disk (temporary backup disk). This mapping relationship includes: an ID information mapping relationship between the SSD storing the user hotspot access data and its corresponding backup disk, and a logical block address (LBA) mapping relationship between the user hotspot access data and the replica data in its backup disk. The LBA mapping entries also include validity information of the replica data in the backup disk. In this embodiment of the invention, the LRU-2 algorithm is used to identify user hotspot access data based on the user's access frequency. Figure 3 As shown, the hot data copy of SSD 1 (id 1) in the first SSD group is stored in SSD 4 (id 4) in the second SSD group. SSD4 is a backup disk for SSD1. The validity information of the copy data is used to indicate whether the copy data is valid. After creating a copy of the hot data, its validity information is set to valid. When a user write request is executed, to ensure the consistency of user data access, if a copy of the data to be written exists, the validity information of the copy will be changed from valid to invalid.
[0047] In the request scheduling step, since the copies of the user's hot-access data are stored in other SSD groups, two different data access paths are provided for the user read request based on the current working state of the target disk where the requested data is located: different data access paths are used when the target disk is currently in an idle state and when it is in a blocked state. Specifically, when a user read request arrives, if the requested data has a copy and the copy is valid, and the target disk where the requested data (target data) is located is in a GC blocked state, the current user read request is redirected to the backup disk storing its copy for execution according to the mapping relationship between the target disk and its corresponding backup disk. The current working state of the target disk includes an idle state and a GC blocked state, which is determined based on the information fed back from the group garbage collection control step. If the target disk is currently in an idle state, the user read request can be executed directly on the target disk. Since the group garbage collection control strategy ensures that only a single SSD group in the array is in a garbage collection state at any given time, and the copy data is stored in a different SSD group than the target data, the system can always find an access path that is not blocked by garbage collection for the user request, ensuring that the user access request is responded to in a timely manner and effectively alleviating the tail latency problem of the flash array. A diagram illustrating the dynamic scheduling strategy for user requests is shown below. Figure 4 As shown.
[0048] Specifically, when a user IO request arrives, it is processed according to whether the request is a read or write operation during the request scheduling step.
[0049] Specifically, the steps for processing read requests are as follows:
[0050] (1) Receiving and parsing user read requests: In the request scheduling step, after receiving a read request from the host, it is first parsed. By analyzing the logical block address (LBA) in the request, the SSD (target disk) where the target data is located is located, and the actual delivery path of the request is determined according to the working status of the target disk.
[0051] (2) Determine if the target disk is in a GC blocked state: Combine the feedback from the group garbage collection control to determine if the target disk is performing background tasks such as garbage collection. If the target SSD is idle, the user read request will be executed normally to obtain the requested data.
[0052] (3) Querying Replica Information: If the target SSD is currently undergoing garbage collection (GC), the system will query the running memory based on the logical block address (LBA) of the target data to determine if a lightweight data structure—a bitmap—exists and whether the data replica can be read from the backup disk. Combined with the cross-group replica management module, which contains information on whether replicas exist for all data accessible to users on the flash array's SSDs, and the access priority of each replica, high-priority replicas can be quickly retrieved based on their access priorities. Once data has been accessed, its access priority is increased. If no replica exists for the target data, the system waits for the target SSD to complete GC before executing the user's read request to obtain the requested data.
[0053] (4) Request forwarding to backup disk: If the replica data exists and is valid, the read request is forwarded to the backup disk storing the replica based on the ID information mapping relationship between the target disk and the backup disk. The actual physical address of the requested data (target data) in the backup disk is obtained through the logical block address (LBA) mapping relationship between the target data and the replica data in its backup disk, and thus the requested data is obtained. If the replica data exists but is invalid, the process waits until the target disk is in an idle state before directly executing the user read request in the target disk.
[0054] (5) Data reading and return to the user: After the reading operation is completed on the target disk or backup disk, the requested data is returned to the upper layer application.
[0055] (6) Update the status information of the data replica: After a read request is completed, the system will update the relevant metadata. The metadata includes the mapping relationship between the target disk and the backup disk, the validity information of the replica data in the backup disk, and the replica bitmap mapping information. Specifically, the system updates the replica of the user's hot access data, updates the logical block address mapping relationship, creates a replica for the new hot data and sets its status to valid; and updates the replica bitmap.
[0056] The steps for processing write requests are as follows:
[0057] (1) Receiving and parsing user write requests: When the system receives a write request from the host, it first parses the request. This is done by analyzing the logical block address (LBA) of the data to be written in the write request.
[0058] (2) Query replica information: Based on the logical block address (LBA) of the data to be written, query the replica bitmap in the operating system's memory to determine whether a replica exists for the data to be written. If a replica exists, delete it from the replica bitmap and set it to invalid, then proceed to step (3). If no replica exists, proceed directly to step (3).
[0059] (3) Determine if the target disk is in a GC busy state: Based on the feedback of the group garbage collection control, determine if the target SSD is in a GC busy state. If the target SSD is idle, write requests can be directly sent to the target disk for data writing operations.
[0060] (4) Write request data to the buffer: If the target disk is in a GC busy state, the system will schedule the write request data to the buffer, and then periodically access the target disk. When the GC state ends, the data will be refreshed to the target disk in a timely manner. The buffer is an additional area in memory used to store write requests that are blocked due to busy conditions.
[0061] (5) Complete writing and return a success status: After writing to the target disk is completed, return a message of successful writing to the upper layer application.
[0062] In summary, this invention reduces the unpredictability of array-level GC behavior through grouped garbage collection control, and effectively optimizes the tail latency performance of flash array systems by combining cross-group replica management mechanisms and dynamic request scheduling strategies, thereby building a high-performance, low-cost, and efficient storage system with lower overhead.
[0063] Example 2
[0064] This invention provides a flash array tail latency optimization device based on cross-disk collaborative management, including a group garbage collection control module, a cross-group replica management module, and a request scheduling module. Each module is used to execute the specific implementation of the corresponding steps in Embodiment 1.
[0065] The relevant technical solutions are the same as above, and will not be repeated here.
[0066] Example 3
[0067] This invention provides a flash array tail latency optimization system based on cross-disk collaborative management, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the flash array tail latency optimization method based on cross-disk collaborative management in Embodiment 1 above.
[0068] The relevant technical solutions are the same as above, and will not be repeated here.
[0069] Example 4
[0070] This invention provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it implements the steps of the flash array tail latency optimization method based on cross-disk collaborative management in Embodiment 1 above.
[0071] Specifically, the memory may include high-speed random access memory, as well as non-volatile memory, such as hard disks, RAM, plug-in hard disks, smart media cards (SMC), secure digital cards (SD), flash cards, at least one disk storage device, flash memory device, or other volatile solid-state storage devices.
[0072] The relevant technical solutions are the same as above, and will not be repeated here.
[0073] Example 5
[0074] This invention provides a computer program product, including a computer program that, when run on a computer, causes the computer to perform the steps of the flash array tail latency optimization method based on cross-disk collaborative management in Embodiment 1 above.
[0075] The relevant technical solutions are the same as above, and will not be repeated here.
[0076] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A flash array tail latency optimization method based on cross-disk collaborative management, characterized in that, include: The solid-state drives in the flash array are divided into multiple independent solid-state drive groups. A unified garbage collection scheduling operation is performed on the solid-state drives within the same solid-state drive group. An interleaved garbage collection scheduling method is adopted between solid-state drive groups so that only a single solid-state drive group is in the garbage collection state at any given time during the operation of the flash array. This allows us to obtain the state of each solid-state drive at different times, including the idle state and the garbage collection state. The user hotspot access data in the solid-state drive of the flash array is copied and stored in other solid-state drive groups to obtain the mapping relationship between the solid-state drive storing the user hotspot access data and the solid-state drive storing its copy; and the solid-state drive storing the copy is used as a backup disk. When a user read request arrives, the status of the target disk where the requested data is located is determined. If it is in an idle state, the user read request is executed directly on the target disk. If it is in a garbage collection state, it is determined whether there is a copy of the target data. If so, the user request is redirected to the backup disk for execution according to the mapping relationship. If not, the process waits until the target disk is in an idle state before executing the user read request directly on the target disk.
2. The flash array tail latency optimization method based on cross-disk collaborative management according to claim 1, characterized in that, The mapping relationship includes: the ID information mapping relationship between the solid-state disk storing user hot access data and the solid-state disk storing its copy, and the logical block address mapping relationship between user hot access data and its copy; Redirecting user requests to the backup disk for execution based on the mapping relationship includes: Based on the ID information mapping relationship, the user read request is forwarded to the backup disk, and the physical address of the target data on the backup disk is obtained according to the logical block address mapping relationship, so as to obtain the requested target data.
3. The flash array tail latency optimization method based on cross-disk collaborative management according to claim 2, characterized in that, Determining whether a copy of the target data exists includes: Based on the logical block address of the target data, the replica bitmap is queried from the running memory to determine whether a replica of the target data exists. The replica bitmap contains information on whether a replica of all user-accessible data on the solid-state drive of the flash array exists. The logical block address is obtained by parsing user read requests and is also used to determine the target disk where the target data is located. After the user read request is completed, the process also includes returning a message indicating successful read to the upper-layer application, updating the copy of the user's hotspot access data, and updating the mapping relationship and the copy bitmap.
4. The flash array tail latency optimization method based on cross-disk collaborative management according to claim 2 or 3, characterized in that, The logical block address mapping relationship also includes the validity information of the replica, which includes whether the replica is valid or invalid. Specifically, when creating a replica for user hot access data, its validity information is set to valid. When executing a user write request, if a replica of the data to be written exists, its validity information is set to invalid. When a copy of the target data exists, before redirecting the user request to the backup disk for execution according to the mapping relationship, the validity information of the copy is also determined. If the copy is valid, the user request is redirected to the backup disk for execution according to the mapping relationship; if the copy is invalid, the process waits until the target disk is in an idle state before directly executing the user read request on the target disk.
5. The flash array tail latency optimization method based on cross-disk collaborative management according to claim 3, characterized in that, The replica bitmap also stores the access priority of each replica. Based on the access priority, each replica in the replica bitmap is queried. After a user read request is completed, the priority of each replica is also updated.
6. The flash array tail latency optimization method based on cross-disk collaborative management according to claim 4, characterized in that, Also includes: 1) When a user write request arrives, the user write request is parsed to obtain the logical block address of the data to be written; 2) Based on the logical block address of the data to be written, query the replica bitmap in the operating system's memory to determine whether a replica of the data to be written exists; If it exists, delete the replica from the replica bitmap and set the replica validity information to invalid, then proceed to step 3); if it does not exist, proceed directly to step 3). 3) Determine the status of the target disk where the data to be written is located. If it is in an idle state, execute the user write request directly on the target disk. If it is in a garbage collection state, schedule the user write request to the buffer set in the running memory and wait. Periodically access the target disk until the target disk is in an idle state. Then execute the user write request on the target disk and return a write success message to the upper layer application.
7. A flash array tail latency optimization device based on cross-disk collaborative management, characterized in that, The apparatus for performing the flash array tail latency optimization method based on cross-disk collaborative management as described in any one of claims 1-6, the apparatus comprising: The group garbage collection control module is used to divide the solid-state drives in the flash array into multiple independent solid-state drive groups, perform a unified garbage collection scheduling operation on the solid-state drives within the same solid-state drive group, and adopt an interleaved garbage collection scheduling method between solid-state drive groups so that only a single solid-state drive group is in the garbage collection state at any given time during the operation of the flash array, thereby obtaining the state of each solid-state drive at different times, including the idle state and the garbage collection state. The cross-group replica management module is used to store copies of user hot access data in the solid-state drives of the flash array in other solid-state drive groups, obtain the mapping relationship between the solid-state drive storing the user hot access data and the solid-state drive storing its copy; and use the solid-state drive storing the copy as a backup disk. The request scheduling module is used to determine the status of the target disk where the requested target data is located when a user read request arrives. If it is in an idle state, the user read request is executed directly on the target disk. If it is in a garbage collection state, the module determines whether there is a replica of the target data. If so, the user request is redirected to the backup disk for execution according to the mapping relationship. If not, the module waits until the target disk is in an idle state before executing the user read request directly on the target disk.
8. A flash array tail latency optimization system based on cross-disk collaborative management, characterized in that, Includes computer-readable storage media and processors; The computer-readable storage medium is used to store executable instructions; The processor is used to read executable instructions stored in the computer-readable storage medium and execute the flash array tail latency optimization method based on cross-disk collaborative management as described in any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the flash array tail latency optimization method based on cross-disk collaborative management as described in any one of claims 1-6.
10. A computer program product, characterized in that, Includes a computer program that, when run on a computer, causes the computer to perform the flash array tail latency optimization method based on cross-disk collaborative management as described in any one of claims 1-6.
Citation Information
Patent Citations
Performance optimization system in full flash memory array
CN112000296A
Raid system and method based on solid-state storage medium
US20170329522A1