Solid state disk data reading method, system and equipment and medium

By detecting the temperature in a solid-state drive and determining the target offset voltage using the optimal offset voltmeter for data reading, the read failure problem caused by temperature influence of NAND particles is solved, and data stability and reliability are improved.

CN119556856APending Publication Date: 2025-03-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411638497.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-17
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

NAND particles in solid-state drives are affected by temperature, and data writing and reading across temperature intervals can easily lead to reading failures, which will enter multi-level error correction, affecting data stability and reliability.

Method used

By detecting the temperature at which data is written and read, the target offset voltage is determined using a preset optimal offset voltmeter to perform data reading. If the read fails, retry based on the retry read voltage in the fixed retry table until successful or enters the next level of error correction.

Benefits of technology

It reduces the situation of failure or error correction caused by data reading across the temperature interval, improves the stability and reliability of data reading, increases the probability of read success, and reduces the impact on read performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119556856A_ABST
    Figure CN119556856A_ABST
Patent Text Reader

Abstract

The invention provides a solid state disk data reading method, system and device and a medium, and the method comprises the steps: in response to a detected data writing operation, obtaining a data writing temperature of a working environment in which solid state disk data is written; in response to the detected data reading operation, acquiring a data reading temperature of a working environment where the solid state disk is located during data reading; determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltmeter; and reading data in the solid state disk according to the first target offset voltage. The situation that data reading fails or error correction is entered due to the cross-temperature interval is reduced, and data stability and reliability are guaranteed. And meanwhile, the probability of one-time reading success is greatly increased, and the influence on the reading performance is reduced while the stability is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data storage technology, and in particular to a method, system, device and medium for reading data from a solid state drive. Background Art

[0002] With the rapid development and widespread application of SSD (Solid State Disk), the reliability of SSD data has become a focus of attention.

[0003] The main storage medium of an SSD is generally NAND (Non-volatile Memory Device), and due to the physical properties of NAND particles themselves, temperature has a great impact on data storage and reading. Some NAND particles are significantly affected by temperature fluctuations. When data is written and read across a temperature range, it is easy to cause the problem of data reading failure, and then enter the multi-level error correction situation.

[0004] Therefore, there is an urgent need for a solid state hard disk data reading method that reduces the influence of temperature on data reading to solve the above technical problems. Summary of the invention

[0005] Based on this, it is necessary to provide a solid state hard disk data reading method, system, device and medium to address the above technical problems.

[0006] In a first aspect, the present application provides a method for reading data from a solid state drive, the method comprising:

[0007] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0008] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0009] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0010] Data in the solid state drive is read according to the first target offset voltage.

[0011] In some embodiments, after reading the data in the solid state drive according to the first target offset voltage, the method further includes:

[0012] In response to detecting that the data reading of the solid state hard disk fails, calculating an offset according to the optimal offset voltage and a preset voltage axis;

[0013] Reading a first retry read voltage defined in a first fixed retry table of the solid state drive;

[0014] Determining a second target offset voltage according to the read first retry read voltage and the offset;

[0015] Data in the solid state drive is read according to the second target offset voltage.

[0016] In some embodiments, after reading the data in the solid state drive according to the second target offset voltage, the method further includes:

[0017] In response to detecting a failure in reading data from the solid state drive, detecting whether the first fixed retry table is the last fixed retry table that matches the solid state drive;

[0018] In response to detecting that the first fixed retry table is the last fixed retry table matched by the solid state drive, entering the next level of error correction;

[0019] In response to detecting that the first fixed retry table is not the last fixed retry table matched by the solid state drive, updating the first retry read voltage according to a retry read voltage defined in a fixed retry table next to the first fixed retry table;

[0020] determining a second target offset voltage according to the first retry read voltage and the offset;

[0021] Data in the solid state drive is read according to the second target offset voltage.

[0022] In some embodiments, when the data read operation is a non-data patrol read operation, after reading the data in the solid-state drive according to the first target offset voltage or reading the data in the solid-state drive according to the second target offset voltage, the method includes:

[0023] Detecting whether there is feedback data for the data read operation;

[0024] In response to not detecting the data, determining that the data read has failed;

