SSD write Buffer allocation method based on dynamic pressure sensing
By using a dynamic pressure-aware SSD write buffer allocation method, the resource status of the solid-state storage system is evaluated in real time, a quantitative garbage collection pressure index is generated, and the buffer resource allocation is dynamically adjusted. This solves the performance bottleneck and resource waste caused by the write amplification effect, and achieves efficient utilization and improved system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-11
- Publication Date
- 2026-04-14
AI Technical Summary
The write amplification effect in existing SSDs causes performance bottlenecks and resource waste, especially the fixed Host/GC Buffer ratio, which cannot adapt to load changes, leading to performance fluctuations and an increased probability of write timeouts.
The method of dynamic pressure-aware SSD write buffer allocation is adopted. By evaluating the physical resource status of the solid-state storage system in real time, a quantitative garbage collection pressure index is generated. Combined with the scarcity of space resources, collection efficiency and reliability risks, the buffer resource allocation ratio is dynamically adjusted to achieve smooth transition and on-demand resource allocation.
Optimized buffer resource utilization, steadily improved write performance, enhanced system reliability and long-term stability, reduced performance fluctuations and write timeout probability, and extended SSD lifespan.
Smart Images

Figure CN121858467A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of storage, specifically to a method for allocating SSD write buffers based on dynamic pressure awareness. Background Technology
[0002] With the rapid development of internet technology, human society has entered a big data era characterized by an exponential explosion in data volume. The arrival of the big data era necessitates stronger support from storage technologies, and various big data applications pose greater challenges to the performance and reliability of storage systems. With the emergence and widespread use of NAND Flash, NAND Flash-based SSDs have become a hot topic in the storage field due to their higher reliability, better performance, and lower power consumption.
[0003] However, the write amplification (WA) effect caused by its physical characteristics remains a key bottleneck restricting performance. In typical QLC / TLC SSDs, due to the characteristic that flash memory cells must be erased before being written, when the host writes new data, the controller must perform complex garbage collection (GC) operations to migrate and integrate valid data from multiple data blocks before freeing up blank blocks available for writing. This process results in the actual amount of physical data written to the flash memory being much greater than the amount of logical data requested by the host, forming the write amplification (WA) effect. In extreme cases, the WA factor can reach more than 8 times, not only consuming additional bandwidth but also significantly shortening the lifespan of the flash memory. Current mainstream solutions have serious shortcomings in balancing host writes and GC operations: 1. Static allocation of buffer resources: A fixed host / GC buffer ratio cannot adapt to load changes; buffer resources are wasted under low pressure; GC blocking leads to a sharp increase in the probability of write timeouts under high pressure. 2. Performance fluctuations: Traditional solutions have IOPS fluctuations of ±40%; sudden loads increase response latency by 300%. Summary of the Invention
[0004] To address the shortcomings of existing technologies, this invention provides a dynamic pressure-aware SSD write buffer allocation method that optimizes buffer resource utilization and overall disk write performance, thereby improving system reliability.
[0005] To address the aforementioned technical problems, the present invention employs the following technical solution: a dynamic pressure-aware SSD write buffer allocation method, comprising GC pressure assessment and dynamic write buffer allocation. GC pressure assessment generates a quantified garbage collection pressure index by analyzing the physical resource status of the solid-state storage system in real time. The garbage collection pressure index integrates space resource scarcity, expected collection efficiency, and reliability risks, thereby responding to sudden load changes and maintaining long-term system stability. Dynamic write buffer allocation maps the garbage collection pressure index to a buffer resource allocation ratio, achieving a smooth transition from the garbage collection pressure index to the buffer ratio for garbage collection, and performing GC based on the buffer resource allocation ratio.
[0006] Furthermore, the formula for calculating the waste recycling pressure index is as follows: , Where P represents the waste recycling pressure index. Spatial pressure weighting factor indicating the degree of data block scarcity. This indicates the number of data blocks remaining that can be used for data writing. This indicates the factors affecting data recovery efficiency. This indicates the percentage of valid data frames in a data block. The reliability weighting factor represents the impact of bad blocks. This indicates the bad block rate.
[0007] Furthermore, Adjustments are made based on the percentage of valid data in the reclaimed data blocks, with the following rules: when hour, =0.5, when hour, =0.3, when hour, =0.2.
[0008] Furthermore, , The adjustment rule is: calculate the proportion of spare space. ,in Indicates the proportion of spare space. Represents the size of the spare space. This represents bad blocks generated during operation, with a default value of 0, so the spare space ratio is 100% by default. , C represents the total physical capacity of the disk. This represents the logical capacity of the entire disk. This indicates that the entire disk contains defective blocks from the factory. This indicates the space occupied by SLC. This indicates the space occupied by the verification data; As the number of bad blocks increases, the proportion of spare space decreases. To prevent the spare space proportion from dropping to zero and causing a complete disk failure, a reliability weighting factor affecting bad blocks is triggered when the bad block rate reaches a certain set threshold. The adjustment rules are as follows: , To adjust the gradient, the spatial pressure weighting factor of data block scarcity is used. The adjustment rules are as follows: .
[0009] Furthermore, Determined based on aging test experiments.
[0010] Furthermore, the mapping formula from the garbage collection pressure index to the buffer resource allocation ratio is as follows: , This indicates the proportion of buffer allocated to garbage collection, k represents the curvature of the response curve, and P represents the garbage collection pressure index. This represents the balance threshold.
[0011] Furthermore, while calculating the garbage collection pressure index, the difference between two adjacent garbage collection pressure indices is also calculated. When the difference exceeds a set threshold, an exponential smoothing filter is triggered to eliminate performance glitches caused by resource switching.
[0012] Furthermore, the formula for exponential smoothing filtering is: , This represents the waste collection pressure index after filtering. This represents the waste recycling pressure index calculated at this moment. This represents the waste recycling pressure index calculated at the previous moment.
[0013] Furthermore, The default value is 0.5, and the adjustment range is 0.3~0.7. When P>0.7, set... =0.8.
[0014] Furthermore, The default value is 0.6, and the adjustment range is 0.5~0.7. The default value is 0.1, and the adjustment range is 0.05~0.15.
[0015] The beneficial effects of this invention are as follows: This invention dynamically adjusts the buffer allocation ratio through real-time stress assessment, achieving on-demand resource allocation. The stress assessment integrates space resource scarcity, expected recycling efficiency, and reliability risk to generate a quantified garbage collection stress index P. When the stress index P is low (e.g., P < 0.3), more buffer is allocated to host writes to avoid resource idleness; when P is high (e.g., P > 0.7), the GC buffer ratio is automatically limited to 80%, reserving 20% buffer to ensure host writes do not time out. A smooth transition mechanism and exponential smoothing filtering are introduced to effectively suppress performance spikes caused by resource switching. Through multi-dimensional stress assessment, the timing and efficiency of GC triggering are optimized: the space stress weight α is dynamically adjusted, prioritizing the recycling of blocks with low effective data ratios to reduce additional writes; combined with a bad block rate compensation mechanism, when the spare space ratio R_avail decreases, the reliability weight γ is automatically increased to prevent disk failure. By incorporating reliability risk factors (e.g., bad block rate R_bad) into the stress model, the long-term stability of the system is improved. When the bad block rate exceeds the threshold, the γ gradient increases, providing early warning and adjusting resource allocation.
[0016] In summary, this invention achieves efficient utilization of buffer resources, stable improvement in write performance, and comprehensive enhancement of system reliability through dynamic pressure sensing and adaptive buffer allocation. Compared with traditional methods, this invention has significant advantages in resource utilization, performance fluctuation control, and lifespan extension, providing key technical support for big data storage applications. Attached Figure Description
[0017] Figure 1 This is a flowchart of the method described in Example 1; Figure 2 This is a schematic diagram of the device described in Example 2. Detailed Implementation
[0018] The present invention will be further described below with reference to the accompanying drawings and specific embodiments.
[0019] Example 1 First, let's explain the English expressions that appear in this invention: SSD: Solid State Drive; FTL: Flash Translation Layer; GC: Garbage Collection; Buffer: Data cache space; block: data block.
[0020] This embodiment discloses a dynamic pressure-aware SSD write buffer allocation method, such as... Figure 1As shown, this method includes GC pressure assessment and dynamic write buffer allocation. GC pressure assessment generates a quantified garbage collection pressure index by analyzing the physical resource status of the solid-state storage system in real time. The garbage collection pressure index integrates space resource scarcity, expected collection efficiency, and reliability risks. This multi-dimensional dynamic weighting strategy enables the pressure index to respond to sudden load changes while maintaining long-term system stability. Dynamic write buffer allocation maps the garbage collection pressure index to a buffer resource allocation ratio, achieving a smooth transition from the garbage collection pressure index to the buffer ratio for garbage collection. GC is then performed based on the buffer resource allocation ratio.
[0021] In this embodiment, the formula for calculating the waste recycling pressure index is: , Where P represents the waste recycling pressure index, which is a comprehensive assessment value of the system's recycling pressure; The spatial pressure weighting factor indicates the scarcity of data blocks, with a preset value of 0.6 (dynamically adjustable within the range of 0.5 to 0.7). This indicates the number of data blocks remaining that can be used for data writing, and is counted in real time as the system uses the data blocks. This indicates the data recovery efficiency impact factor, which is adjusted based on the proportion of valid data in the recovered data blocks; This indicates the percentage of valid data frames in a data block. The reliability weighting factor represents the impact of bad blocks. This represents the bad block rate, which is the ratio of the number of bad blocks recorded in the bad block table to the total number of data blocks.
[0022] Adjustments are made based on the percentage of valid data in the reclaimed data blocks. The adjustment is triggered when reclaimable source data blocks are acquired, and the adjustment rule is: when… hour, =0.5, efficiently and quickly reclaim data blocks that account for a small proportion of valid data frames, so as to release the source data blocks in a timely manner; when hour, =0.3, recover at a balanced rate; when hour, =0.2, representing a higher proportion of data blocks with long-term valid data frames, in order to increase the efficiency of data block replacement.
[0023] , The adjustment rule is: calculate the proportion of spare space. ,in Indicates the proportion of spare space. Represents the size of the spare space. This represents bad blocks generated during operation, with a default value of 0, so the default spare space ratio is 100%.
[0024] , C represents the total physical capacity of the disk. This represents the logical capacity of the entire disk. This indicates that the entire disk contains defective blocks from the factory. This indicates the space occupied by SLC. This indicates the space occupied by the verification data; As the number of bad blocks increases, the proportion of spare space decreases. To prevent the spare space proportion from dropping to zero and causing a complete disk failure, a reliability weighting factor affecting bad blocks is triggered when the bad block rate reaches a certain set threshold. The adjustment rules are as follows: , To adjust the gradient, the spatial pressure weighting factor of data block scarcity is used. The adjustment rules are as follows: Spatial pressure weighting factor for data block scarcity The adjustment rules for Overload protection was implemented to ensure the safety of the space pressure.
[0025] Based on the aging test experiment, the value in this embodiment is 0.05.
[0026] The formula for mapping the garbage collection pressure index to the buffer resource allocation ratio is as follows: , This indicates the proportion of buffer allocated to garbage collection, and k represents the curvature of the response curve, with a default value of 8 and an adjustable range of 6~10. This represents the balance threshold, with a default value of 0.5 and an adjustment range of 0.3 to 0.7. Additionally, to prevent write timeouts due to the host being unable to acquire the buffer, when P > 0.7, a threshold is set. =0.8, reserve 20% buffer for host writes (Note: This buffer ratio reserved for host writes needs to be calculated based on the actual test of the whole disk or the whole disk write bandwidth to ensure that the reserved buffer ratio can run normally for host writes and does not cause write timeouts).
[0027] While calculating the garbage collection pressure index, the difference between two consecutive garbage collection pressure indices is also calculated. When the difference exceeds a set threshold, exponential smoothing filtering is triggered to eliminate performance glitches caused by resource switching. The exponential smoothing filtering formula is: , This represents the waste collection pressure index after filtering. This represents the waste recycling pressure index calculated at this moment. This represents the waste recycling pressure index calculated at the previous moment.
[0028] Example 2 This embodiment discloses an SSD write buffer allocation device based on dynamic pressure sensing, such as... Figure 2 As shown, it includes a pressure assessment unit responsible for GC pressure assessment and a dynamic buffer resource allocation unit responsible for dynamic adjustment of the write buffer. Through the cooperation of the pressure assessment unit and the dynamic buffer resource allocation unit, the method described in Example 1 is executed.
[0029] The above description is merely the basic principle and preferred embodiment of the present invention. Improvements and substitutions made by those skilled in the art based on the present invention are within the scope of protection of the present invention.
Claims
1. A dynamic pressure-aware SSD write buffer allocation method, characterized by: It includes GC pressure assessment and dynamic allocation of write buffer. GC pressure assessment generates a quantitative garbage collection pressure index by analyzing the physical resource status of the solid-state storage system in real time. The garbage collection pressure index integrates the scarcity of space resources, expected collection efficiency and reliability risks, so as to respond to sudden load changes and maintain the long-term stability of the system. Dynamic allocation of write buffers maps the garbage collection pressure index to the buffer resource allocation ratio, achieving a smooth transition from the garbage collection pressure index to the buffer ratio for garbage collection, and performing GC based on the buffer resource allocation ratio.
2. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 1, characterized in that: The formula for calculating the waste recycling stress index is: , Where P represents the waste recycling pressure index. Spatial pressure weighting factor indicating the degree of data block scarcity. This indicates the number of data blocks remaining that can be used for data writing. This indicates the factors affecting data recovery efficiency. This indicates the percentage of valid data frames in a data block. The reliability weighting factor represents the impact of bad blocks. This indicates the bad block rate.
3. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 2, characterized in that: Adjustments are made based on the percentage of valid data in the reclaimed data blocks, with the following rules: when hour, =0.5, when hour, =0.3, when hour, =0.
2.
4. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 1, characterized in that: , The adjustment rule is: calculate the proportion of spare space. ,in Indicates the proportion of spare space. Represents the size of the spare space. This represents bad blocks generated during operation, with a default value of 0, so the spare space ratio is 100% by default. , C represents the total physical capacity of the disk. This represents the logical capacity of the entire disk. This indicates that the entire disk contains defective blocks from the factory. This indicates the space occupied by SLC. This indicates the space occupied by the verification data; As the number of bad blocks increases, the proportion of spare space decreases. To prevent the spare space proportion from dropping to zero and causing a complete disk failure, a reliability weighting factor affecting bad blocks is triggered when the bad block rate reaches a certain set threshold. The adjustment rules are as follows: , To adjust the gradient, the spatial pressure weighting factor of data block scarcity is used. The adjustment rules are as follows: .
5. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 4, characterized in that: Determined based on aging test experiments.
6. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 1, characterized in that: The formula for mapping the garbage collection pressure index to the buffer resource allocation ratio is as follows: , This indicates the proportion of buffer allocated to garbage collection, k represents the curvature of the response curve, and P represents the garbage collection pressure index. This represents the balance threshold.
7. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 2, characterized in that: While calculating the garbage collection pressure index, the difference between two adjacent garbage collection pressure indices is also calculated. When the difference exceeds a set threshold, an exponential smoothing filter is triggered to eliminate performance glitches caused by resource switching.
8. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 7, characterized in that: The formula for exponential smoothing filtering is: , This represents the waste collection pressure index after filtering. This represents the waste recycling pressure index calculated at this moment. This represents the waste recycling pressure index calculated at the previous moment.
9. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 6, characterized in that: The default value is 0.5, and the adjustment range is 0.3~0.
7. When P>0.7, set... =0.
8.
10. The SSD write buffer allocation method based on dynamic pressure awareness according to claim 1, characterized in that: The default value is 0.6, and the adjustment range is 0.5~0.
7. The default value is 0.1, and the adjustment range is 0.05~0.15.