Dynamic combination mapping method and system for 3D NAND flash memory

By using a dynamic combination mapping method and a reinforcement learning model, the problems of write amplification and excessive storage requirements in block mapping and page mapping of SSDs are solved, achieving a balance between performance and cost and improving the utilization of cache space.

CN122019403APending Publication Date: 2026-05-12HUAZHONG UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAZHONG UNIV OF SCI & TECH
Filing Date
2026-01-14
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing solid-state drives (SSDs) using block mapping methods suffer from severe write amplification due to repeated read-modify-write operations caused by random writes. In contrast, page mapping methods require a larger storage mapping table because the number of flash pages far exceeds the number of flash blocks.

Method used

A dynamic combination mapping method for 3D NAND flash memory is adopted. The data flow is divided into temporally limited, spatially local, and random data through a reinforcement learning model. The page mapping or block mapping method is dynamically selected, and the mapping table is optimized by combining the Q-Learning algorithm to adjust the DRAM cache space allocation in order to achieve a balance between performance and cost.

Benefits of technology

It effectively reduces write amplification, optimizes the storage requirements of the mapping table, improves the utilization of cache space, and meets the performance and cost requirements of ultra-large capacity SSDs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122019403A_ABST
    Figure CN122019403A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of data storage, and particularly discloses a dynamic combination mapping method and system for a 3D NAND flash memory, and the method comprises the steps: dividing a data stream received by an SSD into time limitation data, spatial locality data and random data; on the basis of a scheduling method of a reinforcement learning model, the optimal action is explored online by adopting a current state and rewards, and a mapping method is configured for data by taking reward function maximization as a target; wherein the state comprises a data access type, a read-write ratio, an access random rate and a data flow size; the action is to select page mapping and block mapping; the rewards include a block mapping random read penalty term, a page mapping random read reward term, and a mapping method stability regularization term. According to the method, the fixed mapping method is adopted in different time periods and timely switching is carried out, and the optimal mapping mode is matched for data through the mode, so that the balance of the ultra-large-capacity SSD on the performance and the cost is met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data storage, and more specifically, relates to a dynamic combination mapping method and system for 3D NAND flash memory. Background Technology

[0002] The rapid development of cloud computing, big data, and artificial intelligence technologies has led to an exponential increase in data volume. Cloud service providers and enterprise users are continuously increasing their demand for storage capacity. Solid-state drives (SSDs) have evolved from the initial 100GB capacity to TB and PB-level storage. High-capacity SSDs not only meet the long-term storage needs of massive amounts of data but also improve the efficiency of computing and storage collaboration through memory expansion and caching acceleration, thus becoming a core component of modern data center storage architectures.

[0003] Early solid-state drives (SSDs) primarily used block mapping, mapping contiguous logical regions to the same physical block. While this method simplified the mapping table structure and reduced DRAM consumption, it had significant limitations. During random writes, frequent updates to non-contiguous logical addresses would trigger repeated read-modify-write operations, leading to severe write amplification.

[0004] To compensate for the shortcomings of block mapping, page mapping technology has gradually become the mainstream solution. In page mapping, flash memory pages are used as the mapping unit, and logical pages can be mapped to any physical page in flash memory. Therefore, each page corresponds to a specific mapping relationship. Since the number of flash memory pages far exceeds the number of flash memory blocks, a larger capacity is needed to store the mapping table. Summary of the Invention

[0005] To address the shortcomings of existing technologies, the purpose of this application is to provide a dynamic combination mapping method and system for 3D NAND flash memory. This aims to solve the problem that existing solid-state drives using block mapping methods suffer from severe write amplification due to repeated read-modify-write operations triggered by frequent updates to non-contiguous logical addresses during random writes, while page mapping methods suffer from the problem that the number of flash memory pages far exceeds the number of flash memory blocks, requiring a larger storage mapping table.

[0006] The first aspect of this application relates to a dynamic combination mapping method for 3D NAND flash memory, specifically including the following steps: Step S1: Divide the data stream received by the SSD into time-limited data, spatially localized data, and random data; Step S2: Based on the reinforcement learning model, the scheduling method explores the optimal action online using the current state and reward, aiming to maximize the reward function, and configures a mapping method for the data. The state includes the access type, read / write ratio, access randomness rate, and data stream size corresponding to time-limited data, spatially localized data, and random data. The mapping methods are page mapping and block mapping, and the action is to choose between page mapping and block mapping. The reward includes a block mapping random read penalty, a page mapping random read reward, and a mapping method stability regularization term.