[0025] In response to detecting the presence of feedback data, determining that data reading is successful and obtaining the number of error bits in the feedback data;

[0026] In response to detecting that the number of error bits in the feedback data is greater than or equal to a first threshold, generation of a forced garbage collection request is triggered.

[0027] In some embodiments, when the data read operation is a data patrol read operation, in response to detecting the presence of feedback data, the method includes:

[0028] comparing the number of error bits in the feedback data with the first threshold;

[0029] In response to detecting that the number of error bits in the data is greater than or equal to a first threshold, determining that the data reading fails;

[0030] In response to detecting that the number of error bits in the data is less than the first threshold, it is determined that the data reading is successful.

[0031] In some embodiments, the method for generating the optimal offset voltage table includes:

[0032] Design the read temperature test interval and the write temperature test interval, and combine them to generate the read and write temperature intervals;

[0033] Selecting a test temperature interval in the read-write temperature interval, and using a non-volatile storage device test fixture to write data to a designated block at a write temperature included in the test read-write temperature interval;

[0034] Reading data from a designated block at a read temperature included in the test temperature interval according to the candidate offset voltage to obtain feedback data;

[0035] Determining, according to the number of error bits included in the feedback data, an optimal offset voltage of the designated block in the test temperature range from candidate offset voltages;

[0036] The test temperature interval and the optimal offset voltage are recorded to generate an optimal offset voltage table.

[0037] In some embodiments, before recording the test temperature interval and the optimal offset voltage to generate an optimal offset voltage table, the method further includes verifying the optimal offset voltage matching the test temperature interval:

[0038] Writing data to a data block included in the non-volatile storage device at a write temperature included in the test temperature range;

[0039] At a read temperature included in the test temperature interval, using the optimal offset voltage to read data from a data block included in the non-volatile storage device;

[0040] Counting the read and write success rates of the data blocks contained in the non-volatile storage device;

[0041] In response to the read / write success rate being less than a second threshold, the optimal offset voltage matching the test temperature interval is verified to be passed;

[0042] In response to the read / write success rate being greater than or equal to the second threshold, verification of the optimal offset voltage matching the test temperature interval fails.

[0043] In a second aspect, the present application provides a solid state hard disk data reading system, the system comprising:

[0044] A preparation module, configured to obtain, in response to detecting a data write operation, a data write temperature of a working environment of the solid state drive when writing data;

[0045] The preparation module is further configured to obtain, in response to detecting a data read operation, a data reading temperature of a working environment of the solid state drive when data is read;

[0046] A processing module, configured to determine a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0047] A reading module is used to read data in the solid state drive according to the first target offset voltage.

[0048] In a third aspect, the present application provides a computer program product, which implements the steps of the following method when the computer program is executed by a processor:

[0049] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0050] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0051] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0052] Data in the solid state drive is read according to the first target offset voltage.

[0053] In a fourth aspect, the present application provides an electronic device, the electronic device comprising: one or more processors;

[0054] and a memory associated with one or more processors, the memory being used to store program instructions, which, when read and executed by the one or more processors, perform the following operations:

[0055] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0056] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0057] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0058] Data in the solid state drive is read according to the first target offset voltage.

[0059] In a fifth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and the computer program enables a computer to perform the following operations:

[0060] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0061] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0062] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0063] Data in the solid state drive is read according to the first target offset voltage.

[0064] The beneficial effects achieved by this application are:

[0065] The present application provides a method for reading data from a solid-state hard disk, including obtaining a data writing temperature of a working environment in which data is written to the solid-state hard disk in response to detecting a data writing operation; obtaining a data reading temperature of a working environment in which data is read from the solid-state hard disk in response to detecting a data reading operation; determining a first target offset voltage according to the data writing temperature and the data reading temperature and a preset optimal offset voltage table; and reading data from the solid-state hard disk according to the first target offset voltage. Reduce the situations where data reading fails or enters error correction due to crossing a temperature range, and ensure data stability and reliability. At the same time, greatly increase the probability of a successful read, while ensuring stability, reduce the impact on read performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work, among which:

[0067] Figure 1 This is a flow chart of a method for reading data from a solid state drive provided in an embodiment of the present application;

