Fdp isolation mode switching method, fdp isolation mode switching device and controller
By dynamically switching the FDP isolation mode according to the lifecycle stage of SSD data, the contradiction between resource consumption and isolation guarantee is resolved, the storage performance and resource utilization are optimized, the operating cost of SSD is reduced and the data access quality is guaranteed.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- YEESTOR MICROELECTRONICS CO LTD
- Filing Date
- 2026-02-04
- Publication Date
- 2026-06-05
AI Technical Summary
In existing technologies, solid-state drives (SSDs) cannot achieve dynamic optimization between resource consumption and isolation protection, resulting in low resource utilization and increased operating costs, failing to meet the low latency and high QoS requirements of critical applications.
By acquiring the lifecycle information of the target stored data, including access frequency, determining the lifecycle stage based on the access frequency, and dynamically switching the FDP isolation mode according to the lifecycle stage, adopting either continuous isolation mode or initial isolation mode, an intelligent and adaptive isolation strategy is achieved.
It achieves an optimal balance between storage performance and resource utilization efficiency, reduces the overall cost of SSD usage, and ensures low latency and high QoS for data access.
Smart Images

Figure CN122152228A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data management technology, and in particular to an FDP isolation mode switching method, an FDP isolation mode switching device and a controller. Background Technology
[0002] Data placement technology in solid-state drives (SSDs) is crucial for improving storage performance, aiming to optimize write amplification, QoS (Quality of Service), host reserved space, and total cost of ownership. In recent years, the NVMe protocol introduced Flexible Data Placement (FDP) technology, which provides a new solution for data management by defining the Reclaim Unit Handle (RUH). FDP allows configuring two isolation modes for the RUH: Initially Isolated and Persistently Isolated. The former guarantees physical isolation only during data writes, while the latter requires maintaining strong isolation throughout the data's entire lifespan.
[0003] However, existing static configuration schemes based on FDP have significant limitations. While configuring all RUHs in continuous isolation mode ensures data isolation and access performance, the SSD requires continuous investment of internal resources to maintain isolation, leading to low resource utilization and increased unnecessary operational burden and costs. Adopting the initial isolation mode uniformly saves resources but fails to provide continuous isolation protection for the data, making it vulnerable to interference during background operations such as GC (Garbage Collection), and failing to guarantee the low latency and high QoS requirements of critical applications. Existing technologies face a static and irreconcilable contradiction between resource consumption and isolation assurance, making dynamic optimization impossible. Summary of the Invention
[0004] One objective of this application is to provide an FDP isolation mode switching method, an FDP isolation mode switching device, and a controller to solve the technical problem in the prior art that dynamic optimization cannot be achieved between the resource consumption and isolation protection of solid-state drives.
[0005] In a first aspect, embodiments of this application provide an FDP isolation mode switching method, the method comprising: Obtain the lifecycle information of the target stored data, including the access frequency; The lifecycle stage of the target stored data is determined based on the access frequency. The isolation mode identifier of the target stored data is determined based on the lifecycle stage. The isolation mode identifier is used to characterize the isolation mode of the target reclamation unit, which is used to store the target stored data. The target recycling unit is switched to the corresponding isolation mode based on the isolation mode identifier.
[0006] Optionally, the lifecycle information includes access frequency. The process of obtaining the lifecycle information of the target stored data includes: obtaining the count value of an access counter within a monitoring sliding window, wherein the access counter is used to monitor the number of times the target stored data is accessed, and the window length of the monitoring sliding window is a first preset interval time; and calculating the access frequency based on the count value of the access counter and the first preset interval time.
[0007] Optionally, the lifecycle information further includes a write time, which is the time when the target stored data is written to the target recycling unit. The lifecycle stages include a cold data stage and a hot data stage. Determining the lifecycle stage of the target stored data based on the access frequency includes: acquiring the access frequency and monitoring interval of the target stored data, where the monitoring interval is the time interval between the write time and the current monitoring time; determining the lifecycle stage of the target stored data as a hot data stage in response to the access frequency being greater than a first preset threshold; and determining the lifecycle stage of the target stored data as a cold data stage in response to the access frequency being less than a second preset threshold and the monitoring interval being greater than a second preset interval.
[0008] Optionally, obtaining the monitoring interval time includes: obtaining the current monitoring time and the write time; calculating the difference between the current monitoring time and the write time to obtain the monitoring interval time.
[0009] Optionally, the isolation mode identifier includes a first isolation identifier and a second isolation identifier. Determining the isolation mode identifier of the target stored data based on the lifecycle stage includes: obtaining the lifecycle stage of the target stored data; determining the isolation mode identifier of the target stored data as the first isolation identifier in response to the lifecycle stage of the target stored data being a hot data stage; and determining the isolation mode identifier of the target stored data as the second isolation identifier in response to the lifecycle stage of the target stored data being a cold data stage.
[0010] Optionally, the step of determining the isolation mode identifier of the target stored data as the first isolation identifier in response to the target stored data being in the hot data stage of its lifecycle includes: determining the isolation mode identifier of the target stored data as the first isolation identifier in response to the target stored data being in the hot data stage of its lifecycle within N consecutive monitoring sliding windows, where N is greater than zero.
[0011] Optionally, the step of determining the isolation mode identifier of the target stored data as the second isolation identifier in response to the target stored data being in the cold data stage of its lifecycle includes: determining the isolation mode identifier of the target stored data as the second isolation identifier in response to the target stored data being in the cold data stage of its lifecycle within M consecutive monitoring sliding windows, where M is greater than N.
[0012] Optionally, the isolation mode includes a continuous isolation mode and an initial isolation mode. Switching the target recycling unit to the corresponding isolation mode based on the isolation mode identifier includes: obtaining the isolation mode identifier of the target recycling unit; switching the target recycling unit to the continuous isolation mode in response to the isolation mode identifier being the first isolation identifier; and switching the target recycling unit to the initial isolation mode in response to the isolation mode identifier being the second isolation identifier.
[0013] Secondly, embodiments of this application provide an FDP isolation mode switching device, the device comprising: The data monitoring module is used to acquire lifecycle information of the target stored data, including access frequency; A lifecycle determination module is used to determine the lifecycle stage of the target stored data based on the access frequency. An isolation mode determination module is used to determine the isolation mode identifier of the target stored data based on the lifecycle stage. The isolation mode identifier is used to characterize the isolation mode of the target reclamation unit, and the target reclamation unit is used to store the target stored data. An isolation mode switching module is used to switch the target recycling unit to the corresponding isolation mode based on the isolation mode identifier.
[0014] Thirdly, an embodiment of this application provides a controller, including a memory and a processor. The memory is connected to the processor, and the processor is configured to execute one or more computer programs stored in the memory. When the processor executes the one or more computer programs, it causes the controller to implement the method described above.
[0015] The embodiments of this application can achieve the following technical effects: In the FDP isolation mode switching method provided in the embodiments of this application, the method includes: obtaining lifecycle information of target storage data, the lifecycle information including access frequency; determining the lifecycle stage of the target storage data based on the access frequency; determining the isolation mode identifier of the target storage data based on the lifecycle stage, the isolation mode identifier being used to characterize the isolation mode of the target recycling unit, the target recycling unit being used to store the target storage data; and switching the target recycling unit to the corresponding isolation mode based on the isolation mode identifier.
[0016] This application's embodiments achieve intelligent and adaptive isolation strategies by establishing a dynamic correlation and automatic switching mechanism between data access frequency, lifecycle stage, and FDP isolation mode. By real-time monitoring and determining the dynamic lifecycle stage of data based on access frequency, it can automatically allocate appropriate isolation modes for data at different stages. Overall, it overcomes the rigidity of isolation mode selection under static configuration, achieving an optimal balance between storage performance and resource utilization efficiency. While ensuring performance, it reduces resource consumption and lowers the overall cost of SSD usage. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A flowchart illustrating an FDP isolation mode switching method provided in an embodiment of this application; Figure 2 This application provides a schematic diagram of a process for determining an isolation mode identifier. Figure 3 A flowchart illustrating the process of determining an isolation mode identifier, provided for another embodiment of this application; Figure 4 This is a schematic diagram of the structure of an FDP isolation mode switching device provided in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a controller provided in an embodiment of this application. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0020] It should be noted that, unless there is a conflict, the various features in the embodiments of this application can be combined with each other, all of which are within the protection scope of this application. Furthermore, although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than the module division in the device or the order in the flowchart. Moreover, the terms "first," "second," and "third" used in this application do not limit the data or execution order, but only distinguish identical or similar items with essentially the same function and effect.
[0021] To facilitate understanding of the FDP isolation mode switching method provided in the embodiments of this application, the relevant prior art will be described below.
[0022] FDP (Flexible Data Placement) is an extension technology for SSD data management under the NVMe protocol system. Its core is to define RUH (Reclaim Unit Handle) and corresponding isolation modes to achieve fine-grained control over data storage, balance data isolation requirements with SSD resource utilization efficiency, and support QoS objectives for different business scenarios.
[0023] FDP defines two isolation modes: Initially Isolated and Persistently Isolated. Initially Isolated mode allocates an independent Reclaim Unit (RU) during the initial data writing phase, ensuring basic isolation during the writing process. Once the data enters a stable period, the RU can participate in shared resource scheduling (such as sharing processing resources with other data during GC), without continuously occupying dedicated hardware. This results in low resource consumption and reduces the SSD's operational burden while meeting basic isolation requirements.
[0024] A Reclaimed Unit (RU) is a physical storage unit in FDP technology that can be independently erased and written. A Reclaimed Unit Handle (RUH) is a management pointer and configuration carrier that points to a Reclaimed Unit (RU). Isolation mode control is achieved through the RUH. The host or SSD configures the associated Reclaimed Unit (RU) with initial isolation or persistent isolation attributes through the RUH, so that the Reclaimed Unit (RU) stores data independently according to preset isolation rules, avoiding competition for resources with data from other Reclaimed Units (RUs).
[0025] The RU isolation attribute of the recycling unit in the continuous isolation mode runs through the entire life cycle of the data. Regardless of whether the data is in the writing, access, or GC stage, it maintains independent resource allocation (such as dedicated flash blocks and priority I / O bandwidth) to avoid resource competition with other data. It can maximize the low latency and high stability of data access, but the SSD needs to invest more resources to maintain the isolation state, and the resource cost is relatively high.
[0026] GC (Garbage Collection) is a management mechanism designed by SSDs to adapt to the "erase before write" characteristic of flash memory. Its core function is to identify physical blocks in the storage system that contain invalid data (data left over after deletion or update), migrate the valid data in the block to a free storage block, erase the original invalid data block and release it as usable space, so as to ensure that the SSD has continuous data writing capability.
[0027] The reason why garbage collection (GC) interferes with the target storage data is due to resource contention and overlapping operations: First, GC requires the SSD controller's computing power for data migration scheduling, I / O bandwidth for transmitting valid data, and flash memory chip operation time for erasing invalid blocks, competing for resources with read and write requests for the target storage data, resulting in increased response latency and throughput fluctuations for normal access; Second, the data migration triggered by GC will generate additional write operations, i.e., write amplification, which not only increases flash memory wear but also occupies temporary cache space, reducing the cache hit rate of the target storage data; Third, GC is often triggered when SSD free space is insufficient, which may overlap with high-load business periods, further exacerbating performance bottlenecks and leading to a decline in Quality of Service (QoS).
[0028] Please see below. Figure 1 , Figure 1 This is a flowchart illustrating an FDP isolation mode switching method provided in an embodiment of this application. The FDP isolation mode switching method provided in this embodiment includes the following steps S11 to S14: S11: Obtain the lifecycle information of the target stored data, including the access frequency.
[0029] In step S11, the target storage data is stored within the target reclaim unit. Specifically, the SSD controller maintains a monitoring data structure for each reclaim unit to monitor the stored data, which records the access characteristics of the stored data within each reclaim unit. For example, the monitoring data structure includes the following fields: reclaim unit identifier (RU_ID), associated RUH (associated_RUH), write timestamp (write_timestamp), access counter (access_count), last access timestamp (last_access_timestamp), and monitoring start time (monitor_start_time), etc.
[0030] Among them, the reclaimed unit identifier (RU_ID) is the unique identifier of the reclaimed unit, the associated RUH (associated_RUH) points to the handle of the reclaimed unit that currently manages the reclaimed unit, the write timestamp (write_timestamp) records the write time of the stored data, the access counter (access_count) counts the number of read and write operations initiated by the host for the reclaimed unit, the last access timestamp (last_access_timestamp) records the time when the last access occurred, and the monitoring start time (monitor_start_time) identifies the start time of a monitoring operation.
[0031] To obtain the access frequency of the target stored data, the system calculates the access frequency by reading the monitoring data structure of the target recycling unit. Specifically, the system uses a sliding time window mechanism for periodic sampling. The system acquires the number of read and write commands initiated by the host to the target stored data within the monitoring sliding window, i.e., the count value of the access counter `access_count` within the monitoring sliding window. The monitoring sliding window is monitored with a first preset interval as the window length. The first preset interval can be set according to the actual access situation. In this embodiment, the first preset interval is set to 1 hour. The system calculates the access frequency of the target stored data based on the count value of the access counter and the first preset interval. Specifically, the access frequency of the target stored data is obtained by dividing the count value of the access counter by the first preset interval, and the unit is (times / second).
[0032] S12: Determine the lifecycle stage of the target stored data based on access frequency.
[0033] In step S12, the lifecycle stage includes a hot data stage and a cold data stage. The system determines the lifecycle stage of the target stored data based on the access frequency. Specifically, if the access frequency of the target stored data is greater than a first preset threshold, the lifecycle stage of the target stored data is determined to be the hot data stage. The first preset threshold can be set according to the actual access situation. In this embodiment, the first preset threshold is set to 10 times / second, that is, if the access frequency of the target stored data is greater than 10 times / second, the lifecycle stage of the target stored data is determined to be the hot data stage. Generally, newly written stored data will be accessed frequently, and the stored data is determined to be hot data, that is, its lifecycle stage is the hot data stage. It is understood that for newly written stored data, its access frequency cannot be effectively calculated before the system has accumulated enough monitoring data. Therefore, the system sets a default initial lifecycle stage. Based on the empirical rule that newly written data may be accessed preferentially, a preferred implementation is to treat newly written stored data as the hot data stage by default.
[0034] If the access frequency of the target stored data is less than the second preset threshold and the monitoring interval is greater than the second preset interval, then the lifecycle stage of the target stored data is determined to be the cold data stage. Similarly, the second preset threshold can be set according to the actual access situation. In this embodiment, the second preset threshold is set to 1 time / hour. The monitoring interval is the time interval between the write time and the monitoring start time. The second preset interval can be set according to the actual access situation. The second preset interval is set to 1-7 days. In this embodiment, the second preset interval is set to 24 hours. That is, if the access frequency of the target stored data is less than 1 time / hour and the monitoring interval is greater than 24 hours, then the lifecycle stage of the target stored data is determined to be the cold data stage. Generally speaking, newly written stored data will enter a stable period after a period of time. The access frequency of stored data in the stable period will decrease or even disappear. The stored data is determined to be cold data, that is, its lifecycle stage is the cold data stage.
[0035] It should be noted that when the access frequency of the target stored data is between the first and second preset thresholds, it does not meet the criteria for either the hot data stage or the cold data stage, and is in a transitional state. In this case, the system maintains the existing identified lifecycle stage of the target stored data unchanged. That is, if the system detects that the access frequency of the target stored data is between the first and second preset thresholds through a monitoring sliding window, and the target stored data was previously identified as being in the hot data stage, this identification will be retained until its access frequency decreases and meets the criteria for the cold data stage, at which point it will be re-identified as being in the cold data stage. Similarly, if the system detects that the access frequency of the target stored data is between the first and second preset thresholds through a monitoring sliding window, and the target stored data was previously identified as being in the cold data stage, this identification will be retained until its access frequency increases and meets the criteria for the hot data stage, at which point it will be re-identified as being in the hot data stage. For cases where the access frequency is less than the second preset threshold but the monitoring interval is greater than the second preset interval, the system similarly maintains the existing identified lifecycle stage of the target stored data unchanged.
[0036] The first and second preset thresholds can be configured or adaptively adjusted based on the actual workload characteristics of the SSD. It is understood that the first and second preset thresholds should effectively distinguish the differences in data activity under different load intensities. For example, in a medium-load scenario, the first preset threshold can be set to 0.1–10 times / second. If the access frequency of the target stored data is greater than 10 times / second, the target stored data can be determined to be in a hot data phase of its lifecycle. Meanwhile, the second preset threshold can be set to 1 time / hour or even 1 time / day down to 0.1 times / second. If the second preset threshold is set to 1 time / hour, it is understood that both settings must satisfy the condition that the first preset threshold is greater than the second preset threshold. As another example, in a high-IOPS scenario, due to extremely frequent input / output operations, the benchmark for determining whether data is in a hot or cold data phase is correspondingly increased. Therefore, the first and second preset thresholds need to be adjusted to values higher than those in a medium-load scenario. For example, the first preset threshold could be set to 100 times / second, while the second preset threshold is set to 1 time / second. The above settings for the first preset threshold and the second preset threshold are merely general examples of embodiments of this application and do not limit the scope of protection of embodiments of this application.
[0037] S13: Determine the isolation mode identifier of the target storage data based on the lifecycle stage. The isolation mode identifier is used to characterize the isolation mode of the target reclamation unit, which is used to store the target storage data.
[0038] In step S13, specifically, the isolation mode identifier is the isolation attribute of the RUH. The isolation mode identifier includes a first isolation identifier and a second isolation identifier. It should be noted that the isolation attribute of the RUH corresponds to the isolation mode of its associated recycling unit RU.
[0039] The system determines the isolation mode identifier of the target stored data based on its lifecycle stage. Specifically, if the target stored data is in the hot data stage, the isolation mode identifier is determined as the first isolation identifier, which is 1, and the isolation attribute of the RUH corresponding to the first isolation identifier is "Persistently Isolated". If the target stored data is in the cold data stage, the isolation mode identifier is determined as the second isolation identifier, which is 0, and the isolation attribute of the RUH corresponding to the second isolation identifier is "Initially Isolated".
[0040] S14: Switch the target recycling unit to the corresponding isolation mode based on the isolation mode identifier.
[0041] In step S14, the isolation modes include initial isolation mode and continuous isolation mode. The system will switch the target recycling unit to the corresponding isolation mode based on the isolation mode identifier. Specifically, If the isolation mode identifier is the first isolation identifier 1, the system will generate a corresponding control signal based on the first isolation identifier. This control signal is used to switch the isolation attribute of the RUH associated with the target recycling unit to continuous isolation. The system switches the isolation mode of the target recycling unit to continuous isolation mode according to the isolation attribute of the RUH.
[0042] If the isolation mode identifier is the second isolation identifier 0, the system will generate a corresponding control signal based on the second isolation identifier. This control signal is used to switch the isolation attribute of the RUH associated with the target recycling unit to the initial isolation. The system switches the isolation mode of the target recycling unit to the initial isolation mode according to the isolation attribute of the RUH.
[0043] It's important to note that, initially, all Reclaim Units (RUs) on the SSD are configured in initial isolation mode. When data is written to the SSD, the system immediately begins monitoring information such as the access frequency of that data. The system evaluates the newly written data; if it's determined to be hot data (high-frequency access), a control signal is generated to adopt persistent isolation mode. This control signal sets the isolation attribute of the associated RUH (Reclaim Unit Handle) to persistent isolation. Based on the isolation attribute of the associated RUH, the system switches the RU's initial isolation mode to persistent isolation mode to reduce GC (garbage collection) interference. This reclaim unit RU receives strong isolation protection, and subsequent GC operations will not mix its stored data with the stored data of other RUs, reducing interference from active hot data being moved by GC and improving access QoS.
[0044] As time progresses, the frequency of data access within this RU gradually decreases. The system continuously monitors the access status of this data. When the system determines that the data has entered a stable period and become cold data (low-frequency access), it generates a control signal to adopt the initial isolation mode. This control signal is used to set the isolation attribute of the associated RUH to initial isolation. Based on the isolation attribute of the associated RUH, the system switches the RU's initial isolation mode from persistent isolation mode back to initial isolation mode, releasing the SSD resources originally used to maintain persistent isolation mode and reducing overall resource overhead.
[0045] This application's embodiments achieve intelligent and adaptive isolation strategies by establishing a dynamic correlation and automatic switching mechanism between data access frequency, lifecycle stage, and FDP isolation mode. By real-time monitoring and determining the dynamic lifecycle stage of data based on access frequency, it can automatically allocate appropriate isolation modes for data at different stages. Overall, it overcomes the rigidity of isolation mode selection under static configuration, achieving an optimal balance between storage performance and resource utilization efficiency. While ensuring performance, it reduces resource consumption and lowers the overall cost of SSD usage.
[0046] In some embodiments, lifecycle information includes access frequency. Obtaining lifecycle information of target stored data includes the following steps: S111: Obtain the count value of the access counter within the monitoring sliding window. The access counter is used to monitor the number of times the target stored data is accessed. The window length of the monitoring sliding window is the first preset interval time.
[0047] S112: Calculate the access frequency based on the access counter's count value and the first preset interval time.
[0048] In step S111, specifically, the system uses a sliding time window mechanism for periodic sampling. The system acquires the number of read and write commands initiated by the host to the target stored data within the monitoring sliding window, i.e., the count value of the access counter within the monitoring sliding window. The monitoring sliding window is monitored with a first preset interval as the window length. The first preset interval can be set according to the actual access situation. In this embodiment, the first preset interval is set to 1 hour.
[0049] In step S112, the system calculates the access frequency of the target stored data based on the count value of the access counter and the first preset interval time. Specifically, the access frequency of the target stored data is obtained by dividing the count value of the access counter by the first preset interval time, and the unit is (times / second).
[0050] In some embodiments, the lifecycle information also includes write time, which is the time when the target storage data is written to the target recycling unit. The lifecycle stages include a cold data stage and a hot data stage. Determining the lifecycle stage of the target storage data based on access frequency includes the following steps: S121: Obtain the access frequency and monitoring interval of the target stored data. The monitoring interval is the time interval between the write time and the current monitoring time.
[0051] S122: In response to the access frequency being greater than the first preset threshold, determine that the lifecycle stage of the target stored data is the hot data stage.
[0052] S123: In response to the access frequency being less than the second preset threshold and the monitoring interval being greater than the second preset interval, the lifecycle stage of the target stored data is determined to be the cold data stage.
[0053] In step S121, the access frequency of the target stored data is obtained through calculation. The monitoring interval is the duration between the write time and the monitoring start time, which can be calculated by obtaining the attribute values corresponding to the write timestamp and monitoring start time fields in the monitoring data structure.
[0054] In step S122, if the access frequency of the target stored data is greater than a first preset threshold, the lifecycle stage of the target stored data is determined to be the hot data stage. The first preset threshold can be set according to the actual access situation. In this embodiment, the first preset threshold is set to 10 times / second, that is, if the access frequency of the target stored data is greater than 10 times / second, the lifecycle stage of the target stored data is determined to be the hot data stage. Generally speaking, newly written stored data will be accessed frequently, and the stored data is determined to be hot data, that is, its lifecycle stage is the hot data stage.
[0055] In step S123, if the access frequency of the target stored data is less than a second preset threshold and the monitoring interval is greater than a second preset interval, then the lifecycle stage of the target stored data is determined to be the cold data stage. Similarly, the second preset threshold can be set according to the actual access situation. In this embodiment, the first preset threshold is set to 1 time / hour. The monitoring interval is the time interval between the write time and the monitoring start time. The second preset interval can be set according to the actual access situation. In this embodiment, the second preset interval is set to 24 hours. That is, if the access frequency of the target stored data is less than 1 time / hour and the monitoring interval is greater than 24 hours, then the lifecycle stage of the target stored data is determined to be the hot data stage. Generally speaking, newly written stored data will enter a stable period after a period of time. The access frequency of stored data in the stable period will decrease or even disappear. The stored data is determined to be cold data, that is, its lifecycle stage is the cold data stage.
[0056] In some embodiments, obtaining the monitoring interval time includes: obtaining the current monitoring time and the write time; calculating the difference between the current monitoring time and the write time to obtain the monitoring interval time.
[0057] Specifically, the current monitoring time is the start time of monitoring the target stored data. The system reads the monitoring data structure of the target recycling unit, obtains the attribute value corresponding to the write timestamp field in the monitoring data structure, and thus obtains the write time of the target stored data. The system also obtains the attribute value corresponding to the monitoring start time field in the monitoring data structure, thus obtaining the current monitoring time of the target stored data. The monitoring interval is the duration between the write time and the monitoring start time. The system calculates the difference between the monitoring start time and the write time to obtain the monitoring interval.
[0058] In some embodiments, please refer to Figure 2 The isolation mode identifier includes a first isolation identifier and a second isolation identifier. Determining the isolation mode identifier for the target stored data based on the lifecycle stage includes the following steps: S131: Obtain the lifecycle stage of the target stored data.
[0059] S132: In response to the target stored data being in the hot data stage of its lifecycle, the isolation mode identifier of the target stored data is determined as the first isolation identifier.
[0060] S133: In response to the target stored data being in the cold data stage of its lifecycle, the isolation mode identifier of the target stored data is determined to be the second isolation identifier.
[0061] In step S131, specifically, the system determines the lifecycle stage of the target stored data based on the access frequency. In this embodiment, if the access frequency of the target stored data is greater than 10 times / second, the lifecycle stage of the target stored data is determined to be the hot data stage. If the access frequency of the target stored data is less than 1 time / hour and the monitoring interval is greater than 24 hours, the lifecycle stage of the target stored data is determined to be the hot data stage.
[0062] In step S132, if the lifecycle stage of the target stored data is the hot data stage, then the isolation mode identifier of the target stored data is determined to be the first isolation identifier. Specifically, the first isolation identifier is 1, and the isolation attribute of the RUH corresponding to the first isolation identifier is "Persistently Isolated".
[0063] In step S133, if the lifecycle stage of the target stored data is the cold data stage, then the isolation mode identifier of the target stored data is determined to be the second isolation identifier. Specifically, the second isolation identifier is 0, and the isolation attribute of the RUH corresponding to the second isolation identifier is "Initially Isolated".
[0064] This application's embodiments dynamically link data lifecycle stages with FDP isolation modes, enabling on-demand allocation and intelligent scheduling of storage resources. Based on real-time data access characteristics, it automatically configures a continuous isolation mode for frequently accessed hot data, effectively reducing interference from background operations such as garbage collection and ensuring access latency and QoS of the target stored data. Simultaneously, for infrequently accessed cold data that has entered a stable period, it switches to the initial isolation mode. Without affecting basic data isolation requirements, it promptly releases system resources such as dedicated buffer space and independent recycling queues used to maintain continuous isolation, reducing the additional operational burden and internal costs of the SSD.
[0065] In some embodiments, please refer to Figure 3 In response to the target storage data being in the hot data stage of its lifecycle, the isolation mode identifier of the target storage data is determined as the first isolation identifier, including step S1321: In response to the target storage data being in the hot data stage of its lifecycle within N consecutive monitoring sliding windows, the isolation mode identifier of the target storage data is determined as the first isolation identifier, where N is greater than zero and N is a positive integer.
[0066] In step S1321, specifically, to avoid frequent switching of isolation modes due to short-term fluctuations in access frequency, the system determines whether to set the isolation mode identifier of the target storage data as the first isolation identifier based on the lifecycle stage of the target storage data within N consecutive monitoring sliding windows. Specifically, if the lifecycle stage of the target storage data within N consecutive monitoring sliding windows is the hot data stage, then the isolation mode identifier of the target storage data is determined to be the first isolation identifier, where N is greater than zero. The value of N is set according to the monitoring frequency; the higher the monitoring frequency, the larger the value of N. In this embodiment, N is set to 2.
[0067] In some embodiments, please continue reading Figure 3 In response to the target stored data being in the cold data stage of its lifecycle, the isolation mode identifier of the target stored data is determined as the second isolation identifier, including step S1331: In response to the target stored data being in the cold data stage of its lifecycle within M consecutive monitoring sliding windows, the isolation mode identifier of the target stored data is determined as the second isolation identifier, where M is greater than N and M is a positive integer.
[0068] In step S1331, specifically, to avoid frequent switching of isolation modes due to short-term fluctuations in access frequency, the system determines whether to set the isolation mode identifier of the target storage data as the second isolation identifier based on the lifecycle stage of the target storage data within M consecutive monitoring sliding windows. Specifically, if the lifecycle stage of the target storage data within M consecutive monitoring sliding windows is the cold data stage, then the isolation mode identifier of the target storage data is determined to be the second isolation identifier, where M is greater than N. In this embodiment, M is set to 4.
[0069] It should be noted that setting stricter continuous confirmation conditions (M>N) for the cold data phase is based on a trade-off regarding the cost of misjudgment during system optimization. Incorrectly removing actual hot data from the continuous isolation mode (i.e., misjudging it as cold data) leads to a decline in service quality, the consequences of which are more severe than the resource waste caused by incorrectly switching cold data to the continuous isolation mode (i.e., misjudging it as hot data). Therefore, the system needs more continuous monitoring of the sliding window to confirm that the target stored data has entered a stable cold data phase before switching the isolation mode back to the initial isolation mode to release resources. In one embodiment of this application, N=2 and M=4 can be used.
[0070] In some embodiments, the isolation modes include continuous isolation and initial isolation. Switching the target recycling unit to the corresponding isolation mode based on the isolation mode identifier includes the following steps: S141: Obtain the isolation mode identifier of the target recycling unit.
[0071] S142: In response to the isolation mode identifier being the first isolation identifier, switch the target recycling unit to continuous isolation mode.
[0072] S143: In response to the isolation mode identifier being the second isolation identifier, switch the target recycling unit to the initial isolation mode.
[0073] In step S141, the system determines the isolation mode identifier of the target stored data based on the lifecycle stage. If the target stored data is in the hot data stage, the isolation mode identifier of the target stored data is determined to be the first isolation identifier 1, and the isolation attribute of the RUH corresponding to the first isolation identifier is "Persistently Isolated". If the target stored data is in the cold data stage, the isolation mode identifier of the target stored data is determined to be the second isolation identifier 0, and the isolation attribute of the RUH corresponding to the second isolation identifier is "Initially Isolated".
[0074] In step S142, if the isolation mode identifier is the first isolation identifier 1, the system will generate a corresponding control signal based on the first isolation identifier. The control signal is used to switch the isolation attribute of the RUH associated with the target recycling unit to continuous isolation. The system switches the isolation mode of the target recycling unit to continuous isolation mode according to the isolation attribute of the RUH.
[0075] In step S143, if the isolation mode identifier is the second isolation identifier 0, the system will generate a corresponding control signal based on the second isolation identifier. The control signal is used to switch the isolation attribute of the RUH associated with the target recycling unit to the initial isolation. The system switches the isolation mode of the target recycling unit to the initial isolation mode according to the isolation attribute of the RUH.
[0076] It should be noted that in the above embodiments, there is no necessarily a certain order between the steps. Those skilled in the art can understand from the description of the embodiments of this application that the above steps may have different execution orders in different embodiments, that is, they may be executed in parallel or in turn, etc.
[0077] As another aspect of the embodiments of this application, this application provides an FDP isolation mode switching device. The FDP isolation mode switching device can be a software module, which includes several instructions stored in a memory. A processor can access the memory and execute the instructions to complete the FDP isolation mode switching method described in the above embodiments.
[0078] In some implementations, the FDP isolation mode switching device can also be constructed from hardware components. For example, the FDP isolation mode switching device can be constructed from one or more chips, which can work together to complete the FDP isolation mode switching method described in the various implementations above. As another example, the FDP isolation mode switching device can also be constructed from various logic devices, such as general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), microcontrollers, ARM (Acorn RISC Machine) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of these components.
[0079] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure of an FDP isolation mode switching device provided in an embodiment of this application. The FDP isolation mode switching device 400 provided in this embodiment includes a data monitoring module 401, a lifecycle determination module 402, an isolation mode determination module 403, and an isolation mode switching module 404.
[0080] The data monitoring module 401 is used to acquire the lifecycle information of the target stored data, including the access frequency; the lifecycle determination module 402 is used to determine the lifecycle stage of the target stored data based on the access frequency; the isolation mode determination module 403 is used to determine the isolation mode identifier of the target stored data based on the lifecycle stage, the isolation mode identifier is used to characterize the isolation mode of the target recycling unit, the target recycling unit is used to store the target stored data; and the isolation mode switching module 404 is used to switch the target recycling unit to the corresponding isolation mode based on the isolation mode identifier.
[0081] The lifecycle information includes access frequency. The data monitoring module 401 is also specifically used to: obtain the count value of the access counter within the monitoring sliding window, the access counter being used to monitor the number of times the target stored data is accessed, and the window length of the monitoring sliding window being a first preset interval time; and calculate the access frequency based on the count value of the access counter and the first preset interval time.
[0082] The lifecycle information also includes a write time, which is the time when the target stored data is written to the target recycling unit. The lifecycle stages include a cold data stage and a hot data stage. The lifecycle determination module 402 is further specifically used to: obtain the access frequency and monitoring interval of the target stored data, where the monitoring interval is the time interval between the write time and the current monitoring time; determine that the lifecycle stage of the target stored data is the hot data stage in response to the access frequency being greater than a first preset threshold; and determine that the lifecycle stage of the target stored data is the cold data stage in response to the access frequency being less than a second preset threshold and the monitoring interval being greater than a second preset interval.
[0083] The lifecycle determination module 402 is also specifically used for: obtaining the current monitoring time and the write time; calculating the difference between the current monitoring time and the write time to obtain the monitoring interval time.
[0084] The isolation mode identifier includes a first isolation identifier and a second isolation identifier. The isolation mode determination module 403 is further specifically used to: obtain the lifecycle stage of the target stored data; in response to the lifecycle stage of the target stored data being a hot data stage, determine the isolation mode identifier of the target stored data as the first isolation identifier; and in response to the lifecycle stage of the target stored data being a cold data stage, determine the isolation mode identifier of the target stored data as the second isolation identifier.
[0085] The isolation mode determination module 403 is further specifically used to: in response to the fact that the life cycle stage of the target stored data within N consecutive monitoring sliding windows is the hot data stage, determine the isolation mode identifier of the target stored data as the first isolation identifier, where N is greater than zero.
[0086] The isolation mode determination module 403 is further specifically used to: in response to the fact that the life cycle stage of the target stored data within M consecutive monitoring sliding windows is the cold data stage, determine the isolation mode identifier of the target stored data as the second isolation identifier, where M is greater than N.
[0087] The isolation modes include a continuous isolation mode and an initial isolation mode. The isolation mode switching module 404 is further configured to: obtain the isolation mode identifier of the target recycling unit; switch the target recycling unit to the continuous isolation mode in response to the isolation mode identifier being the first isolation identifier; and switch the target recycling unit to the initial isolation mode in response to the isolation mode identifier being the second isolation identifier.
[0088] It should be noted that the aforementioned FDP isolation mode switching device can execute the FDP isolation mode switching method provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects of the method. Technical details not described in detail in the embodiments of the FDP isolation mode switching device can be found in the FDP isolation mode switching method provided in the embodiments of this application.
[0089] See Figure 5 , Figure 5 This is a schematic diagram of a controller provided in an embodiment of this application. The controller includes one or more processors 51 and a memory 52. The memory is connected to one or more processors 51, for example, via a bus.
[0090] Processor 51 is configured to support the controller in performing the corresponding functions in the methods described in the above method embodiments. Processor 51 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0091] Memory 52 is used to store program code, etc. Memory 52 may include volatile memory (VM), such as random access memory (RAM); memory 52 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory may also include combinations of the above types of memory.
[0092] The memory 52 can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the FDP isolation mode switching method in the embodiments of this application. The processor 51 executes various functional applications and data processing of the FDP isolation mode switching method and the FDP isolation mode switching device by running the non-volatile software programs, instructions, and modules stored in the memory, that is, it realizes the functions of each module or unit of the FDP isolation mode switching method and the FDP isolation mode switching device provided in the above method embodiments.
[0093] The memory 52 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and applications required for at least one function. The data storage area may store data created based on the use of the FDP isolation mode switching device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the FDP isolation mode switching device via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0094] The one or more modules are stored in the memory 52. When executed by the one or more processors 51, they execute the FDP isolation mode switching method in any of the above method embodiments. For example, they execute the method steps described in the above method embodiments to realize the functions of the modules described in the above device embodiments.
[0095] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method described in the foregoing embodiments.
[0096] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0097] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A method for switching FDP isolation modes, characterized in that, include: Obtain the lifecycle information of the target stored data, including the access frequency; The lifecycle stage of the target stored data is determined based on the access frequency. The isolation mode identifier of the target stored data is determined based on the lifecycle stage. The isolation mode identifier is used to characterize the isolation mode of the target reclamation unit, which is used to store the target stored data. The target recycling unit is switched to the corresponding isolation mode based on the isolation mode identifier.
2. The method according to claim 1, characterized in that, The lifecycle information includes access frequency, and the lifecycle information for obtaining the target stored data includes: Obtain the count value of the access counter within the monitoring sliding window. The access counter is used to monitor the number of times the target stored data is accessed. The window length of the monitoring sliding window is a first preset interval time. The access frequency is calculated based on the count value of the access counter and the first preset interval time.
3. The method according to claim 1, characterized in that, The lifecycle information also includes write time, which is the time when the target stored data is written to the target recycling unit. The lifecycle stages include a cold data stage and a hot data stage. Determining the lifecycle stage of the target stored data based on the access frequency includes: The access frequency and monitoring interval of the target stored data are obtained, wherein the monitoring interval is the time interval between the write time and the current monitoring time; In response to the access frequency being greater than a first preset threshold, the lifecycle stage of the target stored data is determined to be the hot data stage. In response to the access frequency being less than a second preset threshold and the monitoring interval being greater than a second preset interval, the lifecycle stage of the target stored data is determined to be the cold data stage.
4. The method according to claim 3, characterized in that, Obtaining the monitoring interval includes: Obtain the current monitoring time and the write time; The difference between the current monitoring time and the write time is calculated to obtain the monitoring interval time.
5. The method according to claim 2, characterized in that, The isolation mode identifier includes a first isolation identifier and a second isolation identifier. Determining the isolation mode identifier of the target stored data based on the lifecycle stage includes: Obtain the lifecycle stage of the target stored data; In response to the fact that the target stored data is in the hot data stage of its lifecycle, the isolation mode identifier of the target stored data is determined to be the first isolation identifier; In response to the target stored data being in the cold data stage of its lifecycle, the isolation mode identifier of the target stored data is determined as the second isolation identifier.
6. The method according to claim 5, characterized in that, The step of determining the isolation mode identifier of the target stored data as the first isolation identifier in response to the target stored data being in the hot data stage of its lifecycle includes: In response to the fact that the lifecycle stage of the target stored data within N consecutive monitoring sliding windows is the hot data stage, the isolation mode identifier of the target stored data is determined as the first isolation identifier, where N is greater than zero.
7. The method according to claim 6, characterized in that, The step of determining the isolation mode identifier of the target stored data as the second isolation identifier in response to the target stored data being in the cold data stage of its lifecycle includes: In response to the fact that the lifecycle stage of the target stored data within M consecutive monitoring sliding windows is the cold data stage, the isolation mode identifier of the target stored data is determined as the second isolation identifier, where M is greater than N.
8. The method according to claim 5, characterized in that, The isolation modes include a continuous isolation mode and an initial isolation mode. Switching the target recycling unit to the corresponding isolation mode based on the isolation mode identifier includes: Obtain the isolation mode identifier of the target recycling unit; In response to the isolation mode identifier being the first isolation identifier, the target recycling unit is switched to continuous isolation mode; In response to the isolation mode identifier being the second isolation identifier, the target recycling unit is switched to the initial isolation mode.
9. An FDP isolation mode switching device, characterized in that, include: The data monitoring module is used to acquire lifecycle information of the target stored data, including access frequency; A lifecycle determination module is used to determine the lifecycle stage of the target stored data based on the access frequency. An isolation mode determination module is used to determine the isolation mode identifier of the target stored data based on the lifecycle stage. The isolation mode identifier is used to characterize the isolation mode of the target reclamation unit, and the target reclamation unit is used to store the target stored data. An isolation mode switching module is used to switch the target recycling unit to the corresponding isolation mode based on the isolation mode identifier.
10. A controller, characterized in that, The system includes a memory and a processor, the memory being connected to the processor, the processor being configured to execute one or more computer programs stored in the memory, and the processor, when executing the one or more computer programs, causing the controller to perform the method as described in any one of claims 1-8.