Mapping storage method, device and equipment of SSD (Solid State Disk) of DRAMLess and medium

By setting static and dynamic mapping storage areas in DRAMLess SSDs and adopting an intelligent selection strategy, the problem of localized excessive wear in the mapped storage areas is solved, achieving load balancing across the entire disk and improving the lifespan and reliability of the SSD.

CN121597594APending Publication Date: 2026-03-03SUZHOU UNIONMEMORY INFORMATION SYST LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511847922.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-09
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

In high-load write scenarios, DRAMLess SSDs suffer from a shortened overall lifespan due to excessive wear in the mapped storage area.

Method used

In the flash memory space of the solid-state drive, a statically mapped storage area is set up, and physical blocks outside the statically mapped storage area are dynamically allocated as dynamically mapped storage areas. The target storage area is selected for the mapping table data through an intelligent selection strategy, and the data is written to the target area, including configuring some physical blocks as high-performance storage mode or default storage mode.

Benefits of technology

It achieves load balancing of mapping table data across the entire disk, significantly improving the problem of localized excessive wear and tear, and enhancing the overall lifespan and reliability of DRAMLess SSDs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121597594A_ABST
    Figure CN121597594A_ABST
Patent Text Reader

Abstract

The invention discloses a mapping storage method, device and equipment of an SSD of DRAMLess and a medium, and relates to the technical field of solid state disks, and the mapping storage method comprises the steps that a static mapping storage area is arranged in a flash memory space of the solid state disk, and physical blocks of the static mapping storage area work in a static single-layer unit mode; in the running process of the solid state disk, dynamically distributing physical blocks of areas except the static mapping storage area to serve as storage space of mapping table data, and forming a dynamic mapping storage area; selecting a target storage area from the static mapping storage area and the dynamic mapping storage area for mapping table data to be written according to a preset selection strategy; and writing the mapping table data into the target storage area. According to the invention, the problem of local excessive wear is obviously improved, so that the overall service life and reliability of the DRAMLess SSD are greatly improved while the read-write performance is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of solid-state drive technology, and in particular to a DRAM-less SSD mapping storage method, apparatus, device, and medium. Background Technology

[0002] NAND flash memory is widely used in storage devices such as solid-state drives (SSDs). Its basic structure consists of multiple independently operable storage cells. Because NAND flash memory has an "erase before write" characteristic, the storage device needs to maintain a mapping table between logical addresses and physical addresses to track the actual location of host data in the flash memory. In DRAMLess architecture SSDs, due to the limited on-chip memory capacity, it is impossible to cache the complete mapping table. Therefore, the entire mapping table is usually stored in NAND flash memory, and only some active mapping entries are cached in memory.

[0003] To address the impact of frequent read / write operations on the mapping table on performance and durability, a common practice is to statically reserve a portion of flash memory at the factory and store the mapping data in a high-performance, high-durability single-level cell model. This area is dedicated to storing the mapping table throughout the entire lifespan of the solid-state drive (SSD), offering advantages such as fast read / write speeds and high tolerance for erase / write cycles. However, the capacity of this statically reserved area is limited, representing only a small fraction of the total device capacity.

[0004] In certain high-intensity random write applications, the host continuously writes small-granular data across the entire disk, leading to extremely frequent mapping table updates. In such cases, the amount of data written to the mapping table can reach the same order of magnitude as the amount of user data written. Since the user data area occupies the majority of flash memory space, its total write capacity is far higher than that of the statically retained mapping storage area. Therefore, under long-term operation of such services, the mapping storage area will wear out prematurely due to the concentrated large number of writes, causing instability and rendering the entire SSD unusable. Meanwhile, the user data area still has ample remaining lifespan. Summary of the Invention

[0005] This invention provides a DRAM-less SSD mapping storage method, apparatus, device, and medium, aiming to solve the technical problem that: using a fixed-area storage mapping table scheme, under certain high-load write scenarios, the mapped storage area may fail prematurely due to local excessive wear, thereby limiting the overall lifespan of the solid-state drive.

[0006] In a first aspect, embodiments of the present invention provide a DRAM-less SSD mapping storage method, comprising: In the flash memory space of the solid-state drive, a statically mapped storage area is set up, and the physical blocks of the statically mapped storage area operate in a static single-level cell mode; During the operation of the solid-state drive, physical blocks in areas outside the statically mapped storage area are dynamically allocated as storage space for mapping table data, forming a dynamically mapped storage area; According to the preset selection strategy, a target storage area is selected from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written; Write the mapping table data into the target storage area.