[0068] Figure 2 It is a schematic diagram of a method for reading data from a solid state hard disk provided in an embodiment of the present application;

[0069] Figure 3 This is an architecture diagram of a solid state drive data reading system provided by an embodiment of the present application;

[0070] Figure 4 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0072] It should be understood that in the description of the present application, unless the context clearly requires otherwise, words such as "include", "comprises", and the like in the entire specification and claims should be interpreted as inclusive rather than exclusive or exhaustive; that is, the meaning of "including but not limited to".

[0073] It should also be understood that the terms "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. In addition, in the description of this application, unless otherwise specified, "plurality" means two or more.

[0074] It should be noted that the terms "S1", "S2", etc. are only used for the purpose of describing the steps, and do not specifically refer to the order or sequence, nor are they used to limit the present application. They are only for the convenience of describing the method of the present application, and cannot be understood as indicating the order of the steps. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in this field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection required by the present application.

[0075] As mentioned in the background technology, since NAND particles are affected by temperature, when data is written and read across temperature ranges (such as low-temperature data writing, high-temperature data reading; or high-temperature data writing, low-temperature data reading), there is a greater probability that a large number of read error bits will occur, resulting in an unsuccessful data read, and then entering a multi-level error correction situation. Generally, this problem will occur in large numbers at one time, including data inspection reading, which seriously affects the performance of the solid-state drive. In more severe cases, it may cause the data to be unable to be read normally and mark bad blocks. In order to reduce the read failure or error correction caused by data writing and reading across temperature ranges, the present application proposes a method for reducing the influence of temperature on data reading, so as to further maintain the stability and performance of the solid-state drive.

[0076] Embodiment 1

[0077] The present application embodiment provides a method for reading data from a solid state drive, specifically, Figure 1 As shown, the method disclosed in the embodiment of the present application is used to effectively read the data of the solid state drive, including the following contents:

[0078] S1. In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data.

[0079] When the solid-state drive runs an IO operation, data is written to the data block in the NAND particle, that is, when the block is open, the temperature of the current working environment of the solid-state drive is obtained, and the temperature obtained at this time is the data writing temperature. In order to facilitate the subsequent processing of the data writing temperature, after the data writing temperature is obtained, the data is recorded in the management information of the written data block. It is understandable that there is a period of time from the beginning of writing a data block to the completion of writing the entire data block, but this period of time is usually very short and does not need to be considered. Therefore, specifically, this application takes the temperature when the data block is just written as the data writing temperature.

[0080] S2, in response to detecting a data read operation, obtaining a data read temperature of the working environment of the solid state drive when reading data. Similar to the above, when data blocks need to be read, the temperature of the current environment is obtained and recorded as the data read temperature.

[0081] S3. Determine a first target offset voltage according to a data writing temperature, a data reading temperature, and a preset optimal offset voltage table.

[0082] Specifically, the above-mentioned optimal offset voltage table contains multiple read-write temperature intervals and corresponding optimal offset voltages. In the present application, the corresponding target offset voltage can be obtained by searching the optimal offset voltage table through the data writing temperature and the data reading temperature.

[0083] Wherein, the method for generating the above-mentioned optimal offset voltage table includes:

[0084] The read temperature test interval and the write temperature test interval are designed, and the read and write temperature intervals are generated by combining them, as shown in Table 1. The embodiment of the present application provides a specific design scheme. It can be understood that the selection of the specific read temperature interval and the write temperature interval is refined according to different NAND characteristics in actual scenarios; Table 1 is only an example and has no limiting effect.

[0085] Table 1

[0086]

[0087] A test temperature interval is selected in the read-write temperature interval, and a non-volatile storage device test fixture is used to write data to a designated block at a write temperature contained in the test read-write temperature interval. In a specific implementation scenario, the test temperature interval is determined according to the above-designed read-write temperature interval. It can be understood that each of the above-designed read-write temperature intervals needs to be selected for testing. Then, data is written to a plurality of designated data blocks (i.e., designated blocks) at a write temperature contained in the selected test temperature interval, and then data is read at a read temperature contained in the test temperature interval. The above-mentioned designated blocks generally select data blocks of non-bad blocks at different positions on a DIE (chip) for comparative testing, such as block100, 200, 300..., and the actual interval selection can be based on the number of blocks in the corresponding NAND particle DIE. Of course, it can also be selected randomly instead of according to the interval, and this application does not limit this.

