A high-reliability SSD storage control method

By performing data type determination and cold data processing in the SSD controller, partitioning storage, and performing pre-write and timely read operations, the reliability problem of NAND storage cells during long-term data retention is solved, the reliability of cold data is improved, and the bit error rate is reduced.

CN116431077BActive Publication Date: 2026-03-24SHANDONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-23
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In big data storage, the tunneling layer degradation and lateral charge migration caused by the erase and write operations of NAND storage cells affect the reliability of cold data, especially during long-term data retention, leading to an increase in the bit error rate.

Method used

By adding data type detection and cold data processing controllers to the SSD controller, the average number of erases for cold and hot data is calculated, data partitioning is performed, and pre-write and timely read operations are carried out to improve the reliability of cold and hot data respectively.

Benefits of technology

It improved the reliability of cold data by 50%, reduced the bit error rate during data retention, and improved the overall reliability of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116431077B_ABST
    Figure CN116431077B_ABST
Patent Text Reader

Abstract

A high-reliability SSD storage control method realizes partitioning of cold data and hot data, stores the hot data in a young block, and performs additional processing of pre-writing and reading immediately after writing for the cold data, thereby respectively realizing reliability improvement of the hot data and the cold data. The method can be transplanted to a system level, and according to wear degrees of different chips of a flash memory array, a suitable chip is selected to store the cold data and the hot data, and a preprocessing operation is performed on the chip storing the cold data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of non-volatile memory, in particular to a high-reliability SSD storage control method. BACKGROUND

[0002] In the big data era, mass data processing and transmission cannot be separated from the storage system. The storage system is composed of a series of storage memories with different storage characteristics. According to the classification of the interaction level with the CPU, there are cache, main memory (internal memory), and auxiliary memory (external memory) in turn. The cache stores the program segment and data being executed, and the access speed is very fast; the main memory stores the programs and data needed during computer operation, and the CPU can directly access the main memory; the auxiliary memory stores some programs and data that are not involved in the calculation during the computer operation, that is, some information that needs to be permanently saved, and the auxiliary memory has large storage capacity but slow reading speed. Each layer of memory in the storage system cooperates to complete information storage and memory.

[0003] In the big data application scenarios such as data centers, the auxiliary memory is particularly important while ensuring the efficiency of CPU processing information. The common types of auxiliary memory at present include solid state disk, mechanical hard disk (magnetic disk), optical disk, etc. Among them, the solid state disk (SSD) has the advantages of fast read-write speed, low power consumption, anti-shock and drop resistance, etc., and becomes the preferred memory type for expanding the auxiliary storage capacity. The SSD is composed of two parts: storage medium and controller. The storage medium includes flash memory, DRAM, and 3D Xpoint. At present, the most widely used is the SSD with flash memory as the storage medium, which has the advantages of portability and long service life, and is applied in vehicle-mounted, monitoring equipment, navigation equipment, power, medical treatment and other fields. The controller is the key part of the SSD that determines the performance, and has the functions of bad block management, wear leveling, garbage collection, etc. With the increasingly wide application of SSD, many manufacturers have begun to design the controller independently in order to meet the market customization demand.

[0004] To meet the reliability requirements of cold / hot data storage in big data storage applications such as data centers and cloud storage, data can be categorized into cold data and hot data based on the usage scheme of data stored in flash memory. Cold data is data that is retained for a long time after being written but not frequently read, while hot data is data that is frequently read after being written. During data storage, the storage cells in NAND flash memory arrays undergo erase and write operations. These operations cause irreversible tunneling layer degradation in the storage cells, reducing their reliability and affecting data retention characteristics. Cold data stored in the cells undergoes long-term retention. During this long retention period, the charge is affected by reliability mechanisms such as lateral charge migration, leading to a reduction in charge in the charge trapping layer, resulting in bit errors and decreased reliability. Summary of the Invention

[0005] In order to overcome the shortcomings of the above-mentioned technologies, the present invention provides a method for preprocessing cold data to improve the reliability of cold data during data retention.