[0007] A further technical solution is that the physical blocks in the region outside the static mapping storage region are dynamically allocated as storage space for the mapping table data to form a dynamic mapping storage region, including: Select a portion of physical blocks from areas outside the statically mapped storage area as target physical blocks, and divide the target physical blocks into the dynamically mapped storage area. The target physical blocks are configured to operate in a high-performance storage mode with performance higher than the preset default mode.

[0008] A further technical solution is that configuring the target physical block to work in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring the three-level cell physical block to work in a single-level cell mode, or dynamically configuring the four-level cell physical block to work in a single-level cell or three-level cell mode.

[0009] A further technical solution is that the dynamic allocation of physical blocks outside the static mapping storage area as storage space for mapping table data, forming a dynamic mapping storage area, also includes: A portion of the physical blocks in the non-statically mapped storage area are directly divided into dynamically mapped storage areas using a preset default storage mode.

[0010] A further technical solution is that, according to a preset selection strategy, selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written includes: If there is a physical block in the statically mapped storage area that satisfies a preset first wear leveling condition, the physical block in the statically mapped storage area that satisfies the first wear leveling condition is selected as the target storage area; wherein, the first wear leveling condition is: the wear rate of the statically mapped storage area is lower than the wear rate of the user data area; If there are no physical blocks in the statically mapped storage area that meet the preset first wear leveling condition, then the physical blocks in the dynamically mapped storage area are selected as the target storage area.

[0011] A further technical solution is that selecting the physical block of the dynamically mapped storage region as the target storage region includes: If the dynamically mapped storage area has a target physical block that meets the preset second wear leveling condition, the target physical block that meets the preset second wear leveling condition is selected as the target storage area; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data area; If the dynamically mapped storage area does not contain a target physical block that meets the preset second wear leveling condition, the physical block in the dynamically mapped storage area that is operating in the default storage mode is selected as the target storage area.

[0012] A further technical solution is that the method further includes: When it is necessary to load mapping table data from flash memory into memory cache, the mapping table data is read from the corresponding target storage area according to the storage location information of the mapping table data in flash memory.

[0013] Secondly, embodiments of the present invention also provide a DRAMLess SSD mapped storage device, which includes a unit for performing the above-described method.

[0014] Thirdly, embodiments of the present invention also provide a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method.

[0015] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the above-described method.

[0016] This invention provides a mapping storage method, apparatus, device, and medium for DRAMLess SSDs. The method includes: setting a static mapping storage region in the flash memory space of the solid-state drive (SSD), wherein the physical blocks of the static mapping storage region operate in a static single-layer cell mode; during SSD operation, dynamically allocating physical blocks outside the static mapping storage region as storage space for mapping table data, forming a dynamic mapping storage region; selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy; and writing the mapping table data to the target storage region. This invention effectively overcomes the capacity limitation of fixed mapping storage regions by setting a static mapping storage region and combining it with a mechanism of dynamically allocating user data area physical blocks as dynamic mapping storage regions. By dynamically allocating mapping write positions through an intelligent selection strategy, load balancing of mapping table data across the entire disk is achieved. This method significantly improves the problem of localized excessive wear, thereby greatly improving the overall lifespan and reliability of DRAMLess SSDs while ensuring read / write performance. Attached Figure Description

[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 A flowchart illustrating a DRAMLess SSD mapping storage method provided in an embodiment of the present invention; Figure 2 This is a schematic block diagram of a computer device provided in an embodiment of the present invention. Detailed Implementation

[0019] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0020] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0021] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0022] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0023] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [described condition or event] is detected," or "in response to detection of [described condition or event]."

[0024] Please see Figure 1 This invention provides a mapping storage method for DRAM-less SSDs, which can effectively solve the problem of localized excessive wear caused by fixed-area storage mapping tables in the prior art, thereby significantly improving the overall lifespan of solid-state drives. Specifically, the method includes the following steps: S1, In the flash memory space of the solid-state drive, a static mapping storage area is set up, and the physical blocks of the static mapping storage area work in a static single-layer cell mode.

[0025] In practice, a statically mapped storage area is set up in the flash memory space of the solid-state drive (SSD) and operates in a static single-level cell mode, providing a basic storage space with high durability and reliability for the mapping table data. The static single-level cell mode, due to its fast programming speed and strong write / erase tolerance, is very suitable for storing mapping table data that requires frequent updates, laying a solid foundation for the stable operation of the entire SSD. However, the capacity of this statically mapped storage area is limited; if used as the sole storage area, it will be difficult to handle the entire mapping write volume under continuous high-load write scenarios.