[0088] According to the candidate offset voltage, the data of the designated block is read at the read temperature included in the test temperature range to obtain feedback data. It can be understood that in the process of reading data in the solid-state hard disk, the NAND flash memory represents data by storing charges in the storage cell, and due to the aging of the storage cell, temperature changes and interference between adjacent storage cells, there will be a difference between the actual voltage threshold and the expected voltage threshold of the storage cell, and this difference is the voltage offset. The present application analyzes the voltage offset of the current NAND through the voltage axis, and then determines the candidate offset voltage by orderly dividing the voltage offset. For example: the expected reading voltage threshold of a certain voltage axis is 1.5V, and an offset is detected during the reading process, from 1.5V to 1.3V. At this time, the voltage offset is 0.2V. According to experience, it is divided into voltage offsets at intervals of 0.05. At this time, the candidate offset voltages are 1.5V, 1.55V, 1.60, 1.65V, 1.70V, 1.75V and 1.8V. Of course, in order to obtain a better reading effect, the above intervals can also be set to 0.01, 0.02, etc., which are set by the technical staff of the present application according to actual conditions. Of course, multiple possible candidate offset voltages may also be set based on experience, and this application does not limit this.

[0089] According to the number of error bits contained in the feedback data, the optimal offset voltage of the specified block in the test temperature range is determined among the candidate offset voltages, that is, by comparing the number of error bits in the read data, the candidate offset voltage that matches the data with the least number of error bits is used as the optimal offset voltage matching the test temperature range.

[0090] It is understandable that in order to improve the accuracy of the candidate offset voltage finally determined, the present application also proposes: in response to the best offset voltage corresponding to the designated block existing in different positions in the DIE, the obtained multiple best offset voltages are combined to generate the best offset voltage group; the designated block is read according to the best offset voltage group to obtain the feedback data of the designated block; the number of error bits in the feedback data corresponding to each best offset voltage group in the best offset voltage group is compared, and the feedback data corresponding to each best offset voltage group has the least number of error bits as the final best offset voltage. By using the obtained multiple best offset voltages to perform cross-validation on the designated block to determine the final best offset voltage, the accuracy of the best offset voltage is further improved, thereby improving the final data reading reliability.

[0091] Finally, the test temperature range and the optimal offset voltage are recorded to generate an optimal offset voltage table, that is, the optimal offset voltage table contains the optimal offset voltage, the test temperature range and the corresponding relationship. This application tests the read and write conditions of NAND by designing different read temperatures and write temperatures, simulates the actual read and write conditions, and determines the degree of influence of temperature on data reading, thereby achieving the acquisition of the optimal offset voltage corresponding to different read and write temperatures.

[0092] In some implementation scenarios, before recording the test temperature interval and the optimal offset voltage to generate the optimal offset voltage table, the present application also proposes to verify the optimal offset voltage that matches the test temperature interval: write data to the data block contained in the non-volatile storage device at the write temperature included in the test temperature interval; read data from the data block contained in the non-volatile storage device using the optimal offset voltage at the read temperature included in the test temperature interval; count the read and write success rates of the data blocks contained in the non-volatile storage device; that is, under the selected read temperature interval conditions, perform data read verification on all data blocks in the NAND for the determined optimal offset voltage, and count the probability of statistical read failure. In response to the read and write success rate being less than the second threshold, the verification of the optimal offset voltage that matches the test temperature interval passes; in response to the read and write success rate being greater than or equal to the second threshold, the verification of the optimal offset voltage that matches the test temperature interval fails, and retesting and verification are required at this time. The above second threshold is mainly set according to the DFX (Design for X, a series of design principles) requirements, and generally requires that the probability of entering the soft decode process is not higher than 10e -4 , that is, the second threshold is preferably set to 10e -4However, the performance of different NAND particles is also different. For NAND particles with better performance, the second threshold can be appropriately lowered. Through the above verification method, the obtained optimal offset voltage is verified again to verify whether the optimal offset voltage is suitable for all data blocks in the entire NAND, thereby improving the effectiveness of the optimal offset voltage and further improving the reliability of data reading using the optimal offset voltage in the later stage.

