SSD data redundancy checking method and system based on wear leveling
Patent Information
- Application Number
- CN202610993709.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-06
- Publication Date
- 2026-10-16
AI Technical Summary
现有的常规磨损均衡方式通常仅依据静态或周期性刷新的擦写计数进行单一维度的优先级排序,无法实时感知校验写入负载在低磨损块池内部的这种动态聚集效应,因而无法在轮换过程中及时限制或调整分配策略,导致磨损均衡决策与真实写入负载发生失配,局部块组提前老化,进而破坏了冗余校验更新的持续稳定承接
[0016]Beneficial Effects: This application proposes a wear-leveling-based SSD data redundancy verification method and system. By introducing a verification stress risk value and dynamically adjusting the control strategy and write priority based on the risk value, it achieves fine-grained management of the verification write load. This enables the SSD controller to perceive the dynamic aggregation effect of the verification write load within the low-wear block pool in real time and promptly limit or adjust the allocation strategy. This avoids mismatch between wear-leveling decisions and the actual write load, effectively prevents premature aging of local block groups, ensures continuous and stable redundancy verification updates, and significantly improves the reliability and lifespan of the SSD.
Smart Images

Figure CN122925104A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of solid-state drive storage technology, and in particular to a method and system for SSD data redundancy verification based on wear leveling. Background Technology
[0002] In solid-state drive (SSD) storage systems, redundancy check mechanisms are typically used to ensure data reliability. Check data is generated and updated synchronously during user data writes. Since check data is frequently rewritten due to user data updates, existing technologies often combine wear leveling mechanisms to schedule the physical location of check data to prevent premature failure of local physical blocks due to frequent writes. In scenarios where database logs and check pages are updated synchronously at high frequency, database operations continuously generate small-granularity log append writes. The SSD controller performs redundancy check calculations on the frequently updated log data pages and frequently triggers check page rewriting. At this time, the wear leveling mechanism queries the block write count table and prioritizes selecting physical block groups with lower write counts from the free block pool to take over the new check data, thereby distributing the high-frequency check write load to relatively healthy physical media.
[0003] However, under actual conditions where the log write rhythm is consistently stable and the checksum update frequency is significantly higher than that of ordinary user data, the number of truly usable low-wear free blocks in the entire disk is limited within a specific time period. This priority allocation logic for low-wear blocks leads to repeated rotation of high-frequency checksum writes within a very narrow low-wear block pool. As this process continues, physical block groups that originally had fewer erase / write cycles experience a rapid increase in erase / write counts due to concentrated checksum rewrites, quickly accumulating within the low-wear block pool and evolving into new local checksum hotspots. Existing conventional wear leveling methods typically prioritize based on static or periodically refreshed erase / write counts, failing to detect this dynamic aggregation effect of checksum write load within the low-wear block pool in real time. Consequently, they cannot promptly limit or adjust the allocation strategy during the rotation process, resulting in a mismatch between wear leveling decisions and the actual write load. This causes premature aging of local block groups, ultimately disrupting the continuous and stable handling of redundant checksum updates. Therefore, in SSD scenarios where database logs are continuously appended and periodically triggered for verification rewriting, when the free block allocation logic prioritizes calling a limited number of low-wear block groups to handle verification data for a long time, the high-frequency verification updates repeatedly rotate within the low-wear block pool, causing the verification write distribution to remain only within a local block group and forming a secondary hotspot. This, in turn, disrupts the wear-balanced layout for redundant verification of the SSD and the subsequent rewriting.
[0004] To address the aforementioned issues, existing technologies urgently need improvement. Summary of the Invention
[0005] In view of the shortcomings of the prior art, this application provides a wear-leveling-based SSD data redundancy verification method and system, which aims to solve the problem in the prior art where, in SSD scenarios where database logs are continuously appended and periodically triggered for verification rewriting, when the free block allocation logic prioritizes calling a limited number of low-wear block groups to take over the verification data for a long time, the high-frequency verification updates repeatedly rotate within the low-wear block pool, causing the verification write distribution to only stay within a local block group and form a secondary hotspot, thereby destroying the wear-leveling layout for SSD redundancy verification and subsequent rewriting.
[0006] Firstly, a method for SSD data redundancy verification based on wear leveling, the method comprising the following steps: S1: Receive a verification update request. If the verification update request belongs to a redundant verification update object, obtain the basic wear information and recent pressure information of multiple physical candidate blocks. S2: Calculate the verification pressure risk value for each physical candidate block based on the basic wear information and the recent pressure information; S3: Compare the verified pressure risk value with multiple preset pressure threshold values, and assign corresponding control strategies based on the comparison results; S4: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of the joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; S5: Perform a write operation for the verification update request on the target write block, and update the recent pressure information of the target write block after the write operation is performed, so as to be called in the next round of allocation process.
[0007] Furthermore, step S1 includes: S11: Receive a verification update request. If the verification update request belongs to a redundant verification update object, obtain the basic wear information, recent pressure information and block group-level aggregation status of multiple physical candidate blocks. The basic wear information includes at least the number of block erase / write cycles; The recent pressure information includes at least the number of times the physical candidate block receives the verification page and the number of consecutive hit rounds within a preset number of time windows; The block group-level aggregation state includes at least the total amount of verification writes received by the block group within a preset number of time windows, the number of blocks hit within the block group, the number of consecutive active windows of the block group, and the block group temperature rise slope.
[0008] Furthermore, step S2 includes: S21: Based on the number of block erase / write operations, remove physical candidate blocks whose number of block erase / write operations exceeds a preset erase / write operation threshold; S22: In the physical candidate blocks after the elimination operation, the number of times the physical candidate block receives the verification page within the time window is normalized to obtain the first processing result; S23: Apply a weighted penalty to the consecutive hit rounds to obtain the second processing result; S24: The total amount of acceptance verification written, the number of hit blocks in the block group, the number of consecutive active windows in the block group, and the temperature rise slope of the block group are input into the block group-level aggregation intensity function for processing to obtain the third processing result. S25: The first processing result, the second processing result, and the third processing result are weighted and summed according to preset weighting coefficients to obtain the verification pressure risk value.
[0009] Furthermore, step S23 includes: S231: A weighted penalty function is used to apply a weighted penalty to the consecutive hit rounds; The weighted penalty function is configured such that when the number of consecutive hits does not exceed a preset first round threshold, the output value of the weighted penalty function is zero. When the number of consecutive hits exceeds the first round threshold but does not exceed the second round threshold, the output value of the weighted penalty function increases non-linearly with the increase of the number of consecutive hits, and the growth rate accelerates with the increase of the number of consecutive hits. When the number of consecutive hits exceeds the second round threshold, the output value of the weighted penalty function is set to 1; S232: Use the output value of the weighted penalty function as the second processing result.
[0010] Furthermore, step S3 includes: S31: Preset a first pressure threshold and a second pressure threshold, wherein the pressure threshold includes the first pressure threshold and the second pressure threshold, and the first pressure threshold is less than the second pressure threshold; S32: When the verification pressure risk value exceeds the first pressure threshold but does not exceed the second pressure threshold, a weight reduction or limit control strategy is executed on the corresponding physical candidate block; S33: When the verification pressure risk value exceeds the second pressure threshold, a temporary admission control strategy is implemented for the corresponding physical candidate block.
[0011] Furthermore, the weighting control strategy is to reduce the score of the physical candidate block in the subsequent joint priority calculation; The limit control strategy is to limit the maximum number of verification pages that the physical candidate block can receive in the current round or multiple consecutive rounds. The deferred admission control strategy is as follows: mark the physical candidate block as deferred admission state, and do not allow it to be used as a priority physical candidate block for verification writing within a preset cooling window.
[0012] Further, step S4 includes: S41: Obtain the block-based wear advantage value, spatial discrete advantage value, subsequent bearing stability value, and the verification pressure risk value for each physical candidate block; S42: The weighted sum of the basic wear advantage value, the spatial discrete advantage value, and the subsequent bearing stability value is then subtracted from the product of the verification pressure risk value and the corresponding weight coefficient to obtain the joint priority score; S43: According to the control strategy, the physical candidate blocks are downgraded or eliminated, and the remaining physical candidate blocks are assigned a writing order according to the joint priority score from high to low. The physical candidate block with the highest joint priority is selected as the target writing block.
[0013] Further, step S41 includes: S411: Obtain the block erase / write count of the basic wear information, as well as the minimum and maximum erase / write counts of all free blocks on the disk. The basic wear advantage value = (maximum erase / write count - block erase / write count) / (maximum erase / write count - minimum erase / write count). S412: Read the total amount of acceptance verification written to the block group to which the physical candidate block belongs and the number of hit blocks in the block group, calculate the acceptance density of the block group, and read the number of consecutive active windows of the block group. When the acceptance density is lower than a preset discrete threshold and the number of consecutive active windows of the block group is lower than a preset active window number threshold, set the spatial discrete advantage value to 1; otherwise, set it to 0. S413: Read the current number of free blocks in the block group where the physical candidate block is located, the expected number of free blocks to be released through garbage collection, and the trend of the number of free blocks in the block group within a preset number of time windows. When the current number of free blocks is higher than the preset free reserve threshold, or the expected number of free blocks to be released is positive and the trend of change is an upward trend, set the subsequent acceptance stability value to 1; otherwise, set it to 0. S414: Obtain the verification pressure risk value.
[0014] Furthermore, step S5 includes: S51: After the write operation of the verification update request is completed in the target write block, the target write block hit by this write operation is recorded in its block-level hit record, and the number of verification pages accepted, the cumulative number of verification pages accepted, the number of consecutive hit rounds, and the time of the most recent verification write are updated in the target write block within a preset number of time windows. S52: Synchronously update the block group-level aggregation state of the block group to which the target write block belongs, including updating the number of block group hits, the total number of pages carried by the block group, the number of blocks used in the block group, and the block group temperature rise slope in the most recent several check allocation windows. S53: Update the allocation risk flag based on whether this write operation triggered a demotion, restriction, or suspension of access control policies; S54: When the write operation causes the verification pressure risk value of the target write block or its block group to exceed the preset second pressure threshold, the admission status of the target write block or its block group is immediately refreshed without waiting for the next statistical cycle. S55: Use the updated recent pressure information and the admission status as the input status for the next round of verification update request allocation process.
[0015] Secondly, an SSD data redundancy verification system based on wear leveling, the system being used to implement the steps of any of the methods described above, the system comprising: Acquisition module: Receives verification update requests; if the verification update request belongs to a redundant verification update object, it acquires the basic wear information and recent pressure information of multiple physical candidate blocks. Calculation module: Based on the basic wear information and the recent pressure information, calculate the verification pressure risk value of each physical candidate block; Allocation module: compares the verified pressure risk value with multiple preset pressure threshold values, and allocates the corresponding control strategy according to the comparison results; Selection module: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of the joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; Update module: Performs a write operation to verify the update request for the target write block, and updates the recent pressure information of the target write block after the write operation, so as to be called in the next round of allocation process.
[0016] Beneficial Effects: This application proposes a wear-leveling-based SSD data redundancy verification method and system. By introducing a verification stress risk value and dynamically adjusting the control strategy and write priority based on the risk value, it achieves fine-grained management of the verification write load. This enables the SSD controller to perceive the dynamic aggregation effect of the verification write load within the low-wear block pool in real time and promptly limit or adjust the allocation strategy. This avoids mismatch between wear-leveling decisions and the actual write load, effectively prevents premature aging of local block groups, ensures continuous and stable redundancy verification updates, and significantly improves the reliability and lifespan of the SSD. Attached Figure Description
[0017] Figure 1 This is a flowchart of a wear-leveling-based SSD data redundancy verification method proposed in this application.
[0018] Figure 2 This is a structural diagram of an SSD data redundancy verification system based on wear leveling proposed in this application.
[0019] Labeling Explanation: 201. Acquisition Module; 202. Calculation Module; 203. Allocation Module; 204. Selection Module; 205. Update Module. Detailed Implementation
[0020] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. The components of the embodiments of this application described and marked in the accompanying drawings can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0021] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0022] In traditional SSD storage systems, redundant check mechanisms are typically used to ensure data reliability. However, in scenarios where database logs and check pages are updated synchronously at high frequencies, existing conventional wear leveling methods usually prioritize based on static or periodically refreshed erase / write counts, failing to detect the dynamic aggregation effect of check write load within the low-wear block pool in real time. Consequently, they cannot promptly limit or adjust the allocation strategy during the rotation process, leading to a mismatch between wear leveling decisions and the actual write load, premature aging of local block groups, and ultimately disrupting the continuous and stable operation of redundant check updates.
[0023] For this, please refer to Figure 1 This application proposes a method for SSD data redundancy verification based on wear leveling, the method including the following steps: S1: Receive verification update request. If the verification update request belongs to redundant verification update object, obtain the basic wear information and recent pressure information of multiple physical candidate blocks. S2: Calculate the verification pressure risk value for each physical candidate block based on the basic wear information and recent pressure information; S3: Compare the verified pressure risk value with multiple preset pressure threshold values, and assign the corresponding control strategy based on the comparison results; S4: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; S5: Perform a write operation to the target write block for the verification update request, and update the recent pressure information of the target write block after the write operation is performed, so that it can be called in the next round of allocation process.
[0024] This application introduces a verification stress risk value and a dynamic control strategy, which enables more refined management of verification write load, avoids the formation of local hot spots, and thus effectively extends the lifespan of SSDs and improves the stability of data redundancy verification.
[0025] In this context, a physical candidate block refers to a physical storage unit in an SSD that can be used to handle data writes, typically measured in erase / write units or blocks. These physical candidate blocks are the objects that the system can choose from when allocating data writes.
[0026] Basic wear information refers to the inherent wear condition of a physical candidate block, such as its cumulative write / erase count. This information reflects the long-term usage of the physical block.
[0027] Recent load information refers to the amount of parity write load a physical candidate block has received in a recent period, such as the number of times it has received parity pages within a preset number of time windows. This information reflects the short-term load pressure on the physical block.
[0028] The verification pressure risk value is a quantitative indicator that assesses the current risk of verification writes on a physical candidate block by comprehensively considering its basic wear information and recent pressure information. The higher the value, the greater the risk of verification writes on the physical block, and the more likely it is to form a hotspot.
[0029] The pressure threshold is a preset threshold used to determine the pressure risk level of the test. By comparing the test pressure risk value with these thresholds, the risk range of the physical candidate block can be determined, and different control strategies can be adopted.
[0030] The control strategy is a targeted measure taken based on the verification pressure risk value. It aims to adjust the priority or number of physical candidate blocks to accept verification writes in order to achieve wear leveling and avoid hot spots.
[0031] The joint priority score is a comprehensive evaluation used to determine the write priority of a physical candidate block, taking into account multiple factors such as wear status and stress risk. The higher the score, the more suitable the physical block is as a target write block.
[0032] The target write block refers to the physical candidate block that is ultimately selected by the system to be used for writing verification data in the current verification update request.
[0033] The core of the wear-leveling-based SSD data redundancy verification method proposed in this application lies in dynamically assessing the verification pressure risk of physical candidate blocks and adjusting the write allocation strategy accordingly to achieve more refined wear leveling.
[0034] In step S1, after receiving a verification update request, the system first determines whether the request belongs to a redundant verification update object. If it does, it needs to obtain the basic wear information and recent stress information of multiple physical candidate blocks. For example, a physical candidate block pool can be pre-defined, containing all currently available free physical blocks that can be used for verification writing. The system can traverse each physical block in the pool and read its basic wear information, such as the number of erase / write cycles, from the SSD controller or internal metadata table. Simultaneously, the system can also maintain a recent stress information table, recording the number of times each physical block has received a verification page in a recent period. This information can be collected and updated through periodic scanning or event triggering.
[0035] In step S2, the verification pressure risk value of each physical candidate block is calculated based on the acquired basic wear information and recent pressure information. For example, the verification pressure risk value can be obtained by weighting and summing the number of times the block has been erased and rewritten with the number of times it has recently received verification pages.
[0036] In step S3, by comparing the risk value with a preset threshold, the controller can determine the risk level of each candidate block. Low-risk blocks can be written to normally; medium-risk blocks require some write restriction measures; and high-risk blocks need to be temporarily removed from the priority candidate list. This control strategy represents a significant revision to the traditional low-wear priority principle.
[0037] In step S4, based on the control strategy allocated in step S3, a joint priority score is calculated based on the basic wear information and the verification pressure risk value. The write order is then assigned to multiple physical candidate blocks according to their joint priority scores from highest to lowest, and the physical candidate block with the highest joint priority is selected as the target write block. For example, under a normal write strategy, the joint priority score can be mainly determined by the basic wear information; for instance, physical blocks with fewer erase / write cycles have higher scores. However, under a restricted write strategy, even if a physical block has a low number of erase / write cycles, its joint priority score will be reduced, thus decreasing its likelihood of being selected as the target write block. The system iterates through all physical candidate blocks, calculates their joint priority scores, and then selects the physical block with the highest score as the target write block for this verification update.
[0038] In step S5, a write operation for the verification update request is performed on the target write block, and the recent load information of the target write block after the write operation is updated for use in the next round of allocation. For example, after the verification data is written, the system updates the recent load information of the target write block, such as incrementing the number of times it has received verification pages by 1. This updated information will serve as input for the next verification update request allocation, ensuring that the system can perceive changes in the physical block load in real time.
[0039] The wear-leveling-based SSD data redundancy verification method proposed in this application can effectively solve the problem of wear-leveling decision-making and actual write load mismatch in the prior art by introducing verification pressure risk value and dynamic control strategy.
[0040] Traditional wear leveling mechanisms typically prioritize data based solely on static or periodically refreshed write / erase counts. In scenarios where the frequency of checksum writes is significantly higher than that of regular user data, this approach can easily lead to repeated high-frequency checksum writes rotating within a limited pool of low-wear blocks. This causes the high-frequency writes to accumulate rapidly within the low-wear block pool, evolving into new local checksum hotspots. For example, when database logs are continuously appended and periodically trigger checksum rewrites, if the system only prioritizes the physical blocks with the lowest write / erase counts, these low-wear blocks will experience a rapid increase in write / erase counts due to concentrated checksum rewrites, ultimately leading to premature aging.
[0041] This application achieves real-time perception of the physical block's load pressure by obtaining the basic wear information and recent pressure information of the physical candidate block in step S1, and calculating the verification pressure risk value in step S2. The verification pressure risk value comprehensively considers the long-term wear state (basic wear information) and short-term load pressure (recent pressure information) of the physical block, and can more accurately reflect the true risk of the physical block undertaking verification writes.
[0042] Furthermore, in step S3, this application compares the verification pressure risk value with a preset pressure threshold value and assigns a corresponding control strategy based on the comparison result. For example, when the verification pressure risk value of a physical block is high, the system can adopt a de-weighting or limit-time control strategy for it, thereby limiting its priority or the number of verification pages it receives in subsequent write allocations. This dynamic control strategy can intervene in a timely manner to prevent high-risk physical blocks from continuously receiving verification writes, thereby effectively preventing the formation of local hotspots.
[0043] Therefore, in step S4, based on the aforementioned control strategy, the system calculates a joint priority score based on the basic wear information and the verification pressure risk value. This joint priority score considers not only the wear state of the physical block but also its current pressure risk, making the write allocation decision more comprehensive and reasonable. By allocating the write order from high to low according to the joint priority score and selecting the physical block with the highest score as the target write block, this application can distribute the verification write load more evenly throughout the entire physical block pool, avoiding the problem in traditional methods where verification write distribution only stays within a local block group and forms secondary hotspots.
[0044] Finally, in step S5, after performing the write operation of the verification update request on the target write block, the system will promptly update the recent pressure information of the target write block. This real-time feedback mechanism ensures that the next round of allocation can make decisions based on the latest physical block status, forming a closed-loop dynamic adjustment process, further enhancing the wear leveling effect and the continuous and stable handling capability of redundant verification updates.
[0045] In summary, this application achieves refined management of SSD data redundancy verification writes by introducing a verification stress risk value, a dynamic control strategy, and the calculation of a joint priority score. Compared to existing technologies that allocate data based solely on a single dimension of erase / write counts, this application can perceive the dynamic aggregation effect of verification write loads within the low-wear block pool in real time and adjust the allocation strategy accordingly. This effectively avoids the formation of local hotspots, extends SSD lifespan, and improves the continuous and stable handling capability of data redundancy verification.
[0046] In some of the embodiments described above in this application, in order to more comprehensively and accurately assess the wear state and pressure condition of the physical candidate blocks, and to provide a more refined data basis for the subsequent calculation of the pressure risk value, the information obtained in step S1 has been further refined and supplemented.
[0047] Furthermore, step S1 includes: S11: Receive a verification update request. If the verification update request belongs to a redundant verification update object, obtain the basic wear information, recent pressure information and block group-level aggregation status of multiple physical candidate blocks. Basic wear information includes at least the number of block erase / write cycles; Recent pressure information includes at least the number of times a physical candidate block receives a verification page within a preset number of time windows and the number of consecutive hit rounds; The block group-level aggregation status includes at least the total amount of verification writes received by the block group within a preset number of time windows, the number of blocks hit within the block group, the number of consecutive active windows of the block group, and the block group temperature rise slope.
[0048] Specifically, basic wear information refers to key indicators reflecting the wear level of physical candidate blocks. Among them, the block erase / write count is the most direct and important parameter for measuring block wear, recording the total number of times a specific physical candidate block has been erased and written. This information is typically maintained internally by the SSD controller and updated after each erase / write operation.
[0049] The recent pressure information refers to dynamic indicators reflecting the recent parity write pressure experienced by physical candidate blocks. Specifically, it's the number of times a physical candidate block receives parity pages within a preset number of time windows. This counts the frequency with which the block is selected as a parity write target within a specific time period, reflecting its short-term activity. Consecutive hit rounds indicate the number of consecutive rounds in which the physical candidate block is selected as a parity write target. This helps identify blocks under sustained high pressure and prevents them from experiencing excessive concentrated pressure. This information is typically collected and updated in real-time by the SSD controller or upper-level management modules.
[0050] In practical applications, block group-level aggregation status refers to a macroscopic indicator reflecting the overall pressure and activity level of the block group to which the physical candidate block belongs. For example, the total amount of checksum writes received by a block group within a preset number of time windows is used to measure the checksum write load that the entire block group has recently experienced.
[0051] The number of blocks hit within a block group is used to assess the dispersion of check writes within the block group, i.e., whether check writes are concentrated on a small number of blocks.
[0052] The number of consecutive active windows for a block group is used to identify continuously active block groups.
[0053] The block group temperature rise slope is used to quantify the rate of change in the block group's pressure trend. For example, it can be obtained by calculating the rate of change of the total amount of verification writes received by the block group within different time windows. This block group-level information can provide a broader perspective and help determine the pressure background of individual physical candidate blocks.
[0054] The solution in this application obtains more detailed basic wear information, recent pressure information, and block group-level aggregation status in step S1, providing multi-dimensional and refined data support for subsequent verification of pressure risk value calculation.
[0055] Specifically, the number of block erase / write cycles, as fundamental wear information, directly reflects the lifespan of physical candidate blocks and is the core basis for wear leveling strategies. The number of parity pages received and the number of consecutive hit rounds in recent pressure information dynamically capture the parity write pressure experienced by physical candidate blocks in the short term, helping to identify potential hotspot blocks. Furthermore, the introduction of block group-level aggregation states, such as the total amount of parity writes received, the number of hit blocks within the block group, the number of consecutive active windows in the block group, and the block group temperature rise slope, allows the system to assess the distribution and trend of parity writes not only from the perspective of individual blocks but also from a macroscopic perspective of the block group, thus providing a more comprehensive understanding of the pressure background of physical candidate blocks. These rich data working together enable subsequent calculations of parity pressure risk values to more accurately reflect the true state of physical candidate blocks, providing a more reliable basis for wear leveling and load distribution decisions.
[0056] By incorporating more comprehensive basic wear information, recent stress information, and block group-level aggregation status during the information acquisition phase, the system can conduct a deeper and more accurate assessment of the wear level, short-term stress status, and overall activity and stress trend of physical candidate blocks and their respective block groups. This avoids the bias that may result from relying on single or limited information, significantly improving the accuracy of the verification stress risk value calculation. Consequently, subsequent control strategy allocation and target write block selection will be based on more reliable data, thereby more effectively achieving SSD wear leveling, extending SSD lifespan, optimizing the load distribution of verification writes, avoiding local hotspots and excessive wear, and improving the overall stability and reliability of the system.
[0057] In some of the aforementioned implementations, while the calculation of the verification pressure risk value of physical candidate blocks based on basic wear information and recent pressure information is proposed, and various information such as the number of block erase / write cycles, the number of verification pages received, the number of consecutive hit rounds, and the block group-level aggregation status are obtained, how to effectively integrate this heterogeneous and multi-dimensional information to accurately and comprehensively assess the actual pressure risk of each physical candidate block remains a problem that requires refined processing. Simply applying weights or improper combinations may fail to accurately reflect the wear state of the physical block, recent load, and the activity level of its block group, leading to inaccurate assessment of the verification pressure risk value and consequently affecting subsequent block selection and wear leveling effects.
[0058] Furthermore, step S2 includes: S21: Based on the number of block erase / write operations, remove physical candidate blocks whose number of block erase / write operations exceeds a preset erase / write operation threshold; S22: In the physical candidate blocks after the elimination operation, the number of times the physical candidate block receives the verification page within the time window is normalized to obtain the first processing result; S23: Apply a weighted penalty to consecutive hit rounds to obtain the second processing result; S24: Input the total amount of acceptance verification, the number of hit blocks in the block group, the number of consecutive active windows in the block group, and the temperature rise slope of the block group into the block group-level aggregation intensity function for processing to obtain the third processing result; S25: The first processing result, the second processing result, and the third processing result are weighted and summed according to the preset weight coefficients to obtain the verification pressure risk value.
[0059] Specifically, in step S21, the number of write cycles is a key indicator for measuring the wear and tear of physical blocks. By setting a preset write cycle threshold, severely worn candidate blocks nearing the end of their lifespan can be identified and eliminated, preventing verification data from being written to these highly worn blocks and thus extending the overall lifespan of the SSD. This elimination operation ensures that subsequent risk assessments are performed only on healthy physical blocks. The preset write cycle threshold is typically set based on the write lifespan specified in the datasheet provided by the NAND flash memory manufacturer (e.g., 100,000 cycles) and can be adjusted according to actual application requirements, such as setting it to 90,000 cycles.
[0060] In step S22, the number of times a physical candidate block receives a parity page within the time window reflects the frequency with which the block has recently undergone parity writes. To eliminate the dimensional differences in the number of times different blocks receive parity pages and convert them into a uniform risk contribution, normalization is required. Normalization maps this number to a preset range (e.g., 0 to 1), allowing it to be effectively compared and weighted with other risk indicators, thereby obtaining the first processing result.
[0061] In step S23, the consecutive hit rounds represent the number of times a physical block is consecutively selected as a verification write target. Consecutive hits indicate that the block may be forming a hotspot, and its stress risk is accumulating. Through weighted penalty processing, blocks with higher consecutive hit rounds can be assigned a greater risk weight to suppress the formation of hotspots. This weighted penalty processing aims to amplify the negative impact of consecutive hits, thereby obtaining the second processing result.
[0062] In step S24, the total amount of verification writes, the number of hit blocks within the block group, the number of consecutive active windows in the block group, and the block group temperature rise slope are key indicators for evaluating the overall activity and clustering strength of the block group. These indicators collectively reflect the pressure situation and hotspot trends at the block group level. By inputting these indicators into the block group-level clustering strength function for processing, the clustering strength of the block group can be comprehensively evaluated, thus obtaining the third processing result. The block group-level clustering strength function can be a multivariate function, designed to capture the concentration and activity trend of verification writes within the block group.
[0063] Specifically, the block group-level clustering intensity function can be denoted as Fg, with input parameters including: the total amount of verification writes received by the block group within the most recent time window (Q), the number of hit blocks within the block group (U), the number of consecutive active windows in the block group (A), and the block group temperature rise slope (S). A typical function expression is Fg = w1 × (Q / U) + w2 × A + w3 × S, where Q / U represents the average amount of writes carried per hit block; a higher ratio indicates that the write load is more concentrated on a few blocks, and the clustering degree is higher. A, as the number of consecutive active windows, directly reflects the duration of the block group's lack of cooling; a larger A indicates that the block group is under long-term pressure. S, as the temperature rise slope, can be obtained by linear regression of the total amount received in the most recent windows; a positive S value and a larger value indicate that the clustering trend is accelerating and worsening. w1, w2, and w3 are three weighting coefficients used to control the contribution of the ratio of the total amount of verification writes received to the number of hit blocks within the block group, the number of consecutive active windows in the block group, and the block group temperature rise slope to the final clustering intensity assessment result.
[0064] The determination of these three weighting coefficients typically employs a combination of offline calibration and on-site optimization. During the offline calibration phase, controller manufacturers simulate a typical workload in a laboratory environment, involving continuous appending of database logs and periodic triggering of redundancy check rewriting. They test the actual impact of the three metrics on block group hotspot formation using a controlled variable method. For example, keeping other conditions constant, they observe the acceleration rate of block group aging when the number of hit blocks decreases, thereby estimating the sensitivity of the Q / U item relative to other items; or they change the value of the number of consecutive active windows, recording the average number of windows required for a block group to evolve from a normal state to a hotspot state, thus determining the weighting benchmark for item A. Through statistical analysis of a large amount of experimental data, manufacturers can calibrate a set of benchmark coefficients suitable for typical business scenarios.
[0065] During the on-site optimization phase, the SSD controller continuously monitors the actual hotspot evolution of each block group in the real operating environment. If a systematic deviation is found between the aggregation intensity evaluated according to the current weight coefficient and the actual aging rate of the block group, for example, although the aggregation intensity evaluation value of a certain block group is low, the actual erase and write count increases rapidly, it indicates that the current weight configuration underestimates the impact of certain indicators. The controller can fine-tune the values of w1, w2 and w3 according to the preset step size to gradually approach the optimal weight configuration under the current load characteristics.
[0066] Building upon this, normalization can be introduced, such as dividing Q / U by its historical maximum or overall average, and mapping A and S to the 0-1 range, making all indicators comparable. By weighted summing of the above items, the block-level clustering intensity function outputs a comprehensive third processing result. The higher the value of this result, the higher the clustering intensity of the block, and the closer it is to the nascent stage of a hotspot or already in a hotspot state.
[0067] For example, when the Q / U ratio of a block group is much higher than the average level of the entire disk, A exceeds the preset continuous active window threshold, and S is a large positive value, the output value of Fg will increase significantly. At this time, the SSD controller can determine that it is currently in the budding state of a block group hotspot and perform block group-level diversion to redirect the new checksum write to other non-hotspot block groups.
[0068] Conversely, if the Q / U ratio is low, A is small, or S is negative, the Fg output value will be low, indicating that the current aggregation strength of the block group is not high, but it can still accept verification writes. Through this processing method combined with specific formulas, the block group-level aggregation strength function can quantify multiple dimensions of indicators into a comparable value, providing a clear quantitative basis for subsequent state identification and control strategy allocation.
[0069] In step S25, the first, second, and third processing results are weighted and summed according to preset weighting coefficients. These weighting coefficients can be adjusted based on the actual application scenario and the degree of importance placed on different risk factors. For example, higher weight can be assigned to recent pressure information to quickly respond to load changes; or higher weight can be assigned to block-level clustering states to avoid block hotspots. By weighting and summing, a comprehensive and accurate verification pressure risk value can be obtained by considering the recent pressure of physical blocks, continuous hit trends, and the overall activity of their respective block groups.
[0070] This application's solution addresses the limitations and inaccuracies of traditional methods in assessing verification pressure risk values by comprehensively and meticulously processing and integrating wear information, recent load information, and block group-level aggregation status of physical candidate blocks. Specifically, step S21 eliminates high-wear blocks, preventing writes to blocks nearing failure and ensuring data reliability. Step S22 normalizes the number of verification pages received, allowing for comparison of recent load information across different blocks on a uniform scale. Step S23 introduces a weighted penalty mechanism to effectively identify and suppress potential hotspots caused by consecutive hits, preventing excessive load on a few blocks. Step S24 assesses aggregation strength at the block group level, compensating for the potential neglect of local hotspot effects when focusing only on individual physical blocks. Finally, step S25 uses weighted summation to organically combine these meticulously processed risk factors, forming a comprehensive verification pressure risk value that more comprehensively and accurately reflects the true pressure status and potential risks of physical blocks.
[0071] Through the above technical solution, this application provides a more accurate and comprehensive method for calculating the verification pressure risk value. This method not only considers the wear level and recent load of individual physical blocks, but also introduces penalties for continuous hit trends and evaluation of block group-level aggregation states, thereby more effectively identifying potential hotspot blocks and hotspot block groups. This avoids the concentrated writing of verification data to a few blocks due to inaccurate risk assessment, effectively preventing local hotspots and excessive wear, and significantly improving the wear leveling effect and overall lifespan of the SSD. Furthermore, by weighting different risk factors, this solution also possesses good flexibility and configurability, adapting to different application scenarios and performance requirements.
[0072] In some preferred embodiments, a specific example is given below. Assume there are three physical candidate blocks, A, B, and C, with the following relevant information: Physical candidate block A: Block write / erase count is 5000, number of pages accepted for verification within the time window is 10, and number of consecutive hit rounds is 1. The total number of pages accepted for verification in its block group is 100, the number of hit blocks in the block group is 5, the number of consecutive active windows in the block group is 2, and the block group temperature rise slope is 0.1.
[0073] Physical candidate block B: Block erase / write count is 95,000, number of pages accepted for verification within the time window is 5, and number of consecutive hit rounds is 0. The total number of pages accepted for verification in its block group is 50, the number of hit blocks in the block group is 3, the number of consecutive active windows in the block group is 1, and the block group temperature rise slope is 0.05.
[0074] Physical candidate block C: Block erase / write count is 10,000, number of pages accepted for verification within the time window is 20, and number of consecutive hit rounds is 3. The total number of pages accepted for verification in its block group is 200, the number of hit blocks in the block group is 8, the number of consecutive active windows in the block group is 4, and the block group temperature rise slope is 0.2.
[0075] Assume the preset write / erase count threshold is 90,000 times.
[0076] Step S21 removes high-wear blocks from multiple physical candidate blocks: Physical candidate block B has a block erase / write count of 95,000 times, which exceeds 90,000 times, and is therefore removed.
[0077] At this point, the remaining physical candidate blocks are A and C.
[0078] Step S22 normalizes the number of page acceptances: Assume that the normalization function maps the number of page acceptances to the range of 0-0.5, and the maximum number of acceptances is 20.
[0079] Physical candidate block A: The number of times it receives the verification page is 10, and the first processing result after normalization is 10 / 20×0.5=0.25.
[0080] Physical candidate block C: The number of times the verification page is received is 20, and the first processing result after normalization is 20 / 20×0.5=0.5.
[0081] Step S23 applies a weighted penalty to consecutive hit rounds: Assume the weighted penalty function is as follows: output 0 when the consecutive hit rounds are no more than 1; output 0.2 when the consecutive hit rounds are 2; output 0.4 when the consecutive hit rounds are 3. Physical candidate block A: 1 consecutive hit round, second processing result is 0. Physical candidate block C: 3 consecutive hit rounds, second processing result is 0.4.
[0082] Step S24 processes the block group-level clustering intensity function: Assume the block group-level clustering intensity function is calculated based on the input indicators, with an output range of 0-0.5. The block group to which physical candidate block A belongs has: a total of 100 pages of verification data written, 5 hit blocks within the group, 2 consecutive active windows in the group, and a group temperature rise slope of 0.1. Assume the calculated result after the third processing is 0.2.
[0083] The block group to which physical candidate block C belongs has the following characteristics: a total of 200 pages of verification writes, 8 hit blocks within the group, 4 consecutive active windows, and a temperature rise slope of 0.2. Assume the calculated result after third processing is 0.4.
[0084] Step S25 performs a weighted summation to obtain the verified pressure risk value. The weight coefficients of the first, second, and third processing results are typically set as follows: Based on statistical analysis of offline experimental data of typical database log workloads, the contribution of each individual indicator to the actual aging rate of the physical block is determined using the controlled variable method, and indicators with higher contribution are assigned higher weights. Assume the preset weight coefficients are: first processing result weight 0.3, second processing result weight 0.4, and third processing result weight 0.3.
[0085] Verification of the pressure risk value of physical candidate block A: 0.25*0.3+0*0.4+0.2*0.3=0.075+0+0.06=0.135.
[0086] Verification of the pressure risk value of physical candidate block C: 0.5*0.3+0.4*0.4+0.4*0.3=0.15+0.16+0.12=0.43.
[0087] Based on the above calculations, the verification pressure risk value for physical candidate block A is 0.135, while that for physical candidate block C is 0.43. This shows that physical candidate block C has a significantly higher pressure risk than physical candidate block A, reflecting its higher recent page load count, more consecutive hit rounds, and higher activity level within its block group. In subsequent block selection, physical candidate block A with the lower risk value will be prioritized to achieve more effective wear leveling and hotspot avoidance.
[0088] Furthermore, step S23 includes: S231: A weighted penalty function is used to apply a weighted penalty to consecutive hit rounds; The weighted penalty function is configured such that when the number of consecutive hits does not exceed a preset first-round threshold, the output value of the weighted penalty function is zero. When the number of consecutive hits exceeds the threshold of the first round but does not exceed the threshold of the second round, the output value of the weighted penalty function increases non-linearly with the increase of the number of consecutive hits, and the growth rate accelerates with the increase of the number of consecutive hits. When the number of consecutive hits exceeds the threshold of the second round, the output value of the weighted penalty function is set to 1; S232: Use the output value of the weighted penalty function as the second processing result.
[0089] Specifically, the weighted penalty function aims to quantify the pressure risk of a physical candidate block based on the number of consecutive hits. The first-round threshold and the second-round threshold are preset critical values used to distinguish different penalty levels. When the number of consecutive hits is low, i.e., not exceeding the first-round threshold, the pressure risk of the physical candidate block is considered acceptable, and therefore the output value of the weighted penalty function is set to zero, indicating no penalty is applied. Specifically, the setting of the first-round threshold and the second-round threshold needs to comprehensively consider the physical characteristics of the solid-state drive and the verification write frequency in database log scenarios. The first-round threshold is usually set to 2 or 3, meaning that when the number of consecutive hits does not exceed this value, the output value of the penalty function is zero, because one or two consecutive hits are insufficient to constitute a substantial hotspot risk, and the block can still participate in the block selection normally. The second-round threshold is typically set to 5 to 7, with the specific value depending on the frequency of verification updates and the size of the low-wear block pool: the more frequent the verification updates and the smaller the low-wear candidate pool, the lower the second-round threshold should be set (e.g., 5) so that the penalty cap is triggered earlier, forcing overloaded blocks to quickly enter the cooling state; conversely, if the verification update frequency is low or the candidate pool is relatively abundant, the threshold can be appropriately increased (e.g., 7) to avoid oversensitivity that could lead to the premature elimination of available candidate blocks.
[0090] Furthermore, when the number of consecutive hits exceeds the first-round threshold but does not exceed the second-round threshold, it indicates that the physical candidate block has begun to experience higher pressure, and its risk of pressure gradually increases. At this stage, the output value of the weighted penalty function is designed to grow non-linearly with the increase in the number of consecutive hits, and the growth rate accelerates with the increase in the number of consecutive hits. This non-linear growth pattern can more sensitively reflect the risk accumulation effect of the physical candidate block under continuous high pressure, allowing the penalty intensity to increase rapidly. Specifically, the weighting function in this interval can be expressed in power function form, for example: Where Ci is the current consecutive hit round, C_low is the threshold for the first round, C_high is the threshold for the second round, and k is an exponential parameter greater than 1. The specific value of the exponential parameter k needs to be set according to the physical characteristics of the solid-state drive, the frequency of verification writes, and the system's sensitivity requirements for hotspot formation. After extensive experimental verification for database log continuous appending scenarios, the value of k is usually set between 2 and 3. When k is 2, the penalty value increases quadratically with the number of consecutive hit rounds. This means that from the first round threshold to the second round threshold, the penalty value smoothly rises from 0 to 1, and exhibits a moderate acceleration characteristic in the middle range, which is suitable for most conventional log verification scenarios. When k is 3, the penalty value increases even faster. When the number of consecutive hit rounds approaches the second round threshold, the penalty value will rise sharply, which is suitable for scenarios with extremely high verification update frequency and a relatively tight low-wear candidate pool, and can apply strong suppression to continuously hit blocks earlier. In actual product implementation, manufacturers can choose a fixed k value (such as 2.5) through offline calibration. The core feature of this function form is that the derivative increases with Ci, meaning that the rate of increase of the penalty value itself is constantly accelerating.
[0091] When the number of consecutive hits exceeds the threshold of the second round, the physical candidate block is considered to be in a high-risk state and requires maximum penalty. At this point, the output of the weighted penalty function is set to 1, indicating that the maximum penalty value has been reached, ensuring that the physical candidate block receives a significant negative impact in subsequent verification of the pressure risk value. Finally, the output of the weighted penalty function is directly used as the second processing result for the comprehensive calculation of the subsequent verification of the pressure risk value.
[0092] This application's scheme introduces a weighted penalty function with piecewise nonlinear characteristics, enabling a refined assessment of the stress risk accumulated by physical candidate blocks due to consecutive hits. When a physical candidate block has fewer consecutive hit rounds, its stress risk is low, and the penalty value is zero, avoiding unnecessary weighting. As the number of consecutive hit rounds increases, the penalty value grows nonlinearly and rapidly, effectively reflecting the risk of accelerated wear and shortened lifespan caused by continuous high-intensity writing to physical candidate blocks. When the number of consecutive hit rounds reaches a high-risk threshold, the penalty value is set to its maximum, ensuring that high-risk blocks are fully identified and suppressed in the calculation of the stress risk value. This design allows the verification stress risk value to more accurately reflect the true stress state of physical candidate blocks, avoiding excessive penalty for low-risk blocks while applying sufficient suppression to high-risk blocks, thereby achieving more refined wear leveling management.
[0093] In some embodiments described above, this application proposes a scheme that compares a verified pressure risk value with multiple preset pressure thresholds and assigns a corresponding control strategy based on the comparison results. However, in practical applications, if the setting of the pressure thresholds and the allocation of control strategies are not refined enough, it may lead to inaccurate pressure management of physical candidate blocks, making it impossible to effectively distinguish blocks of different risk levels, thereby affecting the wear leveling effect and the overall performance of the SSD. For example, when all risk values are compared with only a single threshold, it may be impossible to effectively intervene in physical candidate blocks with medium risk, or the penalty for high-risk blocks may be insufficient. Therefore, this application further proposes an optimized scheme that compares a verified pressure risk value with multiple preset pressure thresholds and assigns a corresponding control strategy based on the comparison results, in order to achieve more refined risk management and control.
[0094] Further, step S3 includes: S31: Preset a first pressure threshold and a second pressure threshold, wherein the pressure threshold includes the first pressure threshold and the second pressure threshold, and the first pressure threshold is less than the second pressure threshold; S32: When the pressure risk value exceeds the first pressure threshold but does not exceed the second pressure threshold, a weight reduction or limit control strategy is implemented for the corresponding physical candidate block. S33: When the pressure risk value exceeds the second pressure threshold, a temporary admission control strategy is implemented for the corresponding physical candidate block.
[0095] Specifically, the first and second pressure thresholds are preset as boundary values to delineate different pressure risk levels for physical candidate blocks. The first pressure threshold is typically set as a lower risk threshold, such as 0.5, indicating that the physical candidate block is beginning to show signs of pressure and requires moderate intervention. The second pressure threshold is set as a higher risk threshold, such as 0.8, indicating that the physical candidate block is already in a high-pressure state and requires more stringent control measures. The first pressure threshold is lower than the second pressure threshold, thus forming a tiered risk management range.
[0096] When the check stress risk value falls between the first and second stress thresholds, it indicates that the stress risk of the physical candidate block is at a moderate level. In this case, to prevent further deterioration, a deweighting or limit-time control strategy can be implemented. The deweighting strategy aims to reduce the competitiveness of the physical candidate block in subsequent priority calculations, lowering its probability of being selected as a target write block; the limit-time control strategy aims to limit the number of check pages the physical candidate block receives in the current round or consecutive rounds, thereby alleviating its short-term stress.
[0097] When the verification pressure risk value exceeds the second pressure threshold, it indicates that the physical candidate block is in an extremely high pressure risk state. Continuing to write to it may accelerate its wear and even affect its reliability. In this case, a temporary admission control strategy is implemented for the corresponding physical candidate block, that is, it is marked as a temporary admission state and is not allowed to be a priority physical candidate block for verification writing within a preset cooling window, thereby giving the block sufficient rest time to alleviate its pressure state.
[0098] This application's solution achieves refined management of the pressure risk of physical candidate blocks by introducing tiered pressure thresholds (i.e., a first pressure threshold and a second pressure threshold) and corresponding differentiated control strategies. When the verified pressure risk value of a physical candidate block falls within different ranges, the system can take different intervention measures based on its risk level. For example, for medium-risk physical candidate blocks, appropriate adjustments are made through weight reduction or frequency limitation control strategies, which avoids excessive penalties leading to resource waste and effectively suppresses further risk accumulation. For high-risk physical candidate blocks, a deferred admission control strategy is used for mandatory isolation, thereby maximizing the protection of high-risk blocks and preventing premature failure. This tiered management mechanism allows the system to flexibly adjust resource allocation according to the actual pressure situation, improving the efficiency and accuracy of wear leveling.
[0099] In some preferred embodiments, a specific example is given below. Assume a first pressure threshold is set to 0.5 and a second pressure threshold is set to 0.8. When the system receives a verification update request, it calculates the verification pressure risk values for multiple physical candidate blocks.
[0100] Specifically, if the verification pressure risk value of physical candidate block A is 0.4, it does not exceed the first pressure threshold value of 0.5, and therefore will not trigger the weight reduction, limit or postponement of admission control strategy in this embodiment. This block can still be used as a candidate for priority write block.
[0101] If the parity risk value of physical candidate block B is 0.6, which exceeds the first parity threshold of 0.5 but does not exceed the second parity threshold of 0.8, the system will implement a weighting control strategy for physical candidate block B. For example, in the subsequent joint priority score calculation, the weight coefficient corresponding to its parity risk value will be increased, thereby reducing its joint priority score and decreasing its probability of being selected as the target write block. Alternatively, the system can implement a limit control strategy, such as restricting it to accepting a maximum of one parity page write in this round.
[0102] If the verification pressure risk value of physical candidate block C is 0.9, which exceeds the second pressure threshold of 0.8, the system will implement a deferred admission control strategy for physical candidate block C, marking it as deferred admission. In the following preset cooling window (e.g., 10 verification allocation rounds), physical candidate block C will not be considered as a priority physical candidate block for verification writing, thereby effectively alleviating its pressure state.
[0103] Through this hierarchical management, the system can take targeted control measures based on the actual stress risk of physical candidate blocks, thereby more effectively achieving wear leveling and SSD performance optimization.
[0104] Furthermore, the weighting control strategy is to reduce the score of physical candidate blocks in subsequent joint priority calculations; The limit control strategy is to limit the maximum number of verification pages that a physical candidate block can receive in the current round or multiple consecutive rounds. The deferred admission control strategy is as follows: mark the physical candidate block as deferred admission and do not allow it to be used as a priority physical candidate block for verification writing within a preset cooling window.
[0105] The weighting control strategy aims to reduce the score of physical candidate blocks in subsequent joint priority calculations, thus disadvantaging them in competition with other physical candidate blocks for target write blocks and reducing their probability of being selected. This strategy is suitable for verifying physical candidate blocks with high stress risk values but not yet reaching a severe level, to avoid them from being continuously stressed.
[0106] The limit-based write control strategy refers to setting an upper limit on the number of parity pages a physical candidate block can accept in a single round or multiple consecutive rounds. This means that even if a physical candidate block has a high joint priority score, it will no longer be selected as a target write block once its limit on the number of parity pages it can accept is reached, thereby effectively controlling its write pressure in the short term.
[0107] The deferred admission control strategy is a more stringent control measure. When the verification stress risk value of a physical candidate block reaches a high level, it is marked as deferred admission. In this state, the physical candidate block will not be allowed as a priority physical candidate block for verification writing during a preset cooling window, thus providing it with sufficient recovery time and avoiding accelerated wear or performance degradation due to excessive stress.
[0108] The solution proposed in this application, by introducing the aforementioned specific control strategies, enables refined management of physical candidate blocks based on their parity stress risk values. When the parity stress risk value of a physical candidate block is at a moderate level, a weighting or limit control strategy can be used to appropriately reduce the probability of it being selected as a target write block or limit its write load, thereby effectively alleviating its stress condition without completely excluding it from writing. When the parity stress risk value reaches a high level, a deferred admission control strategy is adopted to temporarily remove it from the candidate list to force it to cool down, preventing excessively rapid local wear due to continuous high-pressure writing, which would affect the overall lifespan and stability of the SSD. The synergistic effect of these strategies allows the SSD to more intelligently allocate parity write loads, achieving a more balanced wear distribution.
[0109] In some of the embodiments described above in this application, although step S4 considers basic wear information and check stress risk value when calculating the joint priority score, in actual implementation, relying solely on these two factors may not be sufficient to comprehensively evaluate the overall suitability of physical candidate blocks. For example, if factors such as the spatial dispersion of blocks and future load capacity are not fully considered, check writes may be concentrated in certain areas, forming local hotspots, thereby affecting the overall wear leveling effect and long-term stability of the SSD.
[0110] Furthermore, step S4 includes: S41: Obtain the block-based wear advantage value, spatial dispersion advantage value, subsequent bearing stability value, and verification pressure risk value for each physical candidate block; S42: The weighted sum of the basic wear advantage value, spatial dispersion advantage value, and subsequent bearing stability value is then subtracted from the product of the verification pressure risk value and the corresponding weight coefficient to obtain the joint priority score; S43: Based on the control strategy, reduce or eliminate physical candidate blocks, assign a writing order to the remaining physical candidate blocks according to their joint priority scores from high to low, and select the physical candidate block with the highest joint priority as the target write block.
[0111] Specifically, in step S41, four key evaluation metrics need to be obtained for multiple physical candidate blocks. The block base wear advantage value measures the wear level of the physical candidate block; generally, blocks with lower wear levels have higher advantage values to promote wear leveling. The spatial dispersion advantage value assesses the distribution of physical candidate blocks in the storage space, encouraging the writing of parity data to areas with lower current pressure or more even distribution, avoiding local hotspots. The subsequent handling stability value predicts the ability of the physical candidate block and its block group to handle new writes in the future, ensuring that the selected block is not only suitable now but can also provide stable service in the future. The parity pressure risk value reflects the current parity write pressure faced by the physical candidate block; a higher risk value indicates that the block is less suitable to immediately handle new parity writes.
[0112] In step S42, the calculation method of the joint priority score is refined to a weighted sum of the block foundation wear advantage value, spatial dispersion advantage value, and subsequent bearing stability value, and then subtracting the product of the verification pressure risk value and the corresponding weight coefficient. This calculation method enables the joint priority score to comprehensively reflect the wear state, spatial distribution, future bearing capacity, and current pressure risk of the physical candidate blocks, thereby providing a more comprehensive and refined evaluation result.
[0113] The determination of weight coefficients in the joint priority score calculation formula typically employs a combination of offline calibration and on-site optimization. Manufacturers first simulate a typical load in a laboratory environment, involving continuous appending of database logs and high-frequency triggering of verification rewrites. Using the controlled variable method, they test the impact of block base wear advantage value, spatial dispersion advantage value, subsequent bearing stability value, and verification pressure risk value on the final block selection result and the block group hotspot formation time. Items with higher contributions are assigned higher weights, thus calibrating a set of coefficients suitable for the benchmark scenario.
[0114] In step S43, after calculating the joint priority score, the physical candidate blocks are further adjusted according to the pre-assigned control strategy. For example, the joint priority score of a physical candidate block assigned a de-weighting control strategy will be reduced; a physical candidate block assigned a deferred admission control strategy may be directly removed from the candidate list. Subsequently, the system will assign a write order to the remaining physical candidate blocks according to the adjusted joint priority score from high to low, and finally select the physical candidate block with the highest joint priority as the target write block for this verification update request.
[0115] Furthermore, step S41 includes: S411: Obtain the block erase / write count for basic wear information, as well as the minimum and maximum erase / write counts for all free blocks on the disk. Basic wear advantage value = (maximum erase / write count - block erase / write count) / (maximum erase / write count - minimum erase / write count). S412: Read the total amount of acceptance verification written to the block group to which the physical candidate block belongs and the number of hit blocks in the block group, calculate the acceptance density of the block group, and read the number of consecutive active windows of the block group. When the acceptance density is lower than the preset discrete threshold and the number of consecutive active windows of the block group is lower than the preset active window number threshold, set the spatial discrete advantage value to 1; otherwise, set it to 0. S413: Read the current number of free blocks in the block group where the physical candidate block is located, the expected number of free blocks to be released through garbage collection, and the trend of the number of free blocks in the block group within a preset number of time windows. When the current number of free blocks is higher than the preset free reserve threshold, or the expected number of free blocks to be released is positive and the trend is upward, set the subsequent acceptance stability value to 1; otherwise, set it to 0. S414: Obtain the verification pressure risk value.
[0116] Specifically, in step S411, the base wear advantage value is used to quantify the relative health of the physical candidate block's wear level compared to the overall free blocks on the disk. The block erase / write count refers to the total number of times a specific physical candidate block has been erased and written, and is the core indicator for measuring its wear level. The minimum and maximum erase / write counts of all free blocks on the disk provide a reference benchmark for the overall wear distribution. By normalizing the erase / write counts of the physical candidate block to the range of erase / write counts for the entire disk, a base wear advantage value between 0 and 1 is obtained. The higher the value, the lower the wear level of the block, and the more suitable it is to accept new writes.
[0117] In step S412, the spatial dispersion advantage value is used to evaluate the load balancing status and activity level of the block group to which the physical candidate block belongs. The block group's acceptance density refers to the ratio of the total amount of verification writes accepted by the block group within a certain time period to the number of hit blocks within the block group, reflecting the concentration of writes within the block group. The dispersion threshold is a preset threshold used to determine whether the acceptance density is too high, i.e., whether writes are too concentrated. The number of consecutive active windows for a block group indicates the number of times the block group remains active within a consecutive time window, reflecting the block group's sustained activity. When the acceptance density is lower than the dispersion threshold and the number of consecutive active windows for a block group is lower than the active window number threshold, it indicates that the block group's load is relatively low and its activity level is not high. In this case, the spatial dispersion advantage value is set to 1 to encourage writes to be distributed across these relatively idle block groups, thereby achieving better spatial dispersion and load balancing. Otherwise, the spatial dispersion advantage value is set to 0, indicating that the block group does not possess spatial dispersion advantage.
[0118] In step S413, the subsequent write stability value is used to predict the future write capacity of the block group containing the physical candidate block. The current number of free blocks refers to the number of free blocks available for writing in the block group. The expected number of free blocks to be released through garbage collection refers to the number of free blocks expected to be released through garbage collection. The free reserve threshold is a preset threshold used to determine whether the current number of free blocks is sufficient. The trend of the number of free blocks in the block group within a preset number of time windows reflects the dynamic change in the block group's free capacity. When the current number of free blocks is higher than the free reserve threshold, or the expected number of free blocks to be released is positive and the trend of the number of free blocks is upward, it indicates that the block group has good subsequent write stability. In this case, the subsequent write stability value is set to 1 to ensure that the selected block group can still stably accept writes in the future. Otherwise, the subsequent write stability value is set to 0, indicating that the subsequent write stability of the block group is poor.
[0119] In step S414, the verification pressure risk value is directly obtained. This value has been calculated in previous steps based on factors such as basic wear information, recent pressure information, and block group-level aggregation status, and is used to measure the risk of physical candidate blocks accepting verification writes.
[0120] In some preferred embodiments, it is assumed that there are three physical candidate blocks, from which one needs to be selected as the target write block.
[0121] For the first physical candidate block: its block erase / write cycles are 1000. Assuming the minimum erase / write cycles for all free blocks on the disk are 500 and the maximum are 2000, its base wear advantage value = (2000-1000) / (2000-500) = 1000 / 1500 ≈ 0.67. The acceptance density of its block group is below the discrete threshold, and the number of consecutive active windows in the block group is below the active window number threshold; therefore, the spatial discrete advantage value is set to 1. The current number of free blocks in its block group is above the free reserve threshold; therefore, the subsequent acceptance stability value is set to 1. Its verification pressure risk value is 0.2.
[0122] For the second physical candidate block: its write / erase cycles are 1500. Therefore, its basic wear advantage value = (2000-1500) / (2000-500) = 500 / 1500 ≈ 0.33. The acceptance density of its block group is higher than the discrete threshold, so the spatial discrete advantage value is set to 0. The current number of free blocks in its block group is lower than the free reserve threshold, but the expected number of free blocks to be released through garbage collection is positive and the trend is upward; therefore, the subsequent acceptance stability value is set to 1. Its verification pressure risk value is 0.1.
[0123] For the third physical candidate block: its block write / erase cycles are 800. Therefore, its basic wear advantage value = (2000-800) / (2000-500) = 1200 / 1500 = 0.8. The acceptance density of its block group is lower than the discrete threshold, but the number of consecutive active windows in the block group is higher than the active window number threshold; therefore, the spatial discrete advantage value is set to 0. The current number of idle blocks in its block group is lower than the idle reserve threshold, and the expected number of idle blocks to be released is zero, showing a downward trend; therefore, the subsequent acceptance stability value is set to 0. Its verification pressure risk value is 0.3.
[0124] Assuming that in step S42, the weighting coefficients of the basic wear advantage value, spatial dispersion advantage value, and subsequent bearing stability value are 0.4, 0.3, and 0.2, respectively, and the weighting coefficient of the verification pressure risk value is 0.1.
[0125] but: The joint priority score of the first physical candidate block is: 0.67*0.4+1*0.3+1*0.2-0.2*0.1=0.268+0.3+0.2-0.02=0.748.
[0126] The joint priority score of the first physical candidate block is: 0.33*0.4+0*0.3+1*0.2-0.1*0.1=0.132+0+0.2-0.01=0.322.
[0127] The joint priority score for the third physical candidate block is: 0.8*0.4+0*0.3+0*0.2-0.3*0.1=0.32+0+0-0.03=0.29.
[0128] Based on the joint priority scores, the first physical candidate block, with the highest score (0.748), will be selected as the target write block. This detailed calculation method ensures an optimal balance between wear leveling, spatial dispersion, and subsequent write stability, thereby making the best write decision.
[0129] In some embodiments described above in this application, after performing a write operation to request a verification update on the target write block, the recent stress information of the target write block is updated. However, simply updating the recent stress information may not fully reflect the dynamic impact of the write operation on the overall wear leveling and stress status of the SSD. For example, if the aggregation state at the block group level is not updated in a timely and detailed manner, or if the risk changes caused by the write operation are not responded to in a timely manner, the subsequent verification allocation decision may be inaccurate, thereby affecting the wear leveling effect and potentially accelerating the wear of certain blocks or block groups, forming hotspots. If the above problems are not addressed, the wear leveling effect of the system may be poor, and the response to high stress risks may not be timely enough, thereby reducing the overall lifespan and reliability of the SSD.
[0130] Furthermore, step S5 includes: S51: After the write operation of the verification update request is completed in the target write block, the target write block hit by this write operation is recorded in its block-level hit record, and the number of verification pages accepted, the cumulative number of verification pages accepted, the number of consecutive hit rounds, and the time of the most recent verification write are updated in the target write block within a preset number of time windows. S52: Synchronously update the block group-level aggregation status of the block group to which the target write block belongs, including updating the number of block group hits in the most recent check allocation windows, the total number of pages carried by the block group, the number of blocks used in the block group, and the block group temperature rise slope. S53: Update the allocation risk flag based on whether this write operation triggered a demotion, restriction, or suspension of access control policies; S54: When the write operation causes the verification pressure risk value of the target write block or its block group to exceed the preset second pressure threshold, the admission status of the target write block or its block group is immediately refreshed without waiting for the next statistical cycle. S55: Use the updated recent pressure information and access status as the input status for the next round of verification update request allocation process.
[0131] Step S51 aims to record and update the detailed activity information of a single physical candidate block. Specifically, block-level hit recording refers to recording the number of times or historical information of the physical candidate block being selected and having a write operation performed, with the purpose of tracking the activity of a single block.
[0132] Further, step S52 aims to synchronously update the overall status of the block group to which the target write block belongs. Specifically, the block group-level cluster status refers to a comprehensive indicator reflecting the activity level and pressure of physical blocks within the block group. The block group hit count refers to the total number of times the block group has been hit within a few recent checksum allocation windows, used to assess the overall activity of the block group. The total number of pages handled by the block group refers to the total number of checksum write pages handled by the block group within a preset number of time windows, reflecting the overall pressure on the block group. The number of blocks used within the block group refers to how many physical blocks within the block group have been selected and written, its purpose being to assess the utilization and dispersion of resources within the block group. The block group temperature rise slope refers to the trend of block group pressure or activity over time, used to predict whether the block group is likely to become a hotspot.
[0133] Furthermore, step S53 is used to dynamically adjust the allocation risk flag based on the result of this write operation. Specifically, the allocation risk flag can be understood as an indicator indicating whether the physical candidate block or its block group requires special handling in subsequent allocations, such as whether it needs to be downgraded, restricted, or have its admission temporarily suspended. Its purpose is to feed back the execution result of the control strategy into the status information so that subsequent decisions can take these risks into account.
[0134] As a preferred implementation, step S54 proposes an immediate response mechanism. Specifically, when the write operation causes the verification pressure risk value of the target write block or its block group to exceed a preset second pressure threshold, its admission status will be immediately refreshed. This means that even if the next statistical cycle has not yet arrived, the system will immediately update the availability status of the block or block group, for example, by marking it as temporarily deferred to admission, thereby preventing it from being selected again in a short period of time and effectively preventing risk accumulation.
[0135] Finally, step S55 ensures the continuity and effectiveness of the system status. Specifically, the recently updated pressure information and the real-time refreshed admission status, after the comprehensive update described above, are used as the input status for the next round of verification update request allocation process. The purpose is to ensure that subsequent verification allocation decisions are always based on the latest and most accurate system status, thereby achieving more refined and timely wear leveling and risk management.
[0136] This application's solution addresses the issues of incomplete and untimely updates in traditional solutions by performing multi-dimensional, refined, and real-time updates to the status information of the target block and its block group after the write operation of the verification update request is completed. Specifically, step S51 updates the block-level hit record, the number of pages accepted for verification, the cumulative number of pages accepted for verification, the number of consecutive hit rounds, and the time of the most recent accepted verification write, enabling the system to accurately grasp the wear and stress dynamics of individual physical blocks and identify potential local hotspots. Simultaneously, step S52 synchronously updates the block group-level aggregation status, including the number of block group hits, the total number of pages accepted by the block group, the number of blocks used within the block group, and the block group's temperature rise slope, allowing the system to assess the overall activity and stress trend of the block group from a macroscopic perspective, preventing the formation of hotspots at the block group level. Furthermore, step S53 updates the allocation risk flag based on the triggering of the control strategy, feeding the decision results back to the status information, allowing subsequent allocations to directly reference the risk level. Crucially, step S54 introduces an instant refresh mechanism. When the verified pressure risk value exceeds the second pressure threshold, the access status is refreshed immediately without waiting for the statistical period to end. This allows for rapid response and intervention in high-risk situations, effectively preventing further risk accumulation. Finally, step S55 uses this comprehensive and timely updated information as input for the next round of allocation, ensuring that the decision-making basis for the entire allocation process is always up-to-date, thereby achieving more accurate and forward-looking wear leveling and risk management.
[0137] In some preferred embodiments, it is assumed that in a single verification update request, the first physical candidate block in the physical candidate block set is selected as the target write block. After the first physical candidate block successfully executes the write operation of the verification update request, the system will immediately initiate the update process. First, in step S51, the block-level hit record of the first physical candidate block will be updated, for example, its page acceptance count will increase from 50 to 51, its consecutive hit rounds will increase from 2 to 3, and the time of the most recent verification write will be updated to the current timestamp.
[0138] Meanwhile, in step S52, it is assumed that the number of block hits in the block group to which the first physical candidate block belongs increases from 100 to 101, the total number of pages handled by the block group also increases accordingly, and the number of blocks used in the block group and the block group temperature rise slope will be recalculated and updated according to the impact of this write.
[0139] Further, in step S53, if the write operation causes the verification pressure risk value of the first physical candidate block or block group to trigger a preset weighting control strategy, the corresponding allocation risk flag will be set to weighted down. As a specific implementation, in step S54, if the verification pressure risk value of the first physical candidate block rises from 1.5 to 2.8 after this write operation, exceeding the preset second pressure threshold of 2.5, the system will immediately refresh the admission status of the first physical candidate block, marking it as temporarily deferred admission, without waiting for the next statistical cycle.
[0140] Finally, in step S55, all these updated recent pressure information and admission status, including the latest status of the first physical candidate block and the latest aggregation status of the block group, will be used as input status for the next round of verification update request allocation process, thereby ensuring that subsequent allocation decisions can be based on the most accurate and timely system information.
[0141] Please refer to Figure 2 A wear-leveling-based SSD data redundancy verification system, the system being used to implement the steps of any of the methods, the system comprising: Acquisition module 201: Receives verification update requests. If the verification update request belongs to a redundant verification update object, it acquires the basic wear information and recent pressure information of multiple physical candidate blocks. Calculation module 202: Calculates the verification pressure risk value of each physical candidate block based on the basic wear information and recent pressure information; Allocation module 203: compares the verified pressure risk value with multiple preset pressure threshold values, and allocates the corresponding control strategy according to the comparison result; Selection module 204: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; Update module 205: Performs a write operation to verify the update request on the target write block and updates the recent pressure information of the target write block after the write operation is performed, so that it can be called in the next round of allocation process.
[0142] This application's system, through modular design, decomposes the complex wear-leveling-based SSD data redundancy verification method into a series of clear and manageable steps, effectively solving the problem of the lack of specific system architecture support in actual deployment. Specifically, the acquisition module 201 serves as the data entry point, ensuring that the basic data required for decision-making can be collected in a timely and accurate manner; the calculation module 202 transforms this raw data into risk indicators with decision-making significance, providing a quantitative basis for subsequent strategy formulation; based on this, the allocation module 203 dynamically applies different control strategies to physical candidate blocks according to preset risk thresholds, thereby avoiding the limitations of single-indicator decision-making and realizing early warning and intervention for high-risk blocks; the selection module 204 comprehensively considers multiple factors, achieving a balance between wear leveling, performance, and risk control through a joint priority scoring mechanism, ultimately selecting the most suitable target block for verification writing; finally, the update module 205 ensures that the entire system can continuously self-adjust and optimize by providing real-time feedback on block state changes after the write operation, forming a dynamic and adaptive verification write management cycle. It is precisely because of this modular collaborative working mechanism that this application's system can transform abstract method steps into efficient and reliable actual operation processes.
[0143] Through the aforementioned system solution, this application concretizes the abstract wear-leveling-based SSD data redundancy verification method into an operable and deployable system architecture. This modular design significantly improves the clarity and manageability of the method implementation, clearly defining the responsibilities of each function and reducing the complexity of system development. Furthermore, the system ensures that each step in the above method is executed efficiently and collaboratively in a real-world SSD environment, thereby improving the intelligence level of verification data writing and the overall operating efficiency of the SSD. By providing a structured implementation framework, this system effectively addresses the integration and performance optimization challenges that the method may face in practical applications, providing a solid system guarantee for the long-term stable operation and wear leveling of SSDs.
[0144] In some preferred embodiments, the wear-leveling-based SSD data redundancy verification system of this application can be integrated into the SSD controller firmware. Specifically, the acquisition module 201 can be jointly implemented by the I / O request processing unit and the metadata management unit in the firmware, responsible for intercepting verification update requests and reading information such as the erase / write count and recent write statistics of each physical block in the NAND flash memory chip. The calculation module 202 and the allocation module 203 can serve as the core algorithm logic in the firmware, running on the embedded processor of the SSD controller, calculating the verification pressure risk value in real time and generating corresponding control instructions according to the preset threshold value. The selection module 204 further utilizes these instructions, combined with other wear leveling and performance indicators, to select the final target write block through a priority queue or scheduler. Finally, after the data is written to the NAND flash memory, the update module 205 is responsible for updating the block status table and block group metadata inside the controller, and storing this updated information in non-volatile memory to ensure that the state continuity can be maintained after the SSD is powered off and restarted, thereby providing accurate input for the next round of verification allocation.
[0145] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for verifying data redundancy in SSDs based on wear leveling, characterized in that, The method includes the following steps: S1: Receive a verification update request. If the verification update request belongs to a redundant verification update object, obtain the basic wear information and recent pressure information of multiple physical candidate blocks. S2: Calculate the verification pressure risk value for each physical candidate block based on the basic wear information and the recent pressure information; S3: Compare the verified pressure risk value with multiple preset pressure threshold values, and assign corresponding control strategies based on the comparison results; S4: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of the joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; S5: Perform a write operation for the verification update request on the target write block, and update the recent pressure information of the target write block after the write operation is performed, so as to be called in the next round of allocation process.
2. The SSD data redundancy verification method based on wear leveling according to claim 1, characterized in that, Step S1 includes: S11: Receive a verification update request. If the verification update request belongs to a redundant verification update object, obtain the basic wear information, recent pressure information and block group-level aggregation status of multiple physical candidate blocks. The basic wear information includes at least the number of block erase / write cycles; The recent pressure information includes at least the number of times the physical candidate block receives the verification page and the number of consecutive hit rounds within a preset number of time windows; The block group-level aggregation state includes at least the total amount of verification writes received by the block group within a preset number of time windows, the number of blocks hit within the block group, the number of consecutive active windows of the block group, and the block group temperature rise slope.
3. The SSD data redundancy verification method based on wear leveling according to claim 2, characterized in that, Step S2 includes: S21: Based on the number of block erase / write operations, remove physical candidate blocks whose number of block erase / write operations exceeds a preset erase / write operation threshold; S22: In the physical candidate blocks after the elimination operation, the number of times the physical candidate block receives the verification page within the time window is normalized to obtain the first processing result; S23: Apply a weighted penalty to the consecutive hit rounds to obtain the second processing result; S24: The total amount of acceptance verification written, the number of hit blocks in the block group, the number of consecutive active windows in the block group, and the temperature rise slope of the block group are input into the block group-level aggregation intensity function for processing to obtain the third processing result. S25: The first processing result, the second processing result, and the third processing result are weighted and summed according to preset weighting coefficients to obtain the verification pressure risk value.
4. The SSD data redundancy verification method based on wear leveling according to claim 3, characterized in that, Step S23 includes: S231: A weighted penalty function is used to apply a weighted penalty to the consecutive hit rounds; The weighted penalty function is configured such that when the number of consecutive hits does not exceed a preset first round threshold, the output value of the weighted penalty function is zero. When the number of consecutive hits exceeds the first round threshold but does not exceed the second round threshold, the output value of the weighted penalty function increases non-linearly with the increase of the number of consecutive hits, and the growth rate accelerates with the increase of the number of consecutive hits. When the number of consecutive hits exceeds the second round threshold, the output value of the weighted penalty function is set to 1; S232: Use the output value of the weighted penalty function as the second processing result.
5. The SSD data redundancy verification method based on wear leveling according to claim 1, characterized in that, Step S3 includes: S31: Preset a first pressure threshold and a second pressure threshold, wherein the pressure threshold includes the first pressure threshold and the second pressure threshold, and the first pressure threshold is less than the second pressure threshold; S32: When the verification pressure risk value exceeds the first pressure threshold but does not exceed the second pressure threshold, a weight reduction or limit control strategy is executed on the corresponding physical candidate block; S33: When the verification pressure risk value exceeds the second pressure threshold, a temporary admission control strategy is implemented for the corresponding physical candidate block.
6. The SSD data redundancy verification method based on wear leveling according to claim 5, characterized in that, The weighting control strategy is to reduce the score of the physical candidate block in the subsequent joint priority calculation; The limit control strategy is to limit the maximum number of verification pages that the physical candidate block can receive in the current round or multiple consecutive rounds. The deferred admission control strategy is as follows: mark the physical candidate block as deferred admission state, and do not allow it to be used as a priority physical candidate block for verification writing within a preset cooling window.
7. The SSD data redundancy verification method based on wear leveling according to claim 1, characterized in that, Step S4 includes: S41: Obtain the block-based wear advantage value, spatial discrete advantage value, subsequent bearing stability value, and the verification pressure risk value for each physical candidate block; S42: The weighted sum of the basic wear advantage value, the spatial discrete advantage value, and the subsequent bearing stability value is then subtracted from the product of the verification pressure risk value and the corresponding weight coefficient to obtain the joint priority score; S43: According to the control strategy, the physical candidate blocks are downgraded or eliminated, and the remaining physical candidate blocks are assigned a writing order according to the joint priority score from high to low. The physical candidate block with the highest joint priority is selected as the target writing block.
8. The SSD data redundancy verification method based on wear leveling according to claim 7, characterized in that, Step S41 includes: S411: Obtain the block erase / write count of the basic wear information, as well as the minimum and maximum erase / write counts of all free blocks on the disk. The basic wear advantage value = (maximum erase / write count - block erase / write count) / (maximum erase / write count - minimum erase / write count). S412: Read the total amount of acceptance verification written to the block group to which the physical candidate block belongs and the number of hit blocks in the block group, calculate the acceptance density of the block group, and read the number of consecutive active windows of the block group. When the acceptance density is lower than a preset discrete threshold and the number of consecutive active windows of the block group is lower than a preset active window number threshold, set the spatial discrete advantage value to 1; otherwise, set it to 0. S413: Read the current number of free blocks in the block group where the physical candidate block is located, the expected number of free blocks to be released through garbage collection, and the trend of the number of free blocks in the block group within a preset number of time windows. When the current number of free blocks is higher than the preset free reserve threshold, or the expected number of free blocks to be released is positive and the trend of change is an upward trend, set the subsequent acceptance stability value to 1; otherwise, set it to 0. S414: Obtain the verification pressure risk value.
9. The SSD data redundancy verification method based on wear leveling according to claim 1, characterized in that, Step S5 includes: S51: After the write operation of the verification update request is completed in the target write block, the target write block hit by this write operation is recorded in its block-level hit record, and the number of verification pages accepted, the cumulative number of verification pages accepted, the number of consecutive hit rounds, and the time of the most recent verification write are updated in the target write block within a preset number of time windows. S52: Synchronously update the block group-level aggregation state of the block group to which the target write block belongs, including updating the number of block group hits, the total number of pages carried by the block group, the number of blocks used in the block group, and the block group temperature rise slope in the most recent several check allocation windows. S53: Update the allocation risk flag based on whether this write operation triggered a demotion, restriction, or suspension of access control policies; S54: When the write operation causes the verification pressure risk value of the target write block or its block group to exceed the preset second pressure threshold, the admission status of the target write block or its block group is immediately refreshed without waiting for the next statistical cycle. S55: Use the updated recent pressure information and the admission status as the input status for the next round of verification update request allocation process.
10. A wear-leveling-based SSD data redundancy verification system, characterized in that, The system is used to implement the steps of the method according to any one of claims 1-9, and the system includes: Acquisition module: Receives verification update requests; if the verification update request belongs to a redundant verification update object, it acquires the basic wear information and recent pressure information of multiple physical candidate blocks. Calculation module: Based on the basic wear information and the recent pressure information, calculate the verification pressure risk value of each physical candidate block; Allocation module: compares the verified pressure risk value with multiple preset pressure threshold values, and allocates the corresponding control strategy according to the comparison results; Selection module: Based on the control strategy, calculate the joint priority score based on the basic wear information and the verification pressure risk value, and assign the writing order to multiple physical candidate blocks in descending order of the joint priority score, and select the physical candidate block with the highest joint priority as the target writing block; Update module: Performs a write operation to verify the update request for the target write block, and updates the recent pressure information of the target write block after the write operation, so as to be called in the next round of allocation process.