Method for improving capacity and performance of modular mobile solid-state memory
By adjusting the working mode of the M.2 SSD flash memory, the problem of performance instability in modular mobile storage systems was solved, achieving capacity and performance improvements in different scenarios and meeting diverse usage needs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN POLYTECHNIC
- Filing Date
- 2024-11-07
- Publication Date
- 2026-05-08
AI Technical Summary
In modular mobile storage systems, the performance of M.2 SSD flash memory modules is unstable, failing to meet the complex needs of different application scenarios and impacting user experience.
Adjust the operating mode of the M.2 SSD flash memory according to different application scenarios, including disabling SLC caching and reducing OP space in data acquisition scenarios, setting it to 'capacity mode'; disabling SLC caching and enabling passive GC mode in data distribution scenarios, setting it to 'stable write mode'; and adding SLC caching and enabling active GC mode in data sharing and editing scenarios, setting it to 'hotspot read/write performance mode'.
Increase available capacity in data acquisition scenarios, ensure stable and high performance in data distribution scenarios, reduce access latency in data sharing and editing scenarios, and improve the overall user experience.
Smart Images

Figure CN121996147A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of mobile storage, and in particular to a method for improving the capacity and performance of modular mobile solid-state storage. Background Technology
[0002] With the maturation of semiconductor technology and the decrease in the price per bit, solid-state flash memory is being used more and more widely in mobile storage scenarios. However, the use cases for mobile storage are complex and diverse, and different scenarios have different requirements for processing the same data, interface specifications, physical dimensions, and performance. Therefore, modular mobile storage has emerged.
[0003] The modular mobile storage system uses M.2 SSD flash memory modules as its core and connects to different external interfaces to meet the data flow needs of various application scenarios, enabling data collection, distribution, and data sharing and editing.
[0004] The external load on M.2 SSD flash modules varies across different scenarios, resulting in significant differences in performance requirements. Data acquisition scenarios involve only sequential write operations, with lower performance requirements but a greater capacity. Data distribution scenarios primarily involve sequential write operations across multiple flash modules, demanding high performance for consistent sequential writes. Data sharing and editing scenarios have high performance requirements for hot data and also involve random read / write operations.
[0005] M.2 SSD flash memory modules are used in a variety of modular mobile storage systems, but their performance is unstable, which seriously affects the user experience. Summary of the Invention
[0006] The purpose of this application is to provide a method for improving the capacity and performance of modular mobile solid-state storage, which can flexibly adjust the working mode for different application scenarios and effectively improve the available capacity and stable performance of modular mobile solid-state storage under different scenarios.
[0007] To achieve the above objectives, this application provides the following solution:
[0008] A method for improving the capacity and performance of modular mobile solid-state storage includes:
[0009] In data acquisition scenarios, disable SLC caching, reduce OP space, and set flash memory to "capacity mode";
[0010] In data distribution scenarios, disable SLC caching, enable passive GC mode, and set flash memory to "stable write mode";
[0011] In data sharing and editing scenarios, add SLC caching, enable active GC mode, and set flash memory to "hotspot read / write performance mode".
[0012] According to the specific embodiments provided in this application, this application has the following technical effects:
[0013] (1) Data acquisition scenario: Typically, there is only sequential write load, requiring a larger capacity to accommodate more acquired data. By disabling SLC (Single-Level Cell) caching and reducing OP (OverProvisioning) space, more TLC (Triple-Level Cell) space can be freed up to store data, providing a larger available capacity.
[0014] (2) Data distribution scenario: Multiple target devices require consistent high write performance. By disabling SLC caching and enabling passive GC (Garbage Collection) mode, performance fluctuations caused by dynamic SLC / TLC conversion and frequent GC operations can be avoided, and data distribution can achieve consistent and stable high performance.
[0015] (3) Data sharing and editing scenario: There is a frequent need for concurrent access to hot data, requiring high bandwidth and low latency. By allocating a certain amount of SLC cache to store hot data, the access latency of hot data can be effectively reduced. Since hot writing involves frequent overwrite operations, old data needs to be recycled in a timely manner to ensure the continuous write stability of the flash memory. Therefore, an active GC mode is adopted to maintain the long-term stable write performance of the flash memory. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 A flowchart illustrating a method for improving the capacity and performance of a modular mobile solid-state storage device according to an embodiment of this application;
[0018] Figure 2 This diagram illustrates the performance changes of an M.2 SSD flash memory module. Detailed Implementation
[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0020] M.2 SSD flash memory modules connect to a hard drive enclosure via a USB interface to provide the function of a portable hard drive. Typical interfaces include USB 3.1 / 3.2 (10Gbps) and Thunderbolt 3 / 4 (40Gbps). They can then be connected to acquisition devices such as cameras, surveillance equipment, and vehicle systems via a data cable to save raw material data and be used in data acquisition scenarios.
[0021] The M.2 SSD flash memory module connects to the expansion dock via the PCIe Switch bus, providing 8GB / s of internal high-speed data copy bandwidth. It achieves high-performance data migration through hardware copying, supports one-to-many concurrent copying, and enables rapid distribution and backup of media data, making it suitable for data distribution scenarios.
[0022] M.2 SSD flash memory modules connect to home or studio NAS via a PCIe 4.0 X1 bus, providing 2GB / s performance per device. Multiple devices can be connected in parallel to meet the data sharing and access needs of external high-speed network interfaces (10GE / 25GE), making them suitable for real-time data sharing and editing scenarios.
[0023] M.2 SSD flash memory modules are used in a variety of modular storage systems, but their performance is unstable, severely impacting the user experience. For example... Figure 2 As shown, sequential writing to an M.2 SSD flash memory module exhibits three performance stages: initially, all data is written to the SLC cache, achieving a performance of 6000MB / s; as the SLC cache fills, data is written through to the TLC cache, reducing performance to 2500MB / s; after continued writing for a period, garbage collection (GC) is initiated within the M.2 SSD flash memory module, and data is migrated from the SLC to the TLC cache, further reducing performance to below 1000MB / s. This unstable write performance limits the practical application of M.2 SSD flash memory modules.
[0024] In modular storage systems, data acquisition, distribution, and shared editing all require rapid data processing. Different scenarios place significant differences in the access performance and capacity requirements of M.2 SSD flash memory modules. The following analysis examines these differences in flash memory module requirements across various scenarios:
[0025] Data Acquisition Scenarios: Production environments often have significant data acquisition needs, such as photography, surveillance, and autonomous driving. These scenarios require stable sequential write performance. Since data acquisition doesn't involve hot data, it doesn't require SLC caching or active garbage collection, but it does have high capacity requirements. In data acquisition scenarios, limited by external interfaces, a stable write speed of 1GB / s is often necessary.
[0026] Data distribution scenario: After data collection, multiple copies of the data typically need to be backed up quickly. This can be done using specialized copying software or hardware devices. The process involves reading from one flash memory module and writing to multiple flash memory modules simultaneously, either as a full copy or a directory copy. This scenario requires high sequential write performance and consistent, stable write performance across multiple devices, and there should be no data hotspots.
[0027] Data sharing and editing scenarios: After production data flows to the studio, it often needs to be shared and edited by multiple people. In this scenario, random read and write operations are required for frequently accessed data, thus necessitating SLC caching and proactive garbage collection (GC) operations.
[0028] This application sets the operating mode of the modular mobile solid-state storage based on an external interface, thereby optimizing its capacity and performance in a modular mobile storage environment.
[0029] In data acquisition scenarios, the workload primarily involves sequential write operations. Front-end acquisition devices (such as cameras and mobile phones) typically use USB 3.0 interfaces, resulting in relatively low bandwidth requirements but high storage capacity demands to store large amounts of acquired data. For data distribution scenarios, such as copying data to multiple devices after acquisition, high sequential write performance and consistent, stable write performance are required. In data sharing and editing scenarios, users frequently access recently accessed hot data, necessitating high bandwidth and low latency. Solid-state flash memory typically improves performance by optimizing OP (Overprovisioning) space, SLC (Single-Level Cell) caching, and GC (Garbage Collection) mode. Therefore, stable high performance and larger usable capacity can be achieved by adjusting the OP space ratio, SLC cache size, and GC mode.
[0030] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0031] In one exemplary embodiment, such as Figure 1 As shown, a method for improving the capacity and performance of modular mobile solid-state storage is provided. This method is executed by a computer device, specifically by a terminal or server alone, or by both a terminal and a server. In this embodiment, the method is described using a server as an example, and includes the following steps S1 to S3. Wherein:
[0032] S1: In data acquisition scenarios, disable SLC caching, reduce OP space, and set flash memory to "capacity mode".
[0033] Data acquisition scenarios typically involve only sequential write loads, requiring larger capacity to accommodate more acquired data. By disabling SLC caching and reducing OP space, more TLC space is freed up to store data, providing greater available capacity.
[0034] S2: In data distribution scenarios, disable SLC caching, enable passive GC mode, and set flash memory to "stable write mode".
[0035] Data distribution scenario: Multiple target devices require consistently high write performance. By disabling SLC caching and enabling passive GC mode, performance fluctuations caused by dynamic SLC / TLC conversion and frequent GC operations are avoided. GC tasks are only enabled when capacity utilization is high (e.g., 90%) to avoid performance inconsistencies caused by different GC times on different devices. Since data distribution performance is limited by the performance of the slowest disk, the method proposed in this application can achieve consistently high and stable data distribution performance.
[0036] S3: In data sharing and editing scenarios, add SLC caching, enable active GC mode, and set flash memory to "hotspot read / write performance mode".
[0037] Data sharing and editing scenarios: Frequent concurrent access to hot data necessitates high bandwidth and low latency. Allocating a certain capacity of SLC cache to store hot data can effectively reduce access latency. Since hot data writes involve frequent overwrite operations, timely retrieval of old data is necessary to ensure continuous write stability of the flash memory. Therefore, an active GC mode is employed to maintain long-term stable write performance of the flash memory.
[0038] Modular mobile solid-state drives (SSDs) have three key technologies that significantly impact their usable capacity, performance, and lifespan. These technical parameters need to be adjusted accordingly under different operating modes to meet the requirements of various application scenarios.
[0039] OP space: This is an invisible area inside the solid-state drive (SSD), primarily containing spare space for bad block management and intermediate space for garbage collection. The OP space settings vary significantly between different manufacturers. High-performance flash memory modules typically reserve more OP space to improve performance and maintain speed stability. However, OP space is invisible to users and cannot be used directly. The size of the OP space, depending on the operating mode, will affect the usable capacity and performance stability.
[0040] Dynamic SLC cache: SSDs dynamically allocate a portion of their flash memory capacity as SLC cache. The controller adjusts the SLC cache size based on the remaining capacity to strike a balance between high performance and available capacity. When the SSD has ample remaining capacity, the SLC cache ratio is large, resulting in a significant improvement in write performance. However, as SSD space utilization increases, the SLC cache ratio decreases, leading to an overall performance decline and greater performance fluctuations. In certain operating modes, stable performance is crucial, making the SLC cache ratio setting extremely important.
[0041] Garbage Collection Mode: After a flash memory module has been working for a period of time, it will generate a large amount of garbage data. Garbage collection (GC) frees up space by moving data from old blocks to new blocks and erasing the old blocks. There are generally two GC modes: passive GC mode and active GC mode. Passive GC mode is performed when the available flash memory blocks are below a threshold; active GC mode is performed when the SSD is idle or under low load. GC can free up space to improve write performance. Performance requirements differ in different operating modes, so the GC mode should be adjusted accordingly.
[0042] This application proposes setting the internal parameters of the flash controller according to the external interface, which can be reset by switching on the host computer software or by switching on the M.2 SSD flash memory module hardware, and takes effect after reformatting the hard drive or resetting.
[0043] Software Switch: By adding manufacturer-defined configuration commands, users can adjust the SSD's operating mode according to their needs, such as data acquisition, data distribution, and data sharing and editing. After the SSD is connected to a host computer device such as a mobile phone or PC via a USB connector, users can set the operating mode through the host computer management software. The commands are sent to the flash memory via SCSI or NVMe protocols and take effect after reformatting.
[0044] Hardware Switch: A physical switch, such as a button, toggle switch, or rotary switch, is added to the flash memory module. Users can directly adjust controller policies, such as enabling / disabling SLC caching, setting the OP space ratio, and setting the GC mode. Settings will take effect upon data sharing and power-on after editing the hard drive. The controller reads the switch configuration and completes initialization upon startup.
[0045] Software adjustment offers greater flexibility, allowing for the adjustment of various operating modes and strategy parameters according to needs; while hardware adjustment is simpler, typically providing only basic on / off control. Although convenient to operate, its functionality is limited, and it cannot achieve multi-level selection. However, hardware settings are independent of the host computer application, making operation more independent.
[0046] SLC space ratio and GC reclamation time can be adjusted in real time while the flash controller is running, without the need for a restart or formatting. OP space settings require more complex adjustments, involving modifications to the user's available capacity. If adjusted via software, a reformatting is required for the changes to take effect; if adjusted via a hardware switch, the changes take effect after a power cycle.
[0047] The results of this application are as follows:
[0048] Data acquisition scenario: By disabling SLC caching and reducing OP space, the effective capacity of flash memory modules is significantly improved. In a typical configuration, SLC caching accounts for 5%, and OP space accounts for 10%. Using the method described in this application, the entire SLC caching is converted to TLC space, increasing its usable capacity by 10%; simultaneously, OP space is used only for spare areas for bad block management, reducing it to 1%, increasing usable capacity by 9%. The overall capacity is thus increased by approximately 19%.
[0049] Data distribution scenario: By disabling SLC caching and using passive GC mode for flash memory modules written in the same batch, the stability of write performance is ensured. In typical scenarios, the performance of flash memory modules goes through three stages: when the usage capacity is less than 20%, the performance can reach 6GB / s; when the capacity usage reaches 60%, the performance drops to 2.5GB / s; and when the usage capacity exceeds 60%, the performance further drops to below 1GB / s. Because the capacity usage of different devices varies before data distribution, the overall speed is often limited by the performance of the slowest device, resulting in a stable speed of 1GB / s. Since data distribution scenarios typically involve copying large files or batches of medium-sized files, the physical space is not fragmented, so the OP space required for GC is relatively small, typically set to 10%. Through the optimization of this application, disabling SLC caching and using passive GC mode, the performance is stabilized at 2.5GB / s, reducing the copy time of 1TB of data from the original 17 minutes to less than 7 minutes, a 1.4x improvement in copy speed.
[0050] Data sharing and editing scenario: Performance is optimized by increasing the SLC cache and enabling proactive GC mode. In a typical experimental scenario, using a 5% SLC cache can effectively absorb most of the hot data, significantly improving system lifespan and performance by more than 30%. The SLC cache is 5%, and the OP space is 20%.
[0051] Implementing SLC caching and OP space allocation within an SSD controller involves the following steps and mechanisms:
[0052] Hardware support: The SSD firmware supports Set Features and provides configuration options, allowing users to set the SLC cache ratio and OP space ratio via NVMe Admin protocol commands.
[0053] Initialization parameters: When the SSD powers on, the controller reads the configuration parameters in the firmware, including the SLC cache ratio and OP space ratio, and divides the storage area into SLC and TLC regions according to the ratio. It also reserves a certain amount of space to perform GC based on the OP threshold. This space is not visible to the user.
[0054] Application tools: SSD manufacturers provide dedicated tools or software that allow users to manually set or adjust the SLC cache ratio and OP space threshold.
[0055] By following the steps above, the SSD controller can adjust the ratio of SLC cache and OP space to appropriate values for various scenarios, ensuring optimal capacity and performance in different situations.
[0056] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0057] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for improving the capacity and performance of a modular mobile solid-state storage device, characterized in that, include: In data acquisition scenarios, disable SLC caching, reduce OP space, and set flash memory to "capacity mode"; In data distribution scenarios, disable SLC caching, enable passive GC mode, and set flash memory to "stable write mode"; In data sharing and editing scenarios, add SLC caching, enable active GC mode, and set flash memory to "hotspot read / write performance mode".
2. The method for improving the capacity and performance of modular mobile solid-state storage according to claim 1, characterized in that, The OP space is an invisible area of the solid-state drive, which includes spare space for bad block management and transfer space for garbage collection.
3. The method for improving the capacity and performance of modular mobile solid-state storage according to claim 1, characterized in that, The passive GC mode is performed when the available flash memory blocks are below a threshold.
4. The method for improving the capacity and performance of modular mobile solid-state storage according to claim 1, characterized in that, The active GC mode is performed when the solid-state drive is idle or the load is below the load threshold.
5. The method for improving the capacity and performance of modular mobile solid-state storage according to claim 1, characterized in that, The SLC cache can be turned on / off via a software switch or a hardware switch, the OP space ratio can be set, and the GC mode can be set; the GC mode includes passive GC mode and active GC mode.