[0093] S4. Reading data in the solid state drive according to the first target offset voltage.

[0094] It is understandable that, due to the numerous factors that affect the reading of data in the solid state drive, even when the data in the solid state drive is read according to the first target offset voltage, a reading failure may occur.

[0095] When the data read operation is a non-data inspection read operation, after reading the data in the solid state drive according to the first target offset voltage or reading the data in the solid state drive according to the second target offset voltage, the embodiment of the present application also proposes to detect whether the data read is successful, that is, to detect whether there is feedback data for the data read operation; in response to not detecting the data, determine that the data read fails; in response to detecting the presence of feedback data, determine that the data read is successful and obtain the number of error bits in the feedback data; in response to detecting that the number of error bits in the feedback data is greater than or equal to the first threshold, trigger the generation of a forced garbage collection request. Among them, the above-mentioned first threshold is mainly affected by the difference in NAND particles, and can be taken without affecting the normal reading and performance of data. For example, some NAND particles have better characteristics and generally do not exceed 150, and the first threshold can be set to 150; while some NAND particles have poor characteristics. If it is set to 150, there may be a large number of inspection read BERs exceeding this threshold, resulting in a large number of garbage collections, which in turn affects the performance of the disk. Therefore, it is necessary to determine the first threshold based on factors such as actual NAND characteristics, data reading and performance. The present application does not limit the specific setting value of the first threshold. When the data read operation is a data inspection read operation, in response to detecting the presence of feedback data, the embodiment of the present application further proposes to compare the number of error bits in the feedback data with a first threshold; in response to detecting that the number of error bits in the data is greater than or equal to the first threshold, determine that the data read failed; in response to detecting that the number of error bits in the data is less than the first threshold, determine that the data read is successful. Through the above method, it is possible to determine whether the data is read successfully when performing a data inspection read operation on solid-state hardware, thereby expanding the scope of application of the solid-state hard disk data reading provided by the present application.

[0096] In order to improve the reliability of SSD data reading, Figure 2As shown, the present application also proposes that after reading the data in the solid-state hard disk according to the first target offset voltage, in response to detecting that the data reading of the solid-state hard disk fails, the offset is calculated according to the optimal offset voltage and the preset voltage axis, and the offset is determined by calculating the difference between the expected offset voltage and the optimal offset voltage. It can be understood that each voltage axis has an expected offset voltage. For example, TLC page has 7 voltage axes, so there are 7 offset voltages and offsets corresponding to these 7 voltage axes. Read the first retry read voltage defined in the first fixed retry table of the solid-state hard disk; determine the second target offset voltage based on the read first retry read voltage and offset; read the data in the solid-state hard disk according to the second target offset voltage. Among them, the fixed retry table (FRT, Fixed Retry Table) is an offset voltage table defined at the factory, which integrates the offset voltage table of factors such as the number of PEs, retention time, and block read count. When the normal read fails, the corresponding offset voltage in the table will be used according to the information of the block for retry reading (rereading). There are usually multiple FRT tables, such as FRT1, FRT2, FRT3...; when the selected offset voltage in the first FRT still fails to read, the offset voltage in the second FRT will continue to be read, and so on, until the corresponding offset voltages in all FRT tables still fail, and then enter the next level of the process.

[0097] Among them, after reading the data in the solid state drive according to the second target offset voltage, the present application also proposes that in response to detecting that the solid state drive data reading fails, the first fixed retry table is detected as the last fixed retry table that matches the solid state drive; in response to detecting that the first fixed retry table is the last fixed retry table that matches the solid state drive, the next level of error correction is entered; in response to detecting that the first fixed retry table is not the last fixed retry table that matches the solid state drive, the first retry read voltage is updated according to the reread read voltage defined in the next fixed retry table of the first fixed retry table; the second target offset voltage is determined according to the first retry read voltage and the offset; and the data in the solid state drive is read according to the second target offset voltage. That is, after failing to read the solid state drive data according to the retry read voltage recorded in the fixed retry table, continue to use the retry read voltage recorded in the next fixed retry table to read the data until the data is successfully read, or if the reading still fails after traversing all the fixed retry tables, the next level of error correction process is entered until the error correction is successful. The present application adds a new target offset voltage (i.e., a second target offset voltage) acquisition and reading logic after a read failure according to the first target offset voltage, thereby rereading data on the solid-state drive, increasing the probability of a successful read and avoiding re-initiating a read operation on the solid-state drive.