[0026] S2, during the operation of the solid-state drive, physical blocks in the area outside the static mapping storage area are dynamically allocated as storage space for mapping table data to form a dynamic mapping storage area.

[0027] In practice, during SSD operation, physical blocks in the user data area outside the statically mapped storage area are dynamically allocated as storage space for the mapping table data, forming a dynamically mapped storage area. This significantly expands the available storage resources of the mapping table. This mechanism allows the mapping table storage to be flexible, not limited to the fixed space preset at the factory, but flexibly allocated across the entire disk's available physical blocks according to the actual operating status. For example, when the host performs large-scale random write operations, the mapping table is updated frequently, and the write volume increases sharply. At this time, the dynamically mapped storage area can promptly share the storage pressure of the statically mapped storage area, preventing all mapped writes from concentrating on the statically mapped storage area, thus achieving write load distribution from a spatial perspective.

[0028] In some preferred embodiments, the above step "dynamically allocating physical blocks in the region outside the static mapping storage region as storage space for mapping table data to form a dynamic mapping storage region" specifically includes the following steps: selecting a portion of physical blocks from the region outside the static mapping storage region as target physical blocks, dividing the target physical blocks into the dynamic mapping storage region, wherein the target physical blocks are configured to work in a high-performance storage mode with performance higher than the preset default mode.

[0029] In practice, by dynamically reconstructing ordinary physical blocks outside the statically mapped storage area into high-performance mode, the mapping table can maintain high access performance even when storage space needs to be expanded. For example, when the host frequently performs random write operations, the mapping table update operations are intensive. If the newly added mapped data is written to low-performance storage mode, it will increase the mapping update latency and thus affect the overall write throughput. However, by setting the target physical block to high-performance mode, the execution efficiency of mapping operations can be guaranteed while expanding capacity, avoiding host command processing congestion caused by the performance bottleneck of the mapped storage. This dynamic configuration mechanism essentially builds a scalable high-performance mapped storage pool inside the SSD, which overcomes the limited capacity of the statically mapped storage area and avoids the speed loss caused by directly using low-performance blocks to store the mapping table, thereby maintaining low read / write latency and high stability in complex application scenarios.

[0030] In some preferred embodiments, configuring the target physical block to operate in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring a three-level cell physical block to operate in a single-level cell mode, or dynamically configuring a four-level cell physical block to operate in a single-level cell or three-level cell mode.

[0031] In practice, the implementation method of the high-performance storage mode was clarified, namely, dynamically configuring three-level cell physical blocks to operate in single-level cell mode, or dynamically configuring four-level cell physical blocks to operate in single-level cell or three-level cell mode, thereby achieving precise improvement in storage performance and reliability at the media level. Taking the conversion of three-level cell physical blocks to single-level cell mode as an example, each storage cell stores only 1 bit of data. Its programming time, read latency, and bit error rate are significantly better than the native three-level cell mode. This ensures the writing and reading speed of mapping table data, especially in dealing with intensive small-granularity mapping updates. At the same time, the single-level cell mode has a higher tolerance for erase and write cycles. Even if the dynamically mapped area undertakes part of the mapping storage task, its durability is much higher than that of directly using three-level cell or four-level cell mode. This helps to slow down the wear rate of this area and extend its effective service life. In addition, this configuration method also reflects the flexibility of the strategy. For example, the four-level unit physical block can be downgraded to a three-level unit or a single-level unit mode as needed, thereby achieving a dynamic balance between capacity, performance and durability, and ensuring that storage characteristics that match the mapping table access requirements can be provided under different working states.

[0032] In some preferred embodiments, the above step of "dynamically allocating physical blocks in areas outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area" further includes the following step: directly dividing a portion of the physical blocks in the non-static mapping storage area into a dynamic mapping storage area using a preset default storage mode.

[0033] In practical implementation, in addition to the existing dynamic high-performance area, a dynamically mapped storage area directly partitioned by the default storage mode is further added. This feature greatly enhances the system's fault tolerance and robustness under resource constraints. When the SSD is under extreme write loads, the physical blocks available for conversion to high-performance mode may be temporarily insufficient, or it may be unsuitable to further configure high-performance blocks to maintain global wear leveling. Directly using the default mode storage mapping table ensures that the mapped data always has available write space, thereby avoiding device function interruption due to the mapping table's inability to be updated. Although the performance and durability of the default storage mode are generally lower than those of the high-performance mode, the ample storage space it provides can serve as the system's last line of defense, ensuring the continuous operation of the mapping management process. For example, after the disk is nearly full or has been running under high load for a long time, the dynamic high-performance area may become unusable due to wear or space exhaustion. At this time, the default mode area can take over the mapping storage responsibilities, maintain the basic functions of the SSD, and prevent unavailability triggered by the mapping area being full. This multi-layered backup mechanism significantly improves the adaptability of the SSD to abnormal workloads and the system reliability.