[0006] The technical solution adopted by this invention to overcome its technical problems is:

[0007] A high-reliability SSD storage control method includes the following steps:

[0008] a) Add a data type detection controller and a cold data processing controller to the SSD controller;

[0009] b) Input the data into the DDR cache in the SSD controller;

[0010] c) Calculate the average number of erases for cold and hot data;

[0011] d) Determine whether the difference between the average number of erases in the cold data storage area and the average number of erases in the hot data storage area reaches the threshold. If it does, the partition controller in the SSD controller will remap the logical addresses of the cold and hot data to adjust the partition and then execute step e). If not, execute step e directly.

[0012] e) The cold data processing controller processes the pre-written data for the cold data area;

[0013] f) The data type determination controller determines whether the data type is a user-defined data type. If it is, proceed to step g); otherwise, proceed to step h.

[0014] g) Determine whether the user has defined the data as cold data. If so, proceed to step k); otherwise, proceed to step o).

[0015] h) The data type determination controller determines whether to determine the data type based on the input system file type. If yes, proceed to step i); otherwise, proceed to step j.

[0016] i) The data type determination controller determines whether the input system file is cold data. If it is, step k) is executed; otherwise, step o) is executed.

[0017] j) Determine the reading frequency threshold in the reading count record table. If the threshold is less than N reads per hour, proceed to step k). If the threshold is greater than or equal to N reads per hour, proceed to step o).

[0018] k) The NAND controller erases the cold data to be written area, erasing the data pre-written in step e); l) The NAND controller writes user data to the cold data area.

[0019] m) Use the NAND controller to perform a read operation on the written user data without outputting a file;

[0020] n) Perform data preservation;

[0021] o) Use the NAND controller to write user data to the hot data area.

[0022] Furthermore, in step c), the block partition controller in the SSD controller calculates the average number of erases for cold and hot data based on the erase / write count record table in the block partition.

[0023] Preferably, the threshold value in step d) is 100.

[0024] Furthermore, in step g), the backup data is treated as user-defined cold data.

[0025] Furthermore, in step i), if the system file input is a photo or video, it is determined to be cold data.

[0026] Furthermore, in step j), the block partition controller in the SSD controller calculates the read frequency thresholds for cold and hot data based on the record table of the number of times data in the block partition is read.

[0027] Preferably, N is 3 in step j).

[0028] The beneficial effects of this invention are: it achieves partitioning of cold and hot data, stores hot data in young blocks, and performs additional processing such as pre-writing and immediate read after writing on cold data, thereby improving the reliability of hot and cold data respectively. This invention's method can be ported to the system level, selecting appropriate chips to store cold and hot data based on the wear level of different chips in the flash memory array, and performing preprocessing operations on the chips storing cold data. Attached Figure Description

[0029] Figure 1 This is a structural diagram of the SSD controller of the present invention;

[0030] Figure 2 This is a flowchart of the method of the present invention;

[0031] Figure 3 This is a diagram illustrating the effect of the RRD of the present invention on improving the number of bit errors;

[0032] Figure 4 This is a rendering of the invention. Detailed Implementation

[0033] The following is in conjunction with the appendix Figure 1 To be continued Figure 4 The present invention will be further described below.

[0034] Flash memory possesses several verifiable characteristics. Pre-writing the block to be written to before the actual writing of cold data and then holding it for a period of time can improve the reliability during the cold data holding period. In this invention, there is a certain time interval between the pre-writing operation on the cold data area and the actual writing of the data, which improves the effectiveness of the pre-writing operation. Performing a timely read operation after the cold data is written can effectively reduce the number of bit errors during the data holding period. Hot data requires frequent read operations; selecting blocks that have experienced fewer erase and write cycles to store hot data can minimize the impact of storage cell degradation. Specifically, a high-reliability SSD storage control method of this invention includes the following steps:

[0035] a) Add a data type detection controller and a cold data processing controller to the SSD controller.

[0036] b) Input the data into the DDR cache in the SSD controller.

[0037] c) Calculate the average number of erases for cold and hot data.