[0098] This application designs a method for reading data from a solid-state hard disk across temperature ranges, which reduces the possibility of data reading failure or error correction due to data reading across temperature ranges, ensures data stability and reliability, and greatly increases the probability of a successful read, while ensuring stability and reducing the impact on read performance.

[0099] Embodiment 2

[0100] Corresponding to the above-mentioned embodiment 1, as Figure 3 As shown, the embodiment of the present application also provides a solid state hard disk data reading system, including:

[0101] A preparation module 310 is used to obtain a data writing temperature of a working environment of the solid state drive when writing data in response to detecting a data writing operation;

[0102] The preparation module 310 is further configured to obtain a data reading temperature of a working environment of the solid state drive when data is read in response to detecting a data read operation;

[0103] A processing module 320, configured to determine a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0104] The reading module 330 is configured to read data in the solid state drive according to the first target offset voltage.

[0105] In some implementation scenarios, the processing module 320 is also used to, in response to detecting a failure in reading data from the solid-state hard disk, calculate an offset based on the optimal offset voltage and a preset voltage axis; read a first retry read voltage defined in a first fixed retry table of the solid-state hard disk; determine a second target offset voltage based on the read first retry read voltage and the offset; and the reading module 330 is also used to read data in the solid-state hard disk based on the second target offset voltage.

[0106] In some implementation scenarios, the processing module 320 is also used to, in response to detecting a failure in reading data from the solid-state hard disk, detect whether the first fixed retry table is the last fixed retry table that matches the solid-state hard disk; in response to detecting that the first fixed retry table is the last fixed retry table that matches the solid-state hard disk, enter the next level of error correction; in response to detecting that the first fixed retry table is not the last fixed retry table that matches the solid-state hard disk, update the first retry read voltage according to the reread read voltage defined in the next fixed retry table of the first fixed retry table; determine a second target offset voltage based on the first retry read voltage and the offset; the reading module 330 is also used to read data in the solid-state hard disk according to the second target offset voltage.

[0107] In some implementation scenarios, the processing module 320 is also used to detect whether there is feedback data for the data read operation; in response to no data being detected, determining that the data read has failed; in response to detecting the presence of feedback data, determining that the data read has been successful and obtaining the number of error bits in the feedback data; in response to detecting that the number of error bits in the feedback data is greater than or equal to a first threshold, triggering the generation of a forced garbage collection request.

[0108] In some implementation scenarios, the processing module 320 is also used to compare the number of error bits in the feedback data with the first threshold when the data read operation is a data patrol read operation; in response to detecting that the number of error bits in the data is greater than or equal to the first threshold, determine that the data read has failed; in response to detecting that the number of error bits in the data is less than the first threshold, determine that the data read has been successful.

[0109] In some implementation scenarios, the preparation module 310 is also used to design a read temperature test interval and a write temperature test interval, and combine them to generate a read-write temperature interval; select a test temperature interval in the read-write temperature interval, and use a non-volatile storage device test fixture to write data to a specified block at a write temperature included in the test read-write temperature interval; read data from a specified block at a read temperature included in the test temperature interval according to a candidate offset voltage to obtain feedback data; determine the optimal offset voltage of the specified block in the test temperature interval from the candidate offset voltage according to the number of error bits included in the feedback data; and record the test temperature interval and the optimal offset voltage to generate an optimal offset voltage table.