[0007] In some implementations, the data stream is divided as follows: If the randomness rate of the current data in the data stream exceeds the first preset value, then the current data is determined to be random data; If the current data is not random data, the revisit rate of the current data is calculated. If the revisit rate of the current data exceeds the second preset value, the current data is determined to be temporally local data; otherwise, the current data is determined to be spatially local data.

[0008] In some implementations, the method for updating the action is as follows: Set a probability P, generate a random number R between 0 and 1. If R < P, use page mapping; otherwise, use block mapping. Adjust the probability P, then randomly generate a random number R between 0 and 1, and update the action again.

[0009] In some implementations, the reward function is: ; in, For block mapping random read penalty terms; For page mapping random read reward items; This is a regularization term for the stability of the mapping method; This refers to the number of random reads of the block-mapped data. This represents the total number of reads of the block-mapped data. This refers to the number of random reads of the page mapping data. This represents the total number of reads of the page-mapped data. It is the minimum value; This indicates the degree of difference in the mapping method between the current period and the previous period; and Configure according to the characteristics of SSD solid-state hardware; Configure according to workload volatility.

[0010] In some implementations, to achieve a lightweight reinforcement learning-based model, the Q-Learning algorithm is used to update the Q-table; wherein the Q-table is constructed using a set of states and actions, and is used to guide the optimization of the reward function based on the reinforcement learning model.

[0011] In some implementations, the Q-table is updated as follows: ; in, This represents the values ​​in the Q-table; Indicates the current state; Indicates the action to be performed; and These represent the learning rate and the discount factor, respectively. Indicates the next state Actions and rewards r Used to update the Q-table when the last action is performed; In the current state Choose the option with the maximum value. action This makes the current state become the next state. And continue to choose to maximize The next move ; To record the next state With the next action The values ​​in the Q-table.

[0012] In some implementations, the dynamic combination mapping method for 3D NAND flash memory further includes the following steps: For the mapping table corresponding to random access, the proportion of the mapping table cache in the DRAM cache space is set to the saturation threshold, and the remaining space in the DRAM cache space is allocated to the data cache. For the mapping tables corresponding to spatially limited access and temporally local access, a greedy algorithm is used to find the optimal ratio of data caching to mapping table caching.

[0013] In some implementations, the optimal ratio of data cache to mapping table cache is determined using a greedy algorithm: Using the access randomness rate as input, determine the optimal mapping table cache interval under the access randomness rate; Based on the optimal mapping table cache range and combined with the current cache hit rate, the minimum mapping table cache size is selected, and the remaining cache space in the DRAM cache space is allocated to the data cache.

[0014] The second aspect of this application relates to a dynamic combination mapping system for 3D NAND flash memory, comprising: a feature collector and a mapping selector; The feature collector is used to divide the data stream received by the SSD into temporally limited data, spatially localized data, and random data; The mapping selector is used in a scheduling method based on a reinforcement learning model. It explores the optimal action online using the current state and reward, aiming to maximize the reward function and configure mapping methods for the data. The state includes the access type, read / write ratio, access randomness rate, and data stream size corresponding to time-limited data, spatially localized data, and random data. The mapping methods are page mapping and block mapping, and the action is to select page mapping and block mapping. The reward includes a block mapping random read penalty, a page mapping random read reward, and a mapping method stability regularization term.

[0015] In some implementations, the dynamic combination mapping system for 3D NAND flash memory also includes a cache allocator, which sets the mapping table cache ratio in the DRAM cache space to a saturation threshold for the mapping table corresponding to random access, and allocates the remaining space in the DRAM cache space to the data cache; for the mapping tables corresponding to spatially limited access and temporally local access, a greedy algorithm is used to solve for the optimal ratio of data cache to mapping table cache.

[0016] Overall, the technical solutions conceived in this application have the following beneficial effects compared with the prior art: This application provides a dynamic combination mapping method and system for 3D NAND flash memory, which converts the raw I / O stream into the feature set required by the dynamic combination mapping method; selects an appropriate mapping method for write data according to the data distribution type, balancing performance and mapping table size; and adjusts DRAM space allocation according to the mapping table and data caching requirements to maximize cache space utilization. Unlike traditional hybrid mapping that internally interleaves page and block mapping, this application uses a fixed mapping method at different times and switches it in a timely manner. This method matches the optimal mapping method for data, meeting the balance between performance and cost for ultra-large capacity SSDs. Attached Figure Description

[0017] Figure 1 This is a schematic diagram of a dynamic combination mapping system for 3D NAND flash memory provided in an embodiment of this application.

[0018] Figure 2 This is a block mapping diagram provided in an embodiment of this application.

[0019] Figure 3 This is a schematic diagram of page mapping provided in an embodiment of this application. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0021] In this application, the term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A existing alone, A and B existing simultaneously, and B existing alone. In this application, the symbol " / " indicates that the related objects are in an "or" relationship, for example, A / B means A or B.

[0022] In this application, the terms “first” and “second” are used to distinguish different objects, rather than to describe a specific order of objects.

[0023] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0024] In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0025] For ease of understanding, the English abbreviations and related technical terms used in the embodiments of this application will be explained and described below.

[0026] SSD stands for Solid State Drive, a type of computer storage device that uses integrated circuit components (mainly flash memory chips) to store data. The embodiments of this application are described below with reference to the accompanying drawings.

[0027] This application provides a dynamic combination mapping method for 3D NAND flash memory. Unlike traditional hybrid mapping that internally interleaves page and block mapping, the dynamic combination mapping method of this application adopts a fixed mapping method at different times and switches it in time. In this way, the optimal mapping method is matched for the data, which satisfies the balance between performance and cost of ultra-large capacity SSDs.

[0028] Figure 1 The overall architecture of the dynamic combinatorial mapping system is demonstrated, which includes three core modules: feature collector, mapping selector, and cache allocator. The feature collector collects raw I / O streams from the host interface (HIL) and converts them into the analysis feature set required by the dynamic combinatorial mapping system. The mapping selector selects the appropriate mapping method for write data based on the data distribution type, balancing performance and mapping table size. The cache allocator adjusts DRAM space allocation according to the mapping table and data caching requirements to maximize the utilization of cache space.

[0029] This application provides a dynamic combination mapping method for 3D NAND flash memory, including the following steps: Step S1: Feature Analysis Based on the impact of different access patterns on the mapping method, data streams are divided into three categories: time-limited data, spatially local data, and random data; among them, spatially local data represents sequentially accessed data. First, the randomness rate (rand) of the current I / O data stream is calculated. Distinguishing random data; where the randomness rate is defined as the proportion of random data in the workload, the criterion for which is: if the minimum distance between the current data operation address (offset) and several previous operation addresses exceeds a set value (e.g., 128KB), it is considered random data; the larger this value, the more significant the random access characteristics of the data stream; for the remaining data stream, the re-access rate (rar) is calculated. The re-access rate is defined as the proportion of accesses to the same address in the total amount of data. This indicator reflects the temporal locality of the data. The larger the value, the more obvious the temporal locality characteristic. Based on this, temporally local data and spatially local data can be distinguished. The first algorithm describes the above data classification process, where the thresholds of 50 and 0.3 are set according to the classification methods of existing works.

[0030] The first algorithm is as follows: Algorithm 1: Data classification; Input: Data stream I / O; Calculate the randomness of I / O ; If >50: Mark as random data; Else: Calculate the IO reaccess rate ; If >0.3: Marked as temporally local data; Else: Marked as spatially local data.

[0031] Step S2: Mapping Selection This application employs a scheduling method based on Reinforcement Learning (RL) to implement combinatorial mapping. RL explores the optimal action in the current environment online based on the current state and reward, thereby satisfying the optimization objective under specific conditions. To implement a lightweight RL model, the Q-Learning algorithm is adopted. The core of this algorithm is the updating of the Q-table. Constructing the Q-table requires designing the set of states and actions, as well as a reward function to guide the model towards the correct optimization direction. More specifically, as follows: Step S2.1: Determining the state type: The state set should reflect valuable information in the environment so that the RL model can perceive changes in the environment. Specifically, the types of states that need to be collected are as follows: Access type: corresponds to the current access mode of the data, including random, time and space limitations, which directly affects the performance of different mapping methods; Read-write ratio: This reflects the demand for the mapping table. The higher the read ratio, the higher the performance requirements for accessing the mapping table. Random access rate: This reflects the demand for page mapping. The higher the proportion of random access, the better the performance of page mapping will be. I / O size: indirectly reflects the lifecycle of data. Page-level mapping should be used for short-lifecycle random write data (to reduce write amplification), while block-level mapping should be used for long-lifecycle sequential write data (to reduce the size of the mapping table). To reduce the size of the Q-table, the above features are discretized. The read / write ratio and access randomness are evenly divided according to the standard of 10 empty slots. The I / O size is divided into small I / O and large I / O according to the threshold standard of existing work, i.e., 24KB. Therefore, the total number of states in the Q-table is the product of the number of the above four state divisions. Step S2.2: Determining the action: The action set for the dynamic combination mapping method is relatively simple, requiring only the selection of one of two mapping methods. A common probabilistic method is used to determine the candidate mapping method, that is, by assigning selection weights to the two methods by setting a probability P; specifically, each time a mapping method is selected, a random number R between 0 and 1 is generated. If R < P, page mapping is used; otherwise, block mapping is used. The probability P is then adjusted, i.e. ,in, b 0% optional or This method fully leverages the "exploration" and "utilization" characteristics of probability, reducing reliance on single decisions. For block mapping and mapping methods, see [link to block mapping]. Figure 2 and Figure 3 ; Step S2.3: Determining the reward: The reward function guides the model toward the correct optimization objective, and optimizing this part is the core of reinforcement learning (RL). For data using block mapping, the number of reads should be minimized, specifically random reads; while for data using page mapping, the number of reads should be maximized, specifically random reads. Therefore, the design of the reinforcement learning reward function for SSD mapping methods needs to accurately distinguish the objective differences between block mapping and page mapping, penalizing random reads in block mapping and rewarding random reads in page mapping, while balancing the stability of the mapping method and the overall performance of SSD. The specific method is as follows: Let the mapping period of the reinforcement learning agent be t. During the period, the following core metrics are collected: : Number of random reads of block-mapped data; Total number of reads of block-mapped data (including random and sequential reads); : Number of random reads of page-mapped data; Total number of reads of page-mapped data (including random and sequential reads); Based on the above indicators, the reward function formula is as follows:

[0032] The formula contains three calculation items, including the block mapping random read penalty term. Page mapping random read reward item And mapping method stability regularization term For the first block mapping random read penalty term, the "random read percentage" is used instead of the absolute number of reads to avoid bias caused by differences in the total amount of data in the block mapping (e.g., under the same number of random reads, the block mapping with a smaller amount of data should receive a heavier penalty); among which, To minimize (e.g., 1e-6), to prevent When =0, the denominator is zero; the negative sign indicates that the higher the proportion of random reads in block mapping, the stronger the penalty (which aligns with the goal of "reducing random reads in block mapping"); for the intermediate item, the page mapping random read reward, the "random read proportion" is also used to ensure that the reward for page mapping is independent of the total amount of data, focusing only on its relative proportion of random reads; the positive sign indicates that the higher the proportion of random reads in page mapping, the stronger the reward (which aligns with the goal of "increasing random reads in page mapping"); for the third item, the mapping method stability regularization term, This indicates the degree of difference in mapping methods between the current period and the previous period (e.g., the proportion of data change in block mapping / page mapping). This prevents frequent switching of mapping methods by the agent from causing oscillations in SSD internal resources (e.g., mapping tables). The negative sign indicates a stronger penalty for more drastic changes in the mapping method, ensuring the smoothness of the mapping process. Furthermore, in the formula... and Configure settings based on SSD hardware characteristics; for example, the more significant the advantage of page mapping in random read performance, the better. The larger the block size, the higher the random read latency of the block mapping. It can be larger; usually To balance the target weights; and Configure settings based on workload volatility; for example, in scenarios with high random access intensity such as databases, reduce [the following settings]. To allow for more flexible adjustments; in sequential access scenarios such as video streaming, it can increase... To keep the mapping method stable.

[0033] Step S2.4: Updating the Q-table: In reinforcement learning (RL), an agent learns how to adapt to the current state by interacting with the environment. Its core objective is to learn the optimal action function to maximize reward. The Q-Learning algorithm exhibits good adaptability in discrete state spaces, meeting the requirement for a lightweight learning algorithm. The core of the Q-Learning algorithm lies in calculating the Q-table, which is defined as... ;in, Indicates the current state of the agent; This represents the action performed by the agent; the agent receives rewards through observation. r and the next state Update the Q-table as follows:

[0034] in, This represents the values ​​in the Q-table; and These represent the learning rate and the discount factor, respectively. Indicates the next state Actions and rewards r Used to update the Q-table when the last action is performed; the agent method provides a way to select the next action; the size of the Q-table is equal to the number of states multiplied by the number of actions; In the current state Choose the option with the maximum value. action This causes the current state to become the next state. And continue to choose to maximize The next move ; To record the next state With the next action The values ​​in the Q-table. Table 1 shows the structure of the Q-table, where different rows represent different states ( There are a total of n Each state has different columns representing actions. There are a total of m (number of actions); therefore, the storage space occupied by the entire Q-table is the number of states. Number of actions, i.e. n m ; Table 1

[0035] The advantages of step S2 above are: (1) Target aggregation: The core difference between block mapping and page mapping is directly quantified by the "random read ratio", avoiding interference from irrelevant indicators; (2) Adaptive scenario: The proportional indicators can be adapted to mapping tasks with different data volumes without manually adjusting the threshold; (3) Engineering feasibility: The required indicators (number of random reads, total number of reads) can be collected in real time by the SSD controller, with low computational complexity, suitable for embedded deployment; This reward function can guide the RL agent to dynamically optimize the mapping method. For scenarios sensitive to random reads (such as small file access), page mapping is preferred, while for scenarios dominated by sequential reads (such as large file storage), block mapping is preferred, ultimately achieving a balance between SSD read / write performance and resource utilization; Step S3: Cache allocation In modern SSD production costs, the cost of built-in onboard DRAM cache accounts for about 50%. This cost limits the possibility of configuring larger caches in high-capacity SSDs, thus affecting the mapping process. Typically, the cache inside an SSD is mainly used to store the mapping table and data, and its capacity is fixed. According to the above analysis, different mapping table cache sizes have different sensitivities to different data access modes. For example, in random access scenarios, increasing the mapping table cache cannot improve performance. Instead, allocating this space to the data cache can speed up data read and write, making fuller use of limited cache resources. That is, when the mapping table cache occupies the saturation threshold, other space is released to the data cache, thereby achieving the optimal performance goal of the lowest access latency.

[0036] Since sequential access and temporal locality of access have a positive correlation on the demand for the mapping table cache, the mapping method dynamically adjusts the cache capacity by monitoring the randomness of current data access and the data cache hit rate in real time. To achieve efficient cache allocation and performance balance, a greedy algorithm is used to solve for the optimal ratio of data cache to mapping table cache to quickly adapt to workload changes. The specific process is as follows: First, the access randomness rate is used as input to determine the optimal mapping table cache range under this randomness rate; then, combined with the current cache hit rate, the minimum mapping table cache size that meets performance requirements is selected, and the remaining cache space is allocated to the data cache; for example, when the proportion of random access increases, the proportion of mapping table cache is reduced to the saturation threshold to release space for the data cache, thereby achieving the optimal performance goal of minimizing access latency. Therefore, step S3 of this application can reduce cache space waste and improve cache resource utilization.

[0037] It should be understood that expressions such as “comprising” and “may include” used in this application indicate the existence of the disclosed functions, operations, or constituent elements, and do not limit one or more additional functions, operations, and constituent elements. In this application, terms such as “comprising” and / or “having” are to be interpreted as indicating a particular characteristic, number, operation, constituent element, component, or combination thereof, but not to exclude the existence or possibility of adding one or more other characteristics, numbers, operations, constituent elements, components, or combinations thereof.

[0038] Furthermore, in this application, the expression "and / or" includes any and all combinations of the associated listed words. For example, the expression "A and / or B" may include A, may include B, or may include both A and B.

[0039] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A dynamic combination mapping method for 3D NAND flash memory, characterized in that, Includes the following steps: Step S1: Divide the data stream received by the SSD into time-limited data, spatially localized data, and random data; Step S2: The scheduling method based on the reinforcement learning model explores the optimal action online using the current state and reward, aiming to maximize the reward function, and configures a mapping method for the data. The state includes the access type, read / write ratio, access randomness rate, and data stream size corresponding to time-limited data, spatially localized data, and random data. The mapping methods are page mapping and block mapping, and the action is to select page mapping and block mapping. The reward includes a mapping random read penalty, a page mapping random read reward, and a mapping method stability regularization term.

2. The dynamic combination mapping method according to claim 1, characterized in that, The method for dividing the data stream is as follows: If the randomness rate of the current data in the data stream exceeds the first preset value, then the current data will be set as random data; If the current data is not random data, the revisit rate of the current data is calculated. If the revisit rate of the current data exceeds the second preset value, the current data is determined to be temporally local data; otherwise, the current data is determined to be spatially local data.

3. The dynamic combination mapping method according to claim 1, characterized in that, The method for updating actions is as follows: Set a probability P, generate a random number R between 0 and 1. If R < P, the action is to use page mapping; otherwise, the action is to use block mapping. Adjust the probability P, then randomly generate a random number R between 0 and 1, and update the action again.

4. The dynamic combination mapping method according to any one of claims 1 to 3, characterized in that, The reward function is: ; in, For random read penalty terms in block mapping; Random read reward for page mapping; This is a regularization term for the stability of the mapping method; This refers to the number of random reads of the block-mapped data. This represents the total number of reads of the block-mapped data. This refers to the number of random reads of the page mapping data. This represents the total number of reads of the page-mapped data. It is the minimum value; This indicates the degree of difference in the mapping method between the current period and the previous period; and Configure according to the characteristics of SSD solid-state hardware; Configure according to workload volatility.

5. The dynamic combination mapping method according to claim 4, characterized in that, To achieve a lightweight reinforcement learning-based model, the Q-Learning algorithm is used to update the Q-table. The Q-table is constructed using a set of states and actions to guide the optimization of the reward function based on the reinforcement learning model.

6. The dynamic combination mapping method according to claim 5, characterized in that, The update method for Q-table is as follows: ; in, This represents the values ​​in the Q-table; Indicates the current state; Indicates the action to be performed; and These represent the learning rate and the discount factor, respectively. Indicates the next state Actions and rewards r Used to update the Q-table when the last action is performed; In the current state Choose the option with the maximum value. action This causes the current state to become the next state. And continue to choose to maximize The next move ; To record the next state With the next action The values ​​in the Q-table.

7. The dynamic combination mapping method according to claim 1, characterized in that, It also includes the following steps: For the mapping table corresponding to random access, the proportion of the mapping table cache in the DRAM cache space is set to the saturation threshold, and the remaining space in the DRAM cache space is allocated to the data cache. For the mapping tables corresponding to spatially limited access and temporally local access, a greedy algorithm is used to find the optimal ratio of data caching to mapping table caching.

8. The dynamic combination mapping method according to claim 7, characterized in that, The method for finding the optimal ratio of data cache to mapping table cache using a greedy algorithm is as follows: Using the access randomness rate as input, determine the optimal mapping table cache interval under the access randomness rate; Based on the optimal mapping table cache range and combined with the current cache hit rate, the minimum mapping table cache size is selected, and the remaining cache space in the DRAM cache space is allocated to the data cache.

9. A dynamic combination mapping system for 3D NAND flash memory, characterized in that, include: Feature collectors and mapping selectors; The feature collector is used to divide the data stream received by the SSD into temporally limited data, spatially localized data, and random data; The mapping selector is used in a scheduling method based on a reinforcement learning model. It explores the optimal action online using the current state and reward, aiming to maximize the reward function and configure mapping methods for the data. The state includes the access type, read / write ratio, access randomness rate, and data stream size corresponding to time-limited data, spatially localized data, and random data. The mapping methods are page mapping and block mapping, and the action is to select page mapping and block mapping. The reward includes a block mapping random read penalty, a page mapping random read reward, and a mapping method stability regularization term.

10. The dynamic combination mapping system according to claim 9, characterized in that, It also includes a cache allocator, which sets the mapping table cache ratio in the DRAM cache space to a saturation threshold for the mapping table corresponding to random access, and allocates the remaining space in the DRAM cache space to the data cache; for the mapping tables corresponding to space-limited access and time-local access, a greedy algorithm is used to solve the optimal ratio of data cache to mapping table cache.