[0038] d) Determine if the difference between the average number of erases in the cold data storage area and the average number of erases in the hot data storage area reaches a threshold. If it does, the partition controller in the SSD controller will remap the logical addresses of the cold and hot data, adjust the partitions, and then execute step e). If not, execute step e directly.

[0039] e) The cold data processing controller performs pre-write data processing on the cold data area. This pre-write data processing is the first preprocessing operation on the cold data area, aiming to fill the space charge regions in the NAND storage array with charge to suppress lateral charge diffusion after data writing. The pre-written charge migrates laterally into the space charge region, suppressing lateral charge migration of the officially written charge and improving data reliability. f) The data type determination controller determines whether the data type is a user-defined data type. If so, it executes step g); otherwise, it executes step h).

[0040] g) Determine if the user has defined the data as cold data. If so, proceed to step k); otherwise, proceed to step o).

[0041] h) The data type determination controller determines whether to determine the data type based on the input system file type. If yes, proceed to step i); otherwise, proceed to step j.

[0042] i) The data type determination controller determines whether the input system file is cold data. If it is, step k) is executed; otherwise, step o) is executed.

[0043] j) Determine the reading frequency threshold in the reading count record table. If the threshold is less than N reads per hour, proceed to step k). If the threshold is greater than or equal to N reads per hour, proceed to step o).

[0044] k) The NAND controller performs an erase operation on the cold data area to be written, erasing the data pre-written in step e). l) User data is written to the cold data area using the NAND controller.

[0045] m) Perform a read operation without outputting a file on the written user data using the NAND controller. This read operation without outputting a file is a second preprocessing operation on the cold data area. This second preprocessing operation is performed before data retention. Performing this second preprocessing operation on the cold data further improves data retention characteristics. Performing a Real-time Read Disturb (RRD) operation after writing the cold data can improve the reliability of the cold data during the data retention process by approximately 50%.

[0046] n) Maintain the data.

[0047] o) Use the NAND controller to write user data to the hot data area.

[0048] This paper designs an SSD storage controller with improved data reliability, integrating a DDR cache, block partitioning controller, NNAD controller, data type determination controller, and cold data processing controller. The DDR cache temporarily stores input data. The block partitioning controller calculates the difference in average erase counts between hot and cold data regions. If the average erase count reaches a threshold, the block partitioning controller re-maps the logical addresses of the hot and cold data regions. Specifically, hot and cold data partitioning is implemented through the block partitioning controller. When the erase count reaches the threshold, the wear and tear on the old hot data region is more severe than that on the old cold data region, so the logical addresses of the stored hot and cold data are swapped, and the old hot data region becomes the new cold data region. Improved hot data reliability is achieved through data partitioning, while improved cold data reliability is achieved through the cold data processing controller. The data type determination controller determines the current data type based on the file type of the input data and assigns a data type flag; user-specified data types are marked with a hot / cold flag during data input; and it receives information from the block partitioning controller to determine hot and cold data. The cold data processing controller is responsible for preprocessing cold data region blocks before data is written, and also performing a secondary preprocessing operation before cold data is retained. The NAND controller completes erase, write, and read commands, and simultaneously maps logical addresses to physical addresses.

[0049] This invention is applicable to big data storage and can improve the reliability of hot data by partitioning and storing cold and hot data. Furthermore, it improves the reliability of cold data by pre-writing cold data areas and performing timely read operations after the cold data is written. For determining cold and hot data, this invention offers three methods: (1) determining the type of data based on the frequency of data reads over a period of time; data read more than three times within an hour is considered hot data, and less than three times is considered cold data; (2) determining the type of input data based on file type; photos and videos are considered cold data; (3) allowing users to directly define the types of data, with backup data being considered cold data. This invention's controller improves the reliability of cold and hot data through data partitioning, cold and hot data determination, and cold data processing.