[0110] In some implementation scenarios, the preparation module 310 is further used to write data to a data block contained in a non-volatile storage device at a write temperature included in a test temperature interval; read data from a data block contained in a non-volatile storage device using the optimal offset voltage at a read temperature included in the test temperature interval; count the read and write success rates of the data blocks contained in the non-volatile storage device; in response to the read and write success rate being less than a second threshold, verification of the optimal offset voltage matching the test temperature interval is passed; in response to the read and write success rate being greater than or equal to the second threshold, verification of the optimal offset voltage matching the test temperature interval fails.

[0111] Embodiment 3

[0112] Corresponding to all the above embodiments, the present application provides a computer program product, which implements the steps of the following method when the computer program is executed by a processor:

[0113] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0114] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0115] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0116] Data in the solid state drive is read according to the first target offset voltage.

[0117] Embodiment 4

[0118] Corresponding to all the above embodiments, an embodiment of the present application provides an electronic device, including: one or more processors; and a memory associated with the one or more processors, the memory is used to store program instructions, and when the program instructions are read and executed by the one or more processors, the following operations are performed:

[0119] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0120] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0121] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0122] Data in the solid state drive is read according to the first target offset voltage.

[0123] in, Figure 4 The architecture of the electronic device is exemplarily shown, which may include a processor 410, a video display adapter 411, a disk drive 412, an input / output interface 413, a network interface 414, and a memory 420. The processor 410, the video display adapter 411, the disk drive 412, the input / output interface 413, the network interface 414, and the memory 420 may be communicatively connected via a bus 430.

[0124] Among them, the processor 410 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solution provided in this application.

[0125] The memory 420 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 420 can store an operating system 421 for controlling the execution of the electronic device 400, and a basic input and output system (BIOS) 422 for controlling the low-level operations of the electronic device 400. In addition, a web browser 423, a data storage management system 424, and an icon font processing system 425, etc. can also be stored. The above-mentioned icon font processing system 425 can be an application program that specifically implements the operations of the aforementioned steps in the embodiment of the present application. In short, when the technical solution provided in the present application is implemented by software or firmware, the relevant program code is stored in the memory 420 and is called and executed by the processor 410.

[0126] The input / output interface 413 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0127] The network interface 414 is used to connect to a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0128] The bus 430 comprises a pathway for transmitting information between the various components of the device (eg, the processor 410, the video display adapter 411, the disk drive 412, the input / output interface 413, the network interface 414, and the memory 420).

[0129] In addition, the electronic device 400 can also obtain information on specific collection conditions from the virtual resource object collection condition information database for use in condition judgment, etc.

[0130] It should be noted that, although the above device only shows a processor 410, a video display adapter 411, a disk drive 412, an input / output interface 413, a network interface 414, a memory 420, a bus 430, etc., in the specific implementation process, the device may also include other components necessary for normal execution. In addition, it can be understood by those skilled in the art that the above device may also only include components necessary for implementing the solution of the present application, and does not necessarily include all the components shown in the figure.

[0131] It can be seen from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., including several instructions for a computer device (which can be a personal computer, a cloud service end, or a network device, etc.) to execute the methods of various embodiments of the present application or certain parts of the embodiments.

[0132] Embodiment 5

[0133] Corresponding to all the above embodiments, the embodiments of the present application further provide a computer-readable storage medium storing a computer program, which enables a computer to perform the following operations:

[0134] In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data;

[0135] In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read;

[0136] Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table;

[0137] Data in the solid state drive is read according to the first target offset voltage.

[0138] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system or system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, in which the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0139] The above are only preferred embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims

1. A method for reading data from a solid state hard disk, characterized in that: The method comprises: In response to detecting a data write operation, obtaining a data write temperature of a working environment of the solid state drive when writing data; In response to detecting a data read operation, obtaining a data reading temperature of a working environment of the solid state drive when data is read; Determining a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table; Data in the solid state drive is read according to the first target offset voltage.

2. The method according to claim 1, characterized in that After reading the data in the solid state drive according to the first target offset voltage, the method further includes: In response to detecting that the data reading of the solid state hard disk fails, calculating an offset according to the optimal offset voltage and a preset voltage axis; Reading a first retry read voltage defined in a first fixed retry table of the solid state drive; Determining a second target offset voltage according to the read first retry read voltage and the offset; Data in the solid state drive is read according to the second target offset voltage.