[0034] In some preferred embodiments, the default storage mode is a one-time programming mode.

[0035] In practice, the default storage mode in the dynamically mapped storage area is specifically limited to the program-once mode. This choice optimizes the write efficiency and durability of the mapped table storage from the media operation level. The program-once mode requires that data be written sequentially only once within a physical page, eliminating the need for complex operations such as in-page programming. This not only simplifies the write process and reduces write latency but also reduces charge interference and storage cell damage caused by multiple programming operations. For metadata such as mapped tables that require frequent updates but have small single write volumes, the program-once mode can significantly reduce the write amplification factor and increase the effective write lifespan of a single block. For example, when writing mapped data to a physical block in program-once mode, the firmware can fill each page sequentially, avoiding complex invalid data reclamation and merging operations, thereby improving the mapping update speed and reducing the write pressure on the NAND media. This approach ensures the reliability of the mapped storage function while further optimizing system performance and media lifespan from the underlying write mechanism.

[0036] S3. According to the preset selection strategy, select a target storage area from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written.

[0037] In practical implementation, the core of this solution's intelligent management lies in selecting the target storage region from static and dynamic mapping storage regions based on a preset selection strategy for the mapping table data to be written. This strategy dynamically determines the optimal location for each mapping table write by evaluating the status of each region in real time, thereby further optimizing the rationality and balance of write distribution while expanding storage space. For example, during the selection process, the strategy can prioritize physical blocks with relatively low wear in the static mapping storage region to fully utilize their high performance and high durability characteristics; while when the overall wear of the static mapping storage region reaches a certain threshold, the write is automatically redirected to the dynamic mapping storage region to avoid further damage to the aging static mapping storage region.

[0038] In some preferred embodiments, the above step "selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy" specifically includes the following steps: if there are physical blocks in the static mapping storage region that meet a preset first wear leveling condition, select the physical blocks in the static mapping storage region that meet the first wear leveling condition as the target storage region; wherein, the first wear leveling condition is: the wear rate of the static mapping storage region is lower than the wear rate of the user data region; if there are no physical blocks in the static mapping storage region that meet the preset first wear leveling condition, select the physical blocks in the dynamic mapping storage region as the target storage region.

[0039] In practice, a dynamic selection strategy based on wear rate is introduced, enabling intelligent wear leveling during the allocation of the mapping table storage area, thereby fundamentally optimizing the overall disk lifespan. This strategy prioritizes physical blocks in the statically mapped storage area with a wear rate lower than that of the user data area. This means that mapping data is only written to the statically mapped storage area when its wear rate is relatively slower than that of the user data area, effectively slowing down the wear accumulation rate of the statically mapped storage area and preventing it from being exhausted prematurely. If the statically mapped storage area cannot meet this condition, it automatically switches to the dynamically mapped storage area. This redirects the mapping write pressure to available resources in the user data area, transferring the wear burden from local to global. This method, which uses wear rate as the decision-making basis, makes the selection of storage areas no longer a simple space judgment, but closely integrated with the long-term lifespan goals of the SSD. This ensures that the concept of global wear leveling is practiced in every mapping write operation, significantly improving the lifespan of the device in harsh application environments.

[0040] In some preferred embodiments, the above step "selecting the physical block of the dynamically mapped storage region as the target storage region" specifically includes the following steps: if the dynamically mapped storage region has a target physical block that meets a preset second wear leveling condition, select the target physical block that meets the preset second wear leveling condition as the target storage region; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data region; if the dynamically mapped storage region does not have a target physical block that meets the preset second wear leveling condition, select the physical block in the dynamically mapped storage region that is operating in the default storage mode as the target storage region.