[0050] As attached Figure 3 As shown, attached Figure 3 The horizontal axis represents the data retention time after cold data is written, and the vertical axis represents the normalized bit error rate. RRD-n indicates that n RRD processes are performed after cold data is written. Compared to data that is retained directly without processing, data that has undergone one RRD process has a uniformly lower bit error rate of 50% after 8 hours of retention. The improvement becomes more and more obvious as the number of RRDs increases. However, considering the timeliness of cold data storage and the overhead of operation, RRD-1 is the most efficient choice.

[0051] As attached Figure 4 As shown, attached Figure 4 The horizontal axis represents the data retention time after cold data is written, and the vertical axis represents the number of bit errors. Adding a first pre-write process before storing cold data, based on RRD-1 processing, significantly reduces the number of bit errors. These two pre-processing steps for cold data greatly improve the reliability of cold data retention.

[0052] In a specific embodiment of the present invention, in step c), the block partition controller in the SSD controller calculates the average number of erases for cold data and hot data based on the erase / write count record table in the block partition.

[0053] In a specific embodiment of the present invention, preferably, the threshold value in step d) is 100.

[0054] In one specific embodiment of the present invention, the backup data in step g) is used as user-defined cold data.

[0055] In one specific embodiment of the present invention, if the input system file in step i) is a photo or video, it is determined to be cold data.

[0056] In a specific embodiment of the present invention, in step j), the block partition controller in the SSD controller calculates the read frequency thresholds for cold data and hot data based on the data read count record table in the block partition.

[0057] In a specific embodiment of the present invention, N is preferably 3 in step j).

[0058] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A high-reliability SSD storage control method, characterized in that, Includes the following steps: a) Add a data type detection controller and a cold data processing controller to the SSD controller; b) Input the data into the DDR cache in the SSD controller; c) Calculate the average number of erases for cold and hot data; d) Determine whether the difference between the average number of erases in the cold data storage area and the average number of erases in the hot data storage area reaches the threshold. If it does, the partition controller in the SSD controller will remap the logical addresses of the cold and hot data to adjust the partition and then execute step e). If not, execute step e directly. e) The cold data processing controller processes the pre-written data for the cold data area; f) The data type determination controller determines whether the data type is a user-defined data type. If it is, proceed to step g); otherwise, proceed to step h. g) Determine whether the user has defined the data as cold data. If so, proceed to step k); otherwise, proceed to step o). h) The data type determination controller determines whether to determine the data type based on the input system file type. If yes, proceed to step i); otherwise, proceed to step j. i) The data type determination controller determines whether the input system file is cold data. If it is, step k) is executed; otherwise, step o) is executed. j) Determine the reading frequency threshold in the reading count record table. If the threshold is less than N reads in one hour, proceed to step k). If the threshold is greater than or equal to N reads in one hour, proceed to step o). k) The NAND controller performs an erase operation on the cold data to be written area, erasing the pre-written data in step e); l) Use the NAND controller to write user data to the cold data area; m) Use the NAND controller to perform a read operation on the written user data without outputting a file; n) Perform data preservation; o) Use the NAND controller to write user data to the hot data area.

2. The high-reliability SSD storage control method according to claim 1, characterized in that: In step c), the block partition controller in the SSD controller calculates the average number of erases for cold and hot data based on the erase / write count record table in the block partition.

3. The high-reliability SSD storage control method according to claim 1, characterized in that: In step d), the threshold value is 100.

4. The high-reliability SSD storage control method according to claim 1, characterized in that: In step g), the backup data is treated as user-defined cold data.

5. The high-reliability SSD storage control method according to claim 1, characterized in that: If the system file entered in step i) is a photo or video, it is considered cold data.

6. The high-reliability SSD storage control method according to claim 1, characterized in that: In step j), the block partition controller in the SSD controller calculates the read frequency thresholds for cold and hot data based on the record table of the number of times data in the block partition is read.

7. The high-reliability SSD storage control method according to claim 1, characterized in that: In step j), N takes the value 3.

Citation Information

Patent Citations

  • Abrasion balancing method and device for solid state disk and computer readable storage medium

    CN112328169A

  • Read performance optimization method based on unbalanced wear flash memory

    CN114924690A