3. The method according to claim 2, characterized in that After reading the data in the solid state drive according to the second target offset voltage, the method further includes: In response to detecting a failure in reading data from the solid state drive, detecting whether the first fixed retry table is the last fixed retry table that matches the solid state drive; In response to detecting that the first fixed retry table is the last fixed retry table matched by the solid state drive, entering the next level of error correction; In response to detecting that the first fixed retry table is not the last fixed retry table matched by the solid state drive, updating the first retry read voltage according to a retry read voltage defined in a fixed retry table next to the first fixed retry table; determining a second target offset voltage according to the first retry read voltage and the offset; Data in the solid state drive is read according to the second target offset voltage.

4. The method according to claim 3, characterized in that When the data read operation is a non-data patrol read operation, after reading the data in the solid state drive according to the first target offset voltage or reading the data in the solid state drive according to the second target offset voltage, the method includes: Detecting whether there is feedback data for the data read operation; In response to not detecting the data, determining that the data read has failed; In response to detecting the presence of feedback data, determining that data reading is successful and obtaining the number of error bits in the feedback data; In response to detecting that the number of error bits in the feedback data is greater than or equal to a first threshold, generation of a forced garbage collection request is triggered.

5. The method according to claim 4, characterized in that When the data read operation is a data patrol read operation, in response to detecting the presence of feedback data, the method includes: comparing the number of error bits in the feedback data with the first threshold; In response to detecting that the number of error bits in the data is greater than or equal to a first threshold, determining that the data reading fails; In response to detecting that the number of error bits in the data is less than the first threshold, it is determined that the data reading is successful.

6. The method according to any one of claims 1 to 5, characterized in that: The method for generating the optimal offset voltage table includes: Design the read temperature test interval and the write temperature test interval, and combine them to generate the read and write temperature intervals; Selecting a test temperature interval in the read-write temperature interval, and using a non-volatile storage device test fixture to write data to a designated block at a write temperature included in the test read-write temperature interval; Reading data from a designated block at a read temperature included in the test temperature interval according to the candidate offset voltage to obtain feedback data; Determining, according to the number of error bits included in the feedback data, an optimal offset voltage of the designated block in the test temperature range from candidate offset voltages; The test temperature interval and the optimal offset voltage are recorded to generate an optimal offset voltage table.

7. The method according to claim 6, characterized in that Before recording the test temperature interval and the optimal offset voltage to generate an optimal offset voltage table, the method further includes verifying the optimal offset voltage matching the test temperature interval: Writing data to a data block included in the non-volatile storage device at a write temperature included in the test temperature range; At a read temperature included in the test temperature interval, using the optimal offset voltage to read data from a data block included in the non-volatile storage device; Counting the read and write success rates of the data blocks contained in the non-volatile storage device; In response to the read / write success rate being less than a second threshold, the optimal offset voltage matching the test temperature interval is verified to be passed; In response to the read / write success rate being greater than or equal to the second threshold, verification of the optimal offset voltage matching the test temperature interval fails.

8. A solid state hard disk data reading system, characterized in that: The system comprises: A preparation module, configured to obtain, in response to detecting a data write operation, a data write temperature of a working environment of the solid state drive when writing data; The preparation module is further configured to obtain, in response to detecting a data read operation, a data reading temperature of a working environment of the solid state drive when data is read; A processing module, configured to determine a first target offset voltage according to the data writing temperature, the data reading temperature and a preset optimal offset voltage table; A reading module is used to read data in the solid state drive according to the first target offset voltage.

9. An electronic device, characterized in that: The electronic device comprises: one or more processors; And a memory associated with the one or more processors, the memory is used to store program instructions, and when the program instructions are read and executed by the one or more processors, the method according to any one of claims 1-7 is executed.

10. A computer-readable storage medium, characterized in that: The computer program stores a computer program, wherein the computer program enables a computer to execute the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Data acceleration rereading method and storage equipment

    CN110390987A

  • Solid-state storage device and read retry method thereof

    CN110795270A

  • Solid state disk cross-temperature data reading method, storage medium and SSD equipment

    CN114067892A

  • Method and device for processing reading error of storage medium

    CN117095726A