Dynamic buffer management method based on storage behavior analysis
By analyzing the behavior of solid-state drive access requests and dynamically adjusting the buffer configuration, the problem of improper resource allocation in existing technologies is solved, achieving efficient buffer management and improved system performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- JINDA SEMICONDUCTOR CO LTD
- Filing Date
- 2026-01-27
- Publication Date
- 2026-05-26
AI Technical Summary
Existing solid-state drive buffer management technologies fail to effectively reflect the characteristics of access behavior changing over time, leading to improper resource allocation under mixed or rapidly changing workloads, resulting in frequent write-backs and increased latency, or buffer resources being occupied for extended periods by inactive access behavior.
By analyzing the logical address distribution and time interval variation of multiple consecutive access requests, access requests are classified into different behavior groups. Based on the characteristics of the groups, the buffer configuration and write-back strategy are dynamically adjusted, including sequential write, high-frequency random write, and intermittent write. The buffer configuration is updated in real time to adapt to different access modes.
It improves the efficiency of buffer resource utilization, reduces data write-back latency, takes into account the needs of different access modes, enhances system performance, prevents buffer overuse or idleness, and adapts to sudden or fluctuating access behavior.
Smart Images

Figure CN122086322A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to control and management technology for solid-state drive (SSD) data storage devices, and particularly to a buffer management method applied to SSD storage devices with a host controller and a buffer, which dynamically adjusts the buffer configuration and data write-back strategy by analyzing the behavioral characteristics of host access requests. Background Technology
[0002] Existing buffer management mechanisms for solid-state drives (SSDs) mostly rely on fixed capacity configurations, static thresholds, or single performance metrics such as queue depth and buffer occupancy to control data temporary storage and write-back. While these technologies can be effective under specific load conditions, their designs often assume relatively stable host access behavior over a period of time, failing to fully reflect the time-varying characteristics of access behavior in real-world applications. Furthermore, although some existing technologies attempt to distinguish between sequential and random writes and adjust buffer write-back timing accordingly, their judgment methods do not further analyze the changing relationships between multiple consecutive access requests over time. In particular, existing technologies generally lack systematic quantification and judgment mechanisms for behavioral characteristics such as whether the time interval between adjacent access requests is stable or whether sudden fluctuations occur.
[0003] Furthermore, while some buffer management methods introduce the concept of dynamic adjustment, these adjustments often rely on fixed-period reconfiguration or only react passively when the buffer overflows, failing to trigger real-time updates based on actual changes in access behavior characteristics. This design can easily lead to improper buffer resource configuration in scenarios with mixed workloads or rapid behavior transitions, resulting in frequent write-backs, increased latency, or buffer resources being occupied for extended periods by inactive access behaviors.
[0004] In view of this, most existing buffer management technologies lack integrated analysis of the "changes in the time interval of consecutive access requests" and the "logical address distribution characteristics," and have not established a grouped management mechanism that can be adjusted in real time according to access behavior, making it difficult for buffer configuration to meet the needs of different access types. Therefore, it is necessary to propose a dynamic buffer management method for new types of solid-state drives to improve the shortcomings of existing technologies. Summary of the Invention
[0005] One objective of this invention is to provide a dynamic buffer management method for solid-state drives based on access behavior analysis. By analyzing the logical address distribution and time interval variation of multiple consecutive access requests, access requests are classified into different behavior groups. The buffer configuration and write-back strategy are dynamically adjusted according to the characteristics of each group to improve the adaptability of the storage system to different access modes, reduce data write-back latency, and prevent low-activity write behavior from occupying buffer resources for a long time.
[0006] To achieve the above objectives, the present invention provides a dynamic buffer management method based on storage behavior analysis, applied to a solid-state drive storage device having a main controller and multiple buffers, comprising: (A) a data collection step: during an observation period, collecting relevant information of multiple access requests from the host, wherein the relevant information of the multiple access requests includes at least the operation type, data size, logical address, and time interval between adjacent access requests for each access request; (B) a behavior feature analysis step: based on the collected relevant information of the multiple access requests, performing a behavior feature analysis process on each access request, wherein the behavior feature analysis process includes at least: determining whether the logical addresses of multiple adjacent access requests are continuously distributed to identify whether the multiple access requests are sequential or dispersed write behaviors; and calculating the degree of variation of a time interval between adjacent access requests, and determining whether the write behavior is a stable frequency write or a burst state write based on the degree of variation of the time interval; (C) Behavioral group classification steps: Based on the logical address distribution results obtained in step (B) and the degree of variation of the time interval, each access request is classified into one of multiple behavioral groups. These multiple behavioral groups include at least: a sequential write group corresponding to different addresses that are highly continuous during the observation period and have a low degree of variation in the time interval; a high-frequency random write group corresponding to different addresses that are dispersed during the observation period, with high access density per unit time and low degree of variation in the time interval; and an intermittent write group corresponding to different addresses that are dispersed during the observation period, with low access density per unit time and high degree of variation in the time interval; wherein the access density per unit time is calculated based on the cumulative number of access requests during the observation period; (D) Buffer configuration adjustment steps: Based on the behavior group to which each access request belongs, the corresponding buffer configuration adjustment mechanism is executed as follows: For multiple access requests belonging to the sequential write group, a larger capacity continuous buffer space is configured, and the data accumulation threshold is increased to delay the timing of data writing back from the buffer to non-volatile memory; For multiple access requests belonging to the high-frequency random write group, a buffer segment with fast response characteristics is configured, and the data write-back trigger threshold is lowered to shorten the time data stays in the buffer; And for multiple access requests belonging to the intermittent write group, the available buffer capacity is limited, and the data writing priority is set to be lower than that of the sequential write group and the high-frequency random write group to avoid the buffer resources being occupied by low-activity write behavior for a long time; (E) Behavior group update trigger steps: When, during subsequent access processes, the originally classified behavior group changes significantly in multiple consecutive access requests and no longer meets its corresponding behavior characteristic conditions, steps (B) to (D) are re-executed to update the behavior group classification results and the corresponding buffer configuration strategy in real time.
[0007] Preferably, the degree of variation of the time interval is calculated based on the statistical standard deviation of adjacent time intervals of multiple consecutive access requests; wherein, when the degree of variation of the time interval exceeds a re-analysis trigger threshold during the observation period, the system determines that the access behavior has changed significantly and triggers the re-execution of the behavior feature analysis process.
[0008] Preferably, the condition for triggering the re-execution of steps (B) to (D) further includes: in N consecutive access requests, the degree of variation of the time interval changes from below the re-analysis trigger threshold to above the re-analysis trigger threshold; wherein N is an integer between 4 and 6, used to identify bursty access behavior changes.
[0009] Preferably, the buffer configuration adjustment strategy further includes: dynamically setting a minimum buffer retention capacity and a maximum buffer upper limit capacity based on the degree of variation of the time interval corresponding to the behavior group; wherein, when the degree of variation of the time interval is lower than the reanalysis trigger threshold, the buffer usage is allowed to gradually grow to the maximum buffer upper limit capacity, and when the degree of variation of the time interval is higher than the reanalysis trigger threshold, the buffer usage is limited to not be lower than the minimum buffer retention capacity.
[0010] In summary, the dynamic buffer management method based on access behavior analysis provided by this invention collects data on the operation type, data size, logical address, and adjacent time intervals of multiple access requests, performs behavioral feature analysis, and classifies access requests into behavioral groups such as sequential writes, high-frequency random writes, and intermittent writes based on the distribution of logical addresses and the degree of variation in time intervals. Dynamic buffer configuration and write-back strategies are then applied to different groups. This improves the data accumulation efficiency of sequential writes, shortens the buffer response time for high-frequency random writes, and limits the occupation of buffer resources by low-activity intermittent writes, effectively improving overall buffer utilization efficiency and system performance. Furthermore, this invention, combined with a fixed-number burst behavior judgment mechanism and a strategy for dynamically setting the minimum and maximum buffer capacity, can respond in real time to bursty or fluctuating access behaviors, preventing buffer overuse or idleness, maintaining stable system performance, and accommodating the needs of different access modes. Therefore, this invention achieves multiple benefits, including optimized buffer resources, improved data write-back efficiency, and real-time response to bursty behaviors, and has significant technical advantages for storage systems with mixed or highly variable loads. Attached Figure Description
[0011] Figure 1 This is a flowchart of a preferred embodiment of the present invention.
[0012] Explanation of reference numerals in the attached figures: (A) to (E) - steps. Detailed Implementation
[0013] To enable those skilled in the art to clearly understand the technical content of this invention, the following embodiments are described in conjunction with the accompanying drawings to further illustrate the operation of this invention. Please refer to... Figure 1 This is a flowchart of a preferred embodiment of the present invention, wherein each step will be described sequentially in the following embodiments to illustrate the technical features and operation flow of the present invention.
[0014] This embodiment provides a dynamic buffer management method based on storage behavior analysis, applied to a solid-state drive storage device with a main controller and multiple buffers. First, a data collection step (A) is performed. During an observation period, the system collects data from multiple access requests from the host via the main controller. The collected information includes at least the operation type, data size, logical address, and the time interval between adjacent access requests. The operation type identifies the nature of the access request, such as read or write. For example, if the host requests to write 4 KB of data to a specific logical address, the operation type is recorded as "write". The data size indicates the amount of data involved in each access request. For example, when writing 8 KB of data at once, the system records 8 KB in the data size field of the request. The logical address identifies the logical block address (LBA) of the accessed data. For example, when writing data to LBA 0x1A3F, the system uses 0x1A3F as the logical address of the request. The time interval between adjacent access requests records the time difference between two consecutive access requests. For example, if the first access is at 0 milliseconds and the second is at 5 milliseconds, the time interval is 5 milliseconds. The time intervals of all consecutive access requests will form a complete time series, serving as the basis for subsequent analysis. The observation period can be set to a fixed time window, such as 100 milliseconds or 1 second, depending on application requirements, or it can be dynamically adjusted according to the access volume. The system can also temporarily store the collected data in a structured manner, such as in tables or memory arrays, for use in subsequent behavioral feature analysis. The purpose of this step is to fully capture the basic attributes and temporal characteristics of each access request, establishing an accurate access behavior dataset.
[0015] Next, step (B) behavioral feature analysis is performed. Based on the collected access request information, behavioral feature analysis is conducted on each access request to determine its characteristics in terms of logical address distribution and time intervals. First, the system determines whether the logical addresses of multiple adjacent access requests are continuously distributed to identify whether the multiple access requests are sequential or distributed write behaviors. For example, if the logical addresses of three consecutive write requests are 0x1000, 0x1004, and 0x1008 respectively, the system determines it to be a sequential write because its logical addresses increase linearly and the intervals are fixed; conversely, if the logical addresses of three consecutive write requests are 0x1000, 0x1A3F, and 0x0F20 respectively, it is determined to be a distributed write because the logical addresses are not continuous during the observation period and are distributed.
[0016] Next, the system calculates the variation in time intervals between adjacent access requests to determine whether the write behavior is a steady-frequency write or a burst write. The variation in time intervals can be calculated based on the statistical standard deviation of adjacent time intervals of multiple consecutive access requests. For example, if the time intervals of five consecutive access requests are 5 ms, 6 ms, 5 ms, 6 ms, and 5 ms respectively, and their standard deviation is low, the system determines it to be a steady-frequency write; if the time intervals are 5 ms, 50 ms, 4 ms, 80 ms, and 6 ms, and their standard deviation is high, then it is determined to be a burst write.
[0017] The above analysis provides a quantitative basis for the temporal characteristics of access behavior, offering fundamental data for subsequent behavior group classification and buffer configuration. The purpose of this step is to accurately identify the patterns and stability of access behavior through analysis of logical address continuity and the degree of variation in time intervals, establishing a reliable behavioral characteristic model that can be used to dynamically adjust buffer strategies.
[0018] Next, the (C) behavior group classification step is executed. Based on the logical address distribution results obtained in step (B) and the degree of variation in the time intervals of adjacent access requests, each access request is classified into one of several behavior groups. First, the system determines whether it belongs to the sequential write group. Specifically, if the logical addresses of the access requests are highly continuous during the observation period and the degree of variation in the time intervals is less than a preset first threshold, then the access request is classified as a sequential write group. For example, if the logical addresses of five consecutive access requests are 0x1000, 0x1004, 0x1008, 0x100C, and 0x1010, and their time interval standard deviation is less than the preset first threshold (e.g., 2 milliseconds), then the system classifies them into the sequential write group to reflect their linear and stable access characteristics. Furthermore, the preset first threshold is the basis for the system to determine whether the time interval variation is stable; below this threshold, it is considered stable, which is applicable to judging sequential and high-frequency stable access behaviors.
[0019] Next, the system identifies high-frequency random write groups. If the logical addresses of access requests are distributed throughout the observation period, and the access density per unit time is high while the time interval variation is still less than a preset first threshold, then it is classified as a high-frequency random write group. The access density per unit time is calculated based on the cumulative number of access requests during the observation period, and when this access density exceeds a preset first density threshold, it is considered high access density. This preset first density threshold can be preset according to system performance requirements or storage device characteristics to distinguish between high-frequency and low-frequency access behaviors. For example, if ten access requests have logical addresses of 0x1000, 0x1A3F, 0x0F20, 0x1B10, 0x02A0… and accumulate to ten access requests within a 100-millisecond observation period, causing the access density per unit time to exceed the preset first density threshold, while the time interval standard deviation is still less than the preset first threshold, the system determines it to be a high-frequency random write. This type of access characteristic reflects that although the access locations are dispersed, the frequency of occurrence is stable, making it suitable for random access management that requires a fast response.
[0020] Finally, the system classifies the data into intermittent write groups. If the logical addresses of access requests are scattered throughout the observation period, and the access density per unit time is low, and the time interval variation is greater than a preset second threshold, then it is classified as an intermittent write group. The access density per unit time is calculated based on the cumulative number of access requests during the observation period, and when this access density is lower than the preset second density threshold, it is considered low access density. For example, if the logical addresses of ten access requests are scattered, and only three to four access requests accumulate within a 100-millisecond observation period, causing the access density per unit time to be lower than the preset second density threshold, and the standard deviation of the time interval between adjacent access requests is greater than the preset second threshold (e.g., 10 milliseconds), then the system classifies it into an intermittent write group to reflect its low activity and irregular time distribution access characteristics. The preset second threshold is used to determine whether the time interval variation is significantly unstable; exceeding this threshold indicates that adjacent access requests exhibit significant fluctuations on the time axis, suitable for identifying write behavior with bursty or intermittent characteristics.
[0021] In short, the purpose of this step is to classify all access requests according to their behavioral characteristics by combining indicators such as logical address continuity, access density, and time interval variability. By using preset first and second thresholds respectively, the system can accurately distinguish between stable and intermittent access behaviors, providing a clear basis for subsequent buffer configuration and ensuring that different types of access behaviors can be managed with the most appropriate strategy.
[0022] Next, step (D) is executed to adjust the buffer configuration. Based on the behavior group to which each access request belongs in step (C), different buffer configuration adjustment mechanisms are applied to ensure that the buffer resources can be used in accordance with their access behavior characteristics. This buffer is managed by the master controller and may contain multiple buffer segments for different types of access requests to be configured separately.
[0023] Specifically, for access requests in sequential write groups, the system configures a larger contiguous buffer space and raises the data accumulation threshold to delay the timing of data being written back from the buffer to non-volatile memory. For example, when multiple consecutive logical addresses of write data continuously enter the buffer, the system allows these multiple data entries to accumulate to a higher capacity before writing them back to non-volatile memory all at once, thereby reducing the number of write-backs and improving overall write efficiency.
[0024] To address access requests from high-frequency random write groups, the system is configured with a buffer segment featuring fast response capabilities and a lowered data write-back trigger threshold to shorten the time data remains in the buffer. For example, when random write requests are continuously generated, the system can quickly store multiple data entries in the buffer and write them back to non-volatile memory when the lower write-back threshold is reached, thus maintaining available buffer space and response speed.
[0025] For access requests from intermittent write groups, the system limits the buffer capacity they can use and sets their data write priority to be lower than other groups to prevent buffer resources from being occupied by inactive write activity for extended periods. For example, when an occasional write request enters the system, it is only allowed to use limited buffer space to ensure that other highly active access requests can still use buffer resources.
[0026] By adjusting the buffer configuration based on the differences in behavior groups, the system can perform resource separation and priority control among access requests with different behavior characteristics, making the use of the buffer closer to the actual access behavior requirements and avoiding the adverse impact of a single type of access behavior on the overall buffer performance.
[0027] Finally, the (E) behavior group update trigger step is executed. During subsequent access, the previously classified behavior groups are continuously monitored and checked to see if they still meet their corresponding behavior characteristic conditions. When the system determines that the access behavior has changed significantly, steps (B) to (D) are re-executed to update the behavior group classification results and corresponding buffer configuration strategies in real time. The system can determine when to start the update process based on a re-analysis trigger threshold. This threshold can be set independently of the first and second thresholds to ensure real-time response to sudden or unstable access behaviors.
[0028] Furthermore, in the aforementioned method, the system limits the calculation of the degree of variation in time intervals by calculating the statistical standard deviation of adjacent time intervals of multiple consecutive access requests. When the degree of variation in time intervals exceeds the re-analysis trigger threshold, the system determines that the current access behavior has changed significantly and triggers the re-execution of the behavior feature analysis process to update the behavior group classification results in real time.
[0029] Furthermore, in the aforementioned method, the system can define the conditions for triggering the re-execution of steps (B) to (D) as follows: in N consecutive access requests, the degree of variation in the time interval changes from below the re-analysis trigger threshold to above the threshold. Here, N is an integer between 4 and 6, and the system can select a specific value according to application requirements to identify sudden changes in access behavior.
[0030] For example, suppose N is 5, and the standard deviation of the adjacent time intervals of five consecutive access requests during the observation period is 1.5, 1.8, 2.0, 2.5, and 3.2 milliseconds respectively. If the re-analysis trigger threshold is set to 3 milliseconds, then when the fifth access request changes from below the threshold to above the threshold, the system will determine that the access behavior has changed significantly and trigger the re-execution of the behavior feature analysis process.
[0031] This technical specification enables the system to identify sudden changes in access behavior in the short term, rather than relying solely on single transactions or average values for the entire period. This ensures that the buffer management strategy reflects the dynamic characteristics of access behavior in real time, improving resource allocation efficiency and system performance.
[0032] Furthermore, in the aforementioned method, the system may further define the buffer configuration adjustment strategy as follows: dynamically setting the minimum buffer retention capacity and the maximum buffer upper limit capacity based on the degree of time interval variation corresponding to each behavior group. When the degree of time interval variation is lower than the reanalysis trigger threshold, the system allows the buffer usage to gradually increase until the maximum buffer upper limit capacity is reached; while when the degree of time interval variation is higher than the threshold, the buffer usage is limited to not be lower than the minimum buffer retention capacity.
[0033] For example, for sequential write groups, if the minimum buffer retention capacity is 64 KB, the maximum buffer limit is 512 KB, and the reanalysis trigger threshold is 3 milliseconds, when the standard deviation of the memory access request interval during the observation period is 1.5 milliseconds, which is below the threshold, the system allows the buffer usage to gradually increase from 64 KB to 512 KB to accumulate more data and delay write-back, thereby improving write-back efficiency. Conversely, if the standard deviation of the interval increases to 3 milliseconds, which is above the threshold, the system limits the buffer usage to at least 64 KB to ensure that other highly active access requests can still use the buffer resources. Through this specification, the system dynamically adjusts the buffer capacity based on the stability of access behavior, balancing resource efficiency and access response requirements, and implementing a dynamic and precise buffer management strategy.
[0034] In summary, the dynamic buffer management method based on access behavior analysis provided by this invention collects data on the operation type, data size, logical address, and adjacent time intervals of multiple access requests, performs behavioral feature analysis, and classifies access requests into behavioral groups such as sequential writes, high-frequency random writes, and intermittent writes based on the distribution of logical addresses and the degree of variation in time intervals. Dynamic buffer configuration and write-back strategies are then applied to different groups. This improves the data accumulation efficiency of sequential writes, shortens the buffer response time for high-frequency random writes, and limits the occupation of buffer resources by low-activity intermittent writes, effectively improving overall buffer utilization efficiency and system performance. Furthermore, this invention, combined with a fixed-number burst behavior judgment mechanism and a strategy for dynamically setting the minimum and maximum buffer capacity, can respond in real time to bursty or fluctuating access behaviors, preventing buffer overuse or idleness, maintaining stable system performance, and accommodating the needs of different access modes. Therefore, this invention achieves multiple benefits, including optimized buffer resources, improved data write-back efficiency, and real-time response to bursty behaviors, and has significant technical advantages for storage systems with mixed or highly variable loads.
[0035] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of the present invention. Therefore, all equivalent changes and modifications made without departing from the scope of the present invention should be covered within the protection scope of the present invention.
Claims
1. A dynamic buffer management method based on storage behavior analysis, applied to a solid-state drive storage device with a main controller and multiple buffers, characterized in that, Include: (A) Data collection steps: During an observation period, collect information about multiple access requests from the host. The information about the multiple access requests includes at least the operation type, data size, logical address, and time interval between adjacent access requests for each access request. (B) Behavioral Feature Analysis Steps: Based on the collected information about the multiple access requests, a behavioral feature analysis process is performed on each access request, wherein the behavioral feature analysis process includes at least the following: Determine whether the logical addresses of multiple adjacent access requests are continuously distributed in order to identify whether the multiple access requests are sequential or distributed write behaviors. and Calculate the degree of variation in a time interval between multiple adjacent access requests, and determine whether the write behavior is a stable frequency write or a burst state write based on the degree of variation in the time interval; (C) Behavior Group Classification Step: Based on the logical address distribution results obtained in step (B) and the degree of variation of the time interval, each access request is classified into one of multiple behavior groups, which at least include: A sequential write group corresponding to different addresses that are highly continuous in logical address order during the observation period, and for which the time interval has low variability; A high-frequency random write group that corresponds to different addresses that are distributed in a dispersed manner during the observation period, and has a high access density per unit time and a low degree of variation in the time interval during the observation period; and A group of intermittent writes that corresponds to different addresses that are distributed in a dispersed manner during the observation period, and that have low access density per unit time and high variability in the time interval during the observation period. The access density per unit time is calculated based on the cumulative number of access requests during the observation period; (D) Buffer configuration adjustment steps: Based on the behavior group to which each access request belongs, the corresponding buffer configuration adjustment mechanism is executed as follows: For the multiple access requests belonging to the sequential write group, configure a larger contiguous buffer space and increase the data accumulation threshold to delay the timing of data being written back from the buffer to non-volatile memory. For the multiple access requests belonging to the high-frequency random write group, configure a buffer segment with fast response characteristics and lower the data write-back trigger threshold to shorten the time data stays in the buffer. and For the multiple access requests belonging to the intermittent write group, the buffer capacity they can use is limited, and their data writing priority is set to be lower than that of the sequential write group and the high-frequency random write group, so as to avoid the buffer resources being occupied by low-activity write behavior for a long time. (E) Behavior group update triggering step: When, during subsequent access processes, the previously classified behavior group changes significantly in multiple consecutive access requests and no longer meets its corresponding behavior characteristic conditions, steps (B) to (D) are re-executed to update the behavior group classification results and the corresponding buffer configuration strategy in real time.
2. The method as described in claim 1, characterized in that, The degree of variation in the time interval is calculated based on the statistical standard deviation of adjacent time intervals of multiple consecutive access requests. When the degree of variation in the time interval exceeds a re-analysis trigger threshold during the observation period, the system determines that the access behavior has changed significantly and triggers the re-execution of the behavior feature analysis process.
3. The method as described in claim 2, characterized in that, The conditions for triggering the re-execution of steps (B) to (D) further include: in N consecutive access requests, the degree of variation of the time interval changes from below the re-analysis trigger threshold to above the re-analysis trigger threshold; wherein N is an integer between 4 and 6, used to identify bursty access behavior changes.
4. The method as described in claim 3, characterized in that, The buffer configuration adjustment strategy also includes: dynamically setting a minimum buffer retention capacity and a maximum buffer limit capacity based on the degree of variation of the time interval corresponding to the behavior group; wherein, when the degree of variation of the time interval is lower than the reanalysis trigger threshold, the buffer usage is allowed to gradually grow to the maximum buffer limit capacity, while when the degree of variation of the time interval is higher than the reanalysis trigger threshold, the buffer usage is restricted to not be lower than the minimum buffer retention capacity.