[0041] In practical implementation, the selection strategy within the dynamically mapped storage area was refined. A multi-level intelligent decision-making system was constructed through a second wear leveling condition and the selection logic of the backup default mode, further optimizing the granularity of wear distribution. This strategy first filters target physical blocks within the dynamically mapped storage area whose wear rate is lower than that of the user data area. This ensures that even if the mapped write task extends to the user data area, relatively "young" or less worn physical blocks are prioritized, thus avoiding the formation of new wear hotspots within the user data area. If no suitable physical block is found, the system is downgraded to using physical blocks in the default storage mode. This design acknowledges that even under high wear conditions, the system must prioritize functional continuity and maintain system operation by directing writes to more durable default mode blocks (despite lower performance). For example, after a long period of use, the high-performance blocks (target physical blocks) in the dynamically mapped storage area of ​​a solid-state drive may have reached a high level of wear. At this time, the strategy automatically switches to the physical blocks in the default mode, which not only avoids further accelerating the wear of the high-performance blocks, but also takes advantage of their larger capacity and different wear characteristics to continue to carry the mapped data, thus realizing continuous management and adaptive adjustment of the wear process throughout the entire life cycle of the disk.

[0042] It should be noted that, in this embodiment of the invention, the wear and tear rate is obtained by quantitatively evaluating the lifecycle data write status of a specific storage area. The specific method for obtaining this rate is as follows: The solid-state drive firmware maintains and updates two key parameters in real time: one is the total amount of cumulative written data for a specific mapped storage area since its activation, which is obtained by continuously accumulating the write commands sent to the area and the amount of data; the other is the theoretical total amount of written data that the area needs to handle throughout the entire lifespan of the solid-state drive, which is a fixed value determined in advance based on the total number of physical blocks contained in the area, the maximum number of erase / write cycles that each physical block can withstand when operating in the current mode, and the effective storage capacity of each physical block.

[0043] Wear-out rate is characterized by the ratio obtained by dividing the total cumulative written data by the theoretical total written data. This ratio directly reflects the percentage of the storage area's current lifetime that has been consumed. For example, the real-time wear-out rate is calculated independently for user data areas and various mapped storage areas using this method. When performing mapping table write operations, the firmware compares this real-time ratio of different areas to determine their relative wear progress, thus providing a precise and quantitative basis for selecting target storage areas. This acquisition method has clear logic and reliable calculations, providing core data support for achieving global wear leveling.

[0044] S4, write the mapping table data into the target storage area.

[0045] In practice, the mapping table data is written to the selected target storage area, completing the entire write process. This ensures that the aforementioned area settings and selection strategies are actually implemented, allowing the mapped data to be accurately stored in the optimal location. By continuously executing this process, the solid-state drive can continuously adjust the distribution of the mapped data during long-term operation, ensuring that its write operations are evenly distributed across storage units in different physical locations, thereby achieving dynamic wear leveling over time.

[0046] This invention not only breaks through the capacity limitation of fixed mapped storage areas, but also expands the write load of the mapping table from a local area to the entire disk range through dynamic scheduling and intelligent decision-making mechanisms. This effectively avoids the problem of shortened lifespan of solid-state drives caused by premature wear of the mapped storage areas, while maintaining stable performance under various load conditions, significantly improving the durability and reliability of the product.

[0047] In some preferred embodiments, the method further includes the following step: when it is necessary to load mapping table data from flash memory into memory cache, read the mapping table data from the corresponding target storage area according to the storage location information of the mapping table data in flash memory.

[0048] In practical implementation, by clarifying the steps for loading mapping table data from the corresponding target storage area based on storage location information, a closed-loop management system for mapping data throughout its entire lifecycle is perfected, ensuring consistency of read / write paths and efficient system response. In a hybrid storage architecture, mapping table data may be distributed across statically mapped storage areas, dynamic high-performance areas, or dynamic default mode areas. If the storage location cannot be accurately located during reading, multiple addressing or read errors will occur, severely impacting performance and reliability. In this embodiment, the solid-state drive (SSD) can directly access the correct physical block based on pre-recorded storage location information when loading the mapping table, regardless of the mode in which the mapping entry is stored, enabling fast retrieval and loading. For example, when processing host read commands, if the required mapping table is located in a dynamic SLC area, its high-speed read capability can be used to quickly obtain the physical address; if it is located in a default mode area, data reading can be completed with a single accurate access. This mechanism avoids additional query overhead and latency fluctuations caused by unclear mapping table storage locations, thus maintaining stable I / O performance and command processing efficiency in complex storage environments.

[0049] This invention proposes a mapping storage method for DRAMLess SSDs, comprising: setting a static mapping storage region in the flash memory space of the solid-state drive (SSD), wherein the physical blocks of the static mapping storage region operate in a static single-layer cell mode; during the operation of the SSD, dynamically allocating physical blocks in areas outside the static mapping storage region as storage space for mapping table data, forming a dynamic mapping storage region; selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy; and writing the mapping table data into the target storage region. This invention effectively overcomes the capacity limitation of fixed mapping storage regions by setting a static mapping storage region and combining it with a mechanism of dynamically allocating user data area physical blocks as dynamic mapping storage regions. By dynamically allocating mapping write positions through an intelligent selection strategy, load balancing of mapping table data across the entire disk is achieved. This method significantly improves the problem of localized excessive wear, thereby greatly improving the overall lifespan and reliability of DRAMLess SSDs while ensuring read / write performance.

[0050] Corresponding to the above-described DRAMLess SSD mapping storage method, the present invention also provides a DRAMLess SSD mapping storage device. This DRAMLess SSD mapping storage device includes a unit for executing the above-described DRAMLess SSD mapping storage method, and can be configured in a terminal or server. Specifically, the DRAMLess SSD mapping storage device includes: The setting unit is used to set a statically mapped storage area in the flash memory space of the solid-state drive, wherein the physical blocks of the statically mapped storage area operate in a static single-layer cell mode. The allocation unit is used to dynamically allocate physical blocks in the region outside the statically mapped storage region as storage space for mapping table data during the operation of the solid-state drive, thereby forming a dynamically mapped storage region. The selection unit is used to select a target storage area from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written, according to a preset selection strategy. A writing unit is used to write the mapping table data into the target storage area.

[0051] In some preferred embodiments, the dynamic allocation of physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area includes: Select a portion of physical blocks from areas outside the statically mapped storage area as target physical blocks, and divide the target physical blocks into the dynamically mapped storage area. The target physical blocks are configured to operate in a high-performance storage mode with performance higher than the preset default mode.

[0052] In some preferred embodiments, configuring the target physical block to operate in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring a three-level cell physical block to operate in a single-level cell mode, or dynamically configuring a four-level cell physical block to operate in a single-level cell or three-level cell mode.

[0053] In some preferred embodiments, the step of dynamically allocating physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area further includes: A portion of the physical blocks in the non-statically mapped storage area are directly divided into dynamically mapped storage areas using a preset default storage mode.

[0054] In some preferred embodiments, selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy includes: If there is a physical block in the statically mapped storage area that satisfies a preset first wear leveling condition, the physical block in the statically mapped storage area that satisfies the first wear leveling condition is selected as the target storage area; wherein, the first wear leveling condition is: the wear rate of the statically mapped storage area is lower than the wear rate of the user data area; If there are no physical blocks in the statically mapped storage area that meet the preset first wear leveling condition, then the physical blocks in the dynamically mapped storage area are selected as the target storage area.

[0055] In some preferred embodiments, selecting the physical block of the dynamically mapped storage region as the target storage region includes: If the dynamically mapped storage area has a target physical block that meets the preset second wear leveling condition, the target physical block that meets the preset second wear leveling condition is selected as the target storage area; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data area; If the dynamically mapped storage area does not contain a target physical block that meets the preset second wear leveling condition, the physical block in the dynamically mapped storage area that is operating in the default storage mode is selected as the target storage area.

[0056] In some preferred embodiments, it further includes: The read unit is used to read the mapping table data from the corresponding target storage area according to the storage location information of the mapping table data in the flash memory when it is necessary to load the mapping table data from the flash memory to the memory cache.

[0057] It should be noted that those skilled in the art can clearly understand that the specific implementation process of the above-mentioned DRAMLess SSD mapping storage device and each unit can be referred to the corresponding description in the foregoing method embodiments. For the sake of convenience and brevity, it will not be repeated here.

[0058] The aforementioned DRAMLess SSD mapped storage device can be implemented as a computer program, which can, for example... Figure 2 It runs on the computer device shown.

[0059] Please see Figure 2 , Figure 2 This is a schematic block diagram of a computer device provided in an embodiment of this application. The computer device 500 can be a terminal or a server, wherein the server can be a standalone server or a server cluster composed of multiple servers.

[0060] The computer device 500 includes a processor 502, a memory, and a network interface 505 connected via a system bus 501. The memory may include a non-volatile storage medium 503 and internal memory 504.

[0061] The non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032. When the computer program 5032 is executed, it causes the processor 502 to execute a DRAM-less SSD mapping storage method.

[0062] The processor 502 provides computing and control capabilities to support the operation of the entire computer device 500.

[0063] The internal memory 504 provides an environment for the execution of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute a DRAM-less SSD mapping storage method.

[0064] The network interface 505 is used for network communication with other devices. Those skilled in the art will understand that the above structure is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device 500 to which the present application is applied. A specific computer device 500 may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements.

[0065] The processor 502 is used to run a computer program 5032 stored in the memory to perform the following steps: In the flash memory space of the solid-state drive, a statically mapped storage area is set up, and the physical blocks of the statically mapped storage area operate in a static single-level cell mode; During the operation of the solid-state drive, physical blocks in areas outside the statically mapped storage area are dynamically allocated as storage space for mapping table data, forming a dynamically mapped storage area; According to the preset selection strategy, a target storage area is selected from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written; Write the mapping table data into the target storage area.

[0066] In some preferred embodiments, the dynamic allocation of physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area includes: Select a portion of physical blocks from areas outside the statically mapped storage area as target physical blocks, and divide the target physical blocks into the dynamically mapped storage area. The target physical blocks are configured to operate in a high-performance storage mode with performance higher than the preset default mode.

[0067] In some preferred embodiments, configuring the target physical block to operate in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring a three-level cell physical block to operate in a single-level cell mode, or dynamically configuring a four-level cell physical block to operate in a single-level cell or three-level cell mode.

[0068] In some preferred embodiments, the step of dynamically allocating physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area further includes: A portion of the physical blocks in the non-statically mapped storage area are directly divided into dynamically mapped storage areas using a preset default storage mode.

[0069] In some preferred embodiments, selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy includes: If there is a physical block in the statically mapped storage area that satisfies a preset first wear leveling condition, the physical block in the statically mapped storage area that satisfies the first wear leveling condition is selected as the target storage area; wherein, the first wear leveling condition is: the wear rate of the statically mapped storage area is lower than the wear rate of the user data area; If there are no physical blocks in the statically mapped storage area that meet the preset first wear leveling condition, then the physical blocks in the dynamically mapped storage area are selected as the target storage area.

[0070] In some preferred embodiments, selecting the physical block of the dynamically mapped storage region as the target storage region includes: If the dynamically mapped storage area has a target physical block that meets the preset second wear leveling condition, the target physical block that meets the preset second wear leveling condition is selected as the target storage area; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data area; If the dynamically mapped storage area does not contain a target physical block that meets the preset second wear leveling condition, the physical block in the dynamically mapped storage area that is operating in the default storage mode is selected as the target storage area.

[0071] In some preferred embodiments, the method further includes: When it is necessary to load mapping table data from flash memory into memory cache, the mapping table data is read from the corresponding target storage area according to the storage location information of the mapping table data in flash memory.

[0072] It should be understood that in the embodiments of this application, the processor 502 may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0073] It will be understood by those skilled in the art that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program may be stored in a storage medium, which is a computer-readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the embodiments of the above methods.

[0074] Therefore, the present invention also provides a storage medium. This storage medium can be a computer-readable storage medium. The storage medium stores a computer program. When executed by a processor, the computer program causes the processor to perform the following steps: In the flash memory space of the solid-state drive, a statically mapped storage area is set up, and the physical blocks of the statically mapped storage area operate in a static single-level cell mode; During the operation of the solid-state drive, physical blocks in areas outside the statically mapped storage area are dynamically allocated as storage space for mapping table data, forming a dynamically mapped storage area; According to the preset selection strategy, a target storage area is selected from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written; Write the mapping table data into the target storage area.

[0075] In some preferred embodiments, the dynamic allocation of physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area includes: Select a portion of physical blocks from areas outside the statically mapped storage area as target physical blocks, and divide the target physical blocks into the dynamically mapped storage area. The target physical blocks are configured to operate in a high-performance storage mode with performance higher than the preset default mode.

[0076] In some preferred embodiments, configuring the target physical block to operate in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring a three-level cell physical block to operate in a single-level cell mode, or dynamically configuring a four-level cell physical block to operate in a single-level cell or three-level cell mode.

[0077] In some preferred embodiments, the step of dynamically allocating physical blocks outside the static mapping storage area as storage space for mapping table data to form a dynamic mapping storage area further includes: A portion of the physical blocks in the non-statically mapped storage area are directly divided into dynamically mapped storage areas using a preset default storage mode.

[0078] In some preferred embodiments, selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy includes: If there is a physical block in the statically mapped storage area that satisfies a preset first wear leveling condition, the physical block in the statically mapped storage area that satisfies the first wear leveling condition is selected as the target storage area; wherein, the first wear leveling condition is: the wear rate of the statically mapped storage area is lower than the wear rate of the user data area; If there are no physical blocks in the statically mapped storage area that meet the preset first wear leveling condition, then the physical blocks in the dynamically mapped storage area are selected as the target storage area.

[0079] In some preferred embodiments, selecting the physical block of the dynamically mapped storage region as the target storage region includes: If the dynamically mapped storage area has a target physical block that meets the preset second wear leveling condition, the target physical block that meets the preset second wear leveling condition is selected as the target storage area; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data area; If the dynamically mapped storage area does not contain a target physical block that meets the preset second wear leveling condition, the physical block in the dynamically mapped storage area that is operating in the default storage mode is selected as the target storage area.

[0080] In some preferred embodiments, the method further includes: When it is necessary to load mapping table data from flash memory into memory cache, the mapping table data is read from the corresponding target storage area according to the storage location information of the mapping table data in flash memory.

[0081] The storage medium is a physical, non-transient storage medium, such as a USB flash drive, external hard drive, read-only memory (ROM), magnetic disk, or optical disk, or any other physical storage medium capable of storing program code. The computer-readable storage medium can be non-volatile or volatile.

[0082] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0083] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0084] The steps in the method of this invention can be adjusted, merged, or reduced in order according to actual needs. The units in the device of this invention can be merged, divided, or reduced according to actual needs. Furthermore, the functional units in the various embodiments of this invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0085] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0086] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0087] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Since these modifications and variations fall within the scope of the claims and their equivalents, this invention also intends to include these modifications and variations.

[0088] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A DRAM-less SSD mapping storage method, characterized in that, include: In the flash memory space of the solid-state drive, a statically mapped storage area is set up, and the physical blocks of the statically mapped storage area operate in a static single-level cell mode; During the operation of the solid-state drive, physical blocks in areas outside the statically mapped storage area are dynamically allocated as storage space for mapping table data, forming a dynamically mapped storage area; According to the preset selection strategy, a target storage area is selected from the static mapping storage area and the dynamic mapping storage area for the mapping table data to be written; Write the mapping table data into the target storage area.

2. The DRAMLess SSD mapping storage method according to claim 1, characterized in that, The dynamic allocation of physical blocks outside the statically mapped storage area as storage space for the mapping table data forms a dynamically mapped storage area, including: Select a portion of physical blocks from areas outside the statically mapped storage area as target physical blocks, and divide the target physical blocks into the dynamically mapped storage area. The target physical blocks are configured to operate in a high-performance storage mode with performance higher than the preset default mode.

3. The DRAMLess SSD mapping storage method according to claim 2, characterized in that, The configuration of the target physical block to operate in a high-performance storage mode with performance higher than its default mode includes: dynamically configuring a three-level cell physical block to operate in a single-level cell mode, or dynamically configuring a four-level cell physical block to operate in a single-level cell or three-level cell mode.

4. The DRAMLess SSD mapping storage method according to claim 3, characterized in that, The method of dynamically allocating physical blocks outside the statically mapped storage area as storage space for the mapping table data to form a dynamically mapped storage area also includes: A portion of the physical blocks in the non-statically mapped storage area are directly divided into dynamically mapped storage areas using a preset default storage mode.

5. The DRAMLess SSD mapping storage method according to claim 4, characterized in that, The step of selecting a target storage region from the static mapping storage region and the dynamic mapping storage region for the mapping table data to be written according to a preset selection strategy includes: If there is a physical block in the statically mapped storage area that satisfies a preset first wear leveling condition, the physical block in the statically mapped storage area that satisfies the first wear leveling condition is selected as the target storage area; wherein, the first wear leveling condition is: the wear rate of the statically mapped storage area is lower than the wear rate of the user data area; If there are no physical blocks in the statically mapped storage area that meet the preset first wear leveling condition, then the physical blocks in the dynamically mapped storage area are selected as the target storage area.

6. The DRAMLess SSD mapping storage method according to claim 5, characterized in that, Selecting the physical block of the dynamically mapped storage region as the target storage region includes: If the dynamically mapped storage area has a target physical block that meets the preset second wear leveling condition, the target physical block that meets the preset second wear leveling condition is selected as the target storage area; wherein, the second wear leveling condition is: the wear rate of the target physical block is lower than the wear rate of the user data area; If the dynamically mapped storage area does not contain a target physical block that meets the preset second wear leveling condition, the physical block in the dynamically mapped storage area that is operating in the default storage mode is selected as the target storage area.

7. The DRAMLess SSD mapping storage method according to claim 1, characterized in that, The method further includes: When it is necessary to load mapping table data from flash memory into memory cache, the mapping table data is read from the corresponding target storage area according to the storage location information of the mapping table data in flash memory.

8. A DRAM-less SSD-mapped storage device, characterized in that, Includes a unit for performing the method as described in any one of claims 1-7.

9. A computer device, characterized in that, The computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, can implement the method as described in any one of claims 1-7.