A data reading method, device, equipment and medium
By creating a preset data table in the SSD to store the data retention time and read voltage of the Block, the problem of excessively long SSD read time is solved, and faster data read speed is achieved.
Patent Information
- Application Number
- CN202310232005.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-10
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2043-03-10
AI Technical Summary
In existing technologies, SSDs need to access DDR to confirm the data retention time and read voltage of a block when reading data, resulting in excessively long read times.
A preset data table is created in advance to store the data retention time and read voltage of all blocks according to the storage attributes of NAND in the SSD. When reading data, the corresponding data of the target block is directly searched from the preset data table, and its validity is determined before reading it using the target read voltage.
By directly looking up the data retention time and read voltage from the preset data table, the SSD data read time is significantly shortened.
Smart Images

Figure CN116225333B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data storage, in particular to a data reading method, device, equipment and medium. BACKGROUND
[0002] The storage unit of an SSD (Solid State Disk) is generally NAND (NAND Flash Memory). Due to the characteristics of NAND, the data storage capacity of NAND will decrease to a certain extent after a certain number of erasing and writing, so the data retention time of NAND becomes a very important parameter of the SSD. Because the data retention time corresponding to all Blocks in the NAND is usually stored in the DDR (Double Date Rate) of the SSD, the SSD needs to access the DDR to confirm the data retention time corresponding to each Block (data block) when performing each read operation, and the read voltage corresponding to the Block is obtained according to the data retention time of the Block to read data from the Block of the SSD. Obviously, because the SSD needs to access the DDR to perform the read operation when performing each read operation, the time required by the user to read data from the SSD is greatly prolonged. At present, there is no effective solution to this technical problem.
[0003] Therefore, how to further shorten the time required to read data from the SSD is a technical problem to be solved by those skilled in the art. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a data reading method, device, equipment and medium to further shorten the time required to read data from the SSD. The specific scheme is as follows:
[0005] In order to solve the technical defects in the prior art, the present application provides a data reading method, comprising:
[0006] When the storage data of a target Block on the SSD is to be read, the target data retention time and the target read voltage corresponding to the target Block are searched from a preset data table; wherein the preset data table is a table created in advance according to the storage properties of the NADN in the SSD, and the preset data table stores the data retention time and the read voltage corresponding to all Blocks in the SSD;
[0007] It is judged whether the target data retention time and the target read voltage are valid data;
[0008] If yes, the data stored in the target Block is read by using the target read voltage.
[0009] Preferably, the preset data table is stored in the RAM of the SSD.
[0010] Preferably, the process of creating the preset data table comprises:
[0011] According to the storage attribute of the NAND, the data storage time corresponding to all Blocks in the SSD is divided into different gears;
[0012] The data storage time corresponding to different gears is recorded, and the read voltage corresponding to the data storage time of different gears is set to obtain the preset data table.
[0013] Preferably, after the process of recording the data storage time corresponding to different gears and setting the read voltage corresponding to the data storage time of different gears to obtain the preset data table, the process further comprises:
[0014] If there is a Block with newly written data in the SSD, the data storage time and the read voltage corresponding to the Block with newly written data in the preset data table are updated.
[0015] Preferably, the process further comprises:
[0016] The data storage time and the read voltage corresponding to different gears in the preset data table are updated according to a preset time period.
[0017] Preferably, after the process of judging whether the target read voltage is valid data, the process further comprises:
[0018] If no, the data storage time and the read voltage corresponding to the target Block are searched from the DDR of the SSD to obtain screening data storage time and screening read voltage;
[0019] The data stored in the target Block is read by using the screening read voltage.
[0020] Preferably, after the process of reading the data stored in the target Block by using the screening read voltage, the process further comprises:
[0021] The data storage time and the read voltage corresponding to the target Block in the preset data table are updated by using the screening data storage time and the screening read voltage.
[0022] In order to solve the technical defects in the prior art, the application also provides a data reading device, comprising:
[0023] a data searching module, configured to search for target data storage time and target reading voltage corresponding to a target Block from a preset data table when storage data of the target Block on the SSD is to be read; wherein the preset data table is a table created in advance according to storage attributes of NADN in the SSD, and the preset data table stores data storage time and reading voltage corresponding to all Blocks in the SSD;
[0024] a data judging module, configured to judge whether the target data storage time and the target reading voltage are valid data;
[0025] a data reading module, configured to read data stored in the target Block by using the target reading voltage when the judgment result of the data judging module is yes.
[0026] In order to solve the technical defects in the prior art, the application further provides a data reading device, comprising:
[0027] a memory, configured to store a computer program;
[0028] a processor, configured to implement steps of a data reading method disclosed in the foregoing when the computer program is executed.
[0029] In order to solve the technical defects in the prior art, the application further provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement steps of a data reading method disclosed in the foregoing.
[0030] It can be seen that in the data reading method provided by the application, a preset data table is created in advance, wherein the preset data table is a table created according to the storage attribute of NAND in the SSD, and the data retention time and the read voltage corresponding to all Blocks in the SSD are stored in the preset data table. When the storage data of the target Block on the SSD is to be read, the target data retention time and the target read voltage corresponding to the target Block can be found from the preset data table; if the target data retention time and the target read voltage found from the preset data table are both valid values, the data stored in the target Block of the SSD can be directly read by using the target read voltage. Compared with the prior art, since the method does not need to find the data retention time and the read voltage corresponding to the target Block from the DDR of the SSD, but directly finds the target data retention time and the target read voltage from the preset data table to read the data stored in the target Block, the time required for reading data from the SSD can be greatly shortened by using the method. Correspondingly, the data reading device, equipment and medium provided by the application also have the above beneficial effects. BRIEF DESCRIPTION OF DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of the provided drawings.
[0032] Figure 1 A flow chart of a data reading method provided by an embodiment of the present application;
[0033] Figure 2 A structure diagram of a data reading device provided by an embodiment of the present application;
[0034] Figure 3 A structure diagram of a data reading device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0035] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0036] The core of the present application is to provide a data reading method, device, equipment and medium to further shorten the time required when reading data from the SSD. In order to enable those skilled in the art to better understand the technical solutions described in the present application, the technical solutions provided by the present application will be further described in detail below in conjunction with the drawings and specific embodiments.
[0037] Please refer to Figure 1 , Figure 1 A flowchart of a data reading method provided by an embodiment of the present application is shown in FIG. 1. The method comprises the following steps:
[0038] Step S11: When the storage data of a target Block on the SSD is to be read, the target data retention time and the target read voltage corresponding to the target Block are found from a preset data table. The preset data table is a table created in advance according to the storage properties of the NAND in the SSD, and the data retention time and the read voltage corresponding to all Blocks in the SSD are stored in the preset data table.
[0039] Step S12: It is determined whether the target data retention time and the target read voltage are valid data.
[0040] Step S13: If yes, the data stored in the target Block is read by using the target read voltage.
[0041] In the present embodiment, a data reading method is provided, which can greatly shorten the time required when reading data from the SSD. In the method, a preset data table is created in advance according to the storage properties of the NAND in the SSD, wherein the data retention time and the read voltage corresponding to all Blocks in the SSD are stored in the preset data table.
[0042] It can be understood that in actual application, because the data retention time and the read voltage corresponding to all Blocks in the SSD conform to certain variation rules, the preset data table storing the data retention time and the read voltage corresponding to all Blocks in the SSD can be created according to the property characteristics of the NAND in the SSD.
[0043] When the preset data table is created, when the storage data of the target Block on the SSD is to be read, the target data retention time and the target read voltage corresponding to the target Block can be found from the preset data table; wherein the target Block refers to any one Block in the SSD. After the target data retention time and the target read voltage corresponding to the target Block are found from the preset data table, it is determined whether the target data retention time and the target read voltage are valid data, and the purpose of this step is to determine whether the target data retention time and the target read voltage found from the preset data table are error data or missing data. If the target data retention time and the target read voltage found from the preset data table are all valid data, the data stored in the target Block of the SSD can be directly read by using the target read voltage.
[0044] Compared with the prior art, since the method does not need to find the data retention time and the read voltage corresponding to the target Block from the DDR of the SSD, but directly finds the target data retention time and the target read voltage from the preset data table to read the data stored in the target Block, the time required for reading data from the SSD can be greatly shortened by the method.
[0045] It can be seen that in the data reading method provided in the embodiment, a preset data table is created in advance, wherein the preset data table is a table created according to the storage properties of NAND in the SSD, and the preset data table stores the data retention time and the read voltage corresponding to all Blocks in the SSD. When the storage data of the target Block on the SSD is to be read, the target data retention time and the target read voltage corresponding to the target Block can be found from the preset data table; if the target data retention time and the target read voltage found from the preset data table are all valid values, the data stored in the target Block of the SSD can be directly read by using the target read voltage. Compared with the prior art, since the method does not need to find the data retention time and the read voltage corresponding to the target Block from the DDR of the SSD, but directly finds the target data retention time and the target read voltage from the preset data table to read the data stored in the target Block, the time required for reading data from the SSD can be greatly shortened by the method.
[0046] Based on the above embodiment, the technical solution is further described and optimized in the embodiment, and as a preferred embodiment, the preset data table is stored in the RAM of the SSD.
[0047] It can be understood that if the storage capacity of the SSD is 4T, there are 1600 blocks in the SSD, and each block occupies a storage space of 3 bits, so the storage space occupied by all the blocks in the SSD is 600 bits. Since the storage capacity of this data is small, in order to further improve the data read speed when reading data from the SSD, the preset data table can also be directly stored in the RAM (Random Access Memory) of the SSD.
[0048] Because the data access speed of the RAM is faster than that of other memories in the SSD, in actual application, the preset data table can be directly obtained from the RAM of the SSD, and the target data retention time and the target read voltage corresponding to the target block can be searched from the preset data table, so that the cumbersome step of calling the preset data table from a remote place can be avoided.
[0049] Obviously, by the technical solution provided in this embodiment, the time required for reading data from the SSD can be further shortened.
[0050] Based on the above embodiment, the technical solution is further described and optimized in this embodiment. As a preferred embodiment, the creation process of the preset data table includes:
[0051] According to the storage attribute of the NAND, the data retention time corresponding to all the blocks in the SSD is divided into different gears;
[0052] The data retention time corresponding to different gears is recorded, and the read voltage corresponding to the data retention time of different gears is set to obtain the preset data table.
[0053] In this embodiment, the process of creating the preset data table is specifically described. It can be understood that because the data retention time and the read voltage corresponding to all the blocks in the SSD comply with a certain change rule, in general, the data retention time of all the blocks in the SSD increases by 18*24+12 hours, and the read voltage corresponding to all the blocks in the SSD changes once, so in this embodiment, the data retention time corresponding to all the blocks in the SSD can be divided into different gears by using the attribute characteristics of the NAND in the SSD, and the data retention time corresponding to different gears is recorded, and then the read voltage corresponding to the data retention time of different gears is set. At this time, by recording the data retention time and the read voltage corresponding to all the blocks in the SSD in different gears, the preset data table can be obtained.
[0054] Suppose the longest data storage time of the NAND in the SSD corresponding to the standard working temperature is 90 days, the data storage time of all the Blocks in the SSD can be evenly divided into 5 grades according to the attribute characteristics of the NAND in the SSD, and the read voltage corresponding to the data storage time in each grade is set to obtain the preset data table.
[0055] It can be understood that in actual application, the data storage time corresponding to each Block has a certain fault tolerance time, so in the embodiment, the preset data table can also be created in combination with the attribute characteristics of the NAND in the SSD. Specifically, suppose the fault tolerance time of the data storage time of the Block in the SSD is 12 hours, if the data storage time of the Block in the SSD is in the numerical range of 0-18*24*1+12 hours, the Block with the data storage time in the numerical range can be divided into the first grade, and the read voltage corresponding to the Block in the first grade is set to A; if the data storage time of the Block in the SSD is in the numerical range of 18*24*1+12-18*24*2+12 hours, the Block with the data storage time in the numerical range can be divided into the second grade, and the read voltage corresponding to the Block in the second grade is set to B; if the data storage time of the Block in the SSD is in the numerical range of 18*24*2+12-18*24*3+12 hours, the Block with the data storage time in the numerical range can be divided into the third grade, and the read voltage corresponding to the Block in the third grade is set to C; if the data storage time of the Block in the SSD is in the numerical range of 18*24*3+12-18*24*4+12 hours, the Block with the data storage time in the numerical range can be divided into the fourth grade, and the read voltage corresponding to the Block in the fourth grade is set to D; if the data storage time of the Block in the SSD is in the numerical range of 18*24*4+12-18*24*5+12 hours, the Block with the data storage time in the numerical range can be divided into the fifth grade, and the read voltage corresponding to the Block in the fifth grade is set to E. Obviously, the preset data table can be obtained by this method.
[0056] As a preferred embodiment, the above-mentioned step of recording the data storage time corresponding to different grades and setting the read voltage corresponding to the data storage time in different grades to obtain the preset data table further comprises:
[0057] If the Block with newly written data exists in the SSD, the data retention time and the read voltage corresponding to the Block with newly written data in the preset data table are updated.
[0058] After the preset data table is created, if the Block with newly written data exists in the SSD, it indicates that the data stored in the Block with newly written data has changed. In this case, in order to ensure the accuracy of the data stored in the preset data table, the data retention time and the read voltage corresponding to the Block with newly written data in the preset data table also need to be updated.
[0059] As a preferred embodiment, the data reading method further comprises:
[0060] The data retention time and the read voltage under different gears in the preset data table are updated according to a preset time period.
[0061] According to the attribute characteristics of the NAND in the SSD, when the data retention time of the Block in the SSD increases to a certain extent, the read voltage corresponding to the Block in the SSD will also change. Therefore, in this embodiment, in order to ensure the accuracy and reliability of the data stored in the preset data table, the data retention time and the read voltage under different gears in the preset data table also need to be updated according to a preset time period.
[0062] Here, the fault tolerance time of the data retention time corresponding to the Block in the SSD is taken as 12 hours for specific description. If the fault tolerance time of the data retention time corresponding to the Block in the SSD is 12 hours, then in actual application, the data retention time and the read voltage under different gears in the preset data table can be updated according to a period of 12 hours.
[0063] It should be noted that because the data retention time corresponding to the Block in the SSD is not the same at different working temperatures, when the preset time period is set in actual application, the preset time period also needs to be set at the standard working temperature of the SSD. In other words, if the actual working temperature of the SSD is inconsistent with the standard working temperature of the SSD, the data retention time corresponding to the Block in the SSD at the actual working temperature needs to be adjusted according to the standard working temperature of the SSD, and the preset time period is adaptively extended or shortened according to the corresponding adjustment result, which is not described in detail here.
[0064] Obviously, through the technical solution provided in this embodiment, not only the convenience in creating the preset data table can be further improved, but also the accuracy and reliability of the data stored in the preset data table can be ensured.
[0065] Based on the above embodiment, the technical solution is further described and optimized. As a preferred embodiment, after the step of determining whether the target read voltage is valid data, the process further includes:
[0066] If not, the data retention time and read voltage corresponding to the target block are searched from the DDR of the SSD to obtain the screening data retention time and screening read voltage.
[0067] The data stored in the target block is read by using the screening read voltage.
[0068] In this embodiment, if the target data retention time and target read voltage corresponding to the target block are invalid data searched from the preset data table, the data stored in the target block in the SSD cannot be read according to the read voltage searched from the preset data table. In this case, in order to read the data stored in the target block in the SSD, the data retention time and read voltage corresponding to the target block need to be searched from the DDR of the SSD to obtain the screening data retention time and screening read voltage.
[0069] When the screening data retention time and screening read voltage corresponding to the target block are searched from the DDR, the data stored in the target block in the SSD can be read by using the screening read voltage. Obviously, the technical solution provided by this embodiment can further ensure the integrity of the technical solution provided by the present application.
[0070] As a preferred embodiment, after the step of reading the data stored in the target block by using the screening read voltage, the process further includes:
[0071] The data retention time and read voltage corresponding to the target block in the preset data table are updated by using the screening data retention time and screening read voltage.
[0072] After the screening data retention time and screening read voltage corresponding to the target block are searched from the DDR of the SSD, in order to ensure the accuracy and integrity of the data stored in the preset data table, the data retention time and read voltage corresponding to the target block in the preset data table can be updated by using the screening data retention time and screening read voltage. It can be conceived that by this method, the user can search for the valid data retention time and valid read voltage corresponding to the target block from the preset data table in the subsequent process.
[0073] Obviously, the technical solution provided by this embodiment can ensure the validity and accuracy of the data stored in the preset data table.
[0074] In the above embodiment, a data reading method is described in detail, and the application also provides an embodiment corresponding to a data reading device. It should be noted that the embodiment of the device part is described from two angles, one is based on the functional module angle, and the other is based on the hardware angle.
[0075] Please refer to Figure 2 , Figure 2 The structure diagram of a data reading device provided by the embodiment of the application, the device comprises:
[0076] The data searching module 21 is used for searching the target data storage time and the target reading voltage corresponding to the target Block from the preset data table when the storage data of the target Block on the SSD is to be read; wherein, the preset data table is a table created in advance according to the storage attribute of the NADN in the SSD, and the data storage time and the reading voltage corresponding to all Blocks in the SSD are stored in the preset data table;
[0077] The data judging module 22 is used for judging whether the target data storage time and the target reading voltage are valid data or not;
[0078] The data reading module 23 is used for reading the data stored in the target Block by using the target reading voltage when the judging result of the data judging module is yes.
[0079] Preferably, the data searching module 21 comprises:
[0080] The gear dividing unit is used for dividing the data storage time corresponding to all Blocks in the SSD into different gears according to the storage attribute of the NAND;
[0081] The data table creating unit is used for recording the data storage time corresponding to different gears, and setting the corresponding reading voltage for the data storage time under different gears, so as to obtain the preset data table.
[0082] Preferably, it further comprises:
[0083] The first updating unit is used for updating the data storage time and the reading voltage corresponding to the Block with newly written data in the preset data table when there is a Block with newly written data in the SSD after the process of recording the data storage time corresponding to different gears and setting the corresponding reading voltage for the data storage time under different gears to obtain the preset data table.
[0084] Preferably, it further comprises:
[0085] A second updating unit is configured to update the data retention time and the read voltage corresponding to different gears in the preset data table according to a preset time period.
[0086] Preferably, the method further comprises:
[0087] A DDR reading module is configured to, when the determination result of the data determining module 22 is no, search for the data retention time and the read voltage corresponding to the target Block from the DDR of the SSD to obtain a screening data retention time and a screening read voltage.
[0088] A data obtaining module is configured to read the data stored in the target Block by using the screening read voltage.
[0089] Preferably, the method further comprises:
[0090] A data updating module is configured to, after the process of reading the data stored in the target Block by using the screening read voltage, update the data retention time and the read voltage corresponding to the target Block in the preset data table by using the screening data retention time and the screening read voltage.
[0091] The data reading device provided by the embodiment of the application has the beneficial effects of the data reading method disclosed above.
[0092] Please refer to Figure 3 , Figure 3 The structure diagram of the data reading device provided by the embodiment of the application is shown in the figure, and the device comprises:
[0093] A memory 31 is configured to store a computer program.
[0094] A processor 32 is configured to, when the computer program is executed, realize the steps of the data reading method disclosed above.
[0095] The data reading device provided by the embodiment of the application can include but is not limited to a tablet computer, a notebook computer, a desktop computer, etc.
[0096] The processor 32 can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 32 can be implemented in at least one of a hardware form of a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic array (PLA), and the like. The processor 32 can also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also referred to as a central processing unit (CPU). The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 32 can be integrated with an image processor for rendering and drawing of content to be displayed by a display screen. In some embodiments, the processor 32 can be integrated with a graphics processing unit (GPU) for rendering and drawing of content to be displayed by a display screen. In some embodiments, the processor 32 can further include an artificial intelligence (AI) processor for processing machine learning-related computing operations.
[0097] The memory 31 can include one or more computer-readable storage media that can be non-transitory. The memory 31 can also include a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash storage devices. In this embodiment, the memory 31 is at least used to store the following computer program 301, wherein the computer program is loaded and executed by the processor 32, and can implement the related steps of the data reading method disclosed in any of the preceding embodiments. In addition, the resources stored by the memory 31 can also include an operating system 302 and data 303, and the storage mode can be temporary storage or permanent storage. The operating system 302 can include Windows, Unix, Linux, and the like. The data 303 can include, but is not limited to, data related to the data reading method, and the like.
[0098] In some embodiments, the data reading device can further include a display screen 33, an input / output interface 34, a communication interface 35, a power supply 36, and a communication bus 37.
[0099] Those skilled in the art can understand that the structure shown in the above embodiments does not constitute a limitation on the data reading device, and can include more or fewer components than those shown in the drawings. Figure 3 The structure shown in the above embodiments does not constitute a limitation on the data reading device, and can include more or fewer components than those shown in the drawings.
[0100] The processor 32 implements the data reading method provided by any of the above embodiments by calling instructions stored in the memory 31.
[0101] The data reading device provided by the embodiment of the present application has the beneficial effects of the data reading method disclosed above.
[0102] Correspondingly, the embodiment of the present application further discloses a computer readable storage medium, and the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the data reading method disclosed above.
[0103] It can be understood that if the method in the above embodiments is implemented in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and executes all or part of the steps of the method described in each embodiment of the present application. The storage medium mentioned above includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and various media that can store program codes.
[0104] Since the embodiment of the computer readable storage medium part corresponds to the embodiment of the data reading method part, the computer readable storage medium can refer to the related description of the embodiment of the data reading method part, which is not described here.
[0105] The computer readable storage medium provided by the embodiment of the present application has the beneficial effects of the data reading method disclosed above.
[0106] In the specification, each embodiment is described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same or similar parts of each embodiment can be referred to each other. For the device disclosed by the embodiment, since it corresponds to the method disclosed by the embodiment, the description is relatively simple, and the related parts can be referred to the method part. It should be pointed out that for ordinary skilled in the art, without departing from the principles of the present application, the present application can be improved and modified, and these improvements and modifications also fall within the protection scope of the claims of the present application.
[0107] Finally, it needs to be pointed out that in this document, relational terms such as first and second and the like can only be intended to distinguish one entity or operation from another entity or operation without necessarily requiring or implying any such actual relationship or order between such entities or operations. Moreover, the terms "comprising", "including", or any other variant thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without more limitations, an element defined by the statement "comprising a" does not exclude the existence of additional identical elements in the process, method, article, or apparatus including the stated element.
[0108] The above describes in detail the data reading method, device, equipment and medium provided by the present application. The principles and implementation manners of the present application are described by applying specific examples. The above description of the embodiments is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges can be changed. In summary, the content of the specification should not be understood as a limitation of the present application.
Claims
1. A data reading method characterized by, include: When reading the stored data of a target block on the SSD, the target data retention time and target read voltage corresponding to the target block are looked up from a preset data table. The preset data table is a table created in advance based on the storage attributes of the NAND flash memory within the SSD, and it stores the data retention time and read voltage corresponding to all blocks in the SSD. The storage attributes include the variation patterns of the data retention time and the read voltage. Determine whether both the target data storage time and the target read voltage are valid data; If so, the data stored in the target block is read using the target read voltage; The process of creating the preset data table includes: The data retention time corresponding to all blocks in the SSD is divided into different levels according to the storage attributes of the NAND; the storage attributes also include the fault tolerance time corresponding to the data retention time of each block; Record the data retention time corresponding to different gear levels, and set the corresponding reading voltage for the data retention time under different gear levels to obtain the preset data table.
2. The data reading method according to claim 1, characterized by, The preset data table is stored in the RAM of the SSD.
3. The data reading method according to claim 1, wherein, After recording the data retention time corresponding to different gear levels and setting corresponding reading voltages for the data retention time at different gear levels to obtain the preset data table, the process further includes: If a block containing newly written data exists in the SSD, the data retention time and read voltage corresponding to the newly written data block in the preset data table are updated.
4. The data reading method according to claim 1, characterized by, Also includes: The data retention time and read voltage at different levels in the preset data table are updated according to a preset time period.
5. The data reading method according to any one of claims 1 to 4, characterized by, After determining whether the target read voltage is valid data, the process further includes: If not, then find the data retention time and read voltage corresponding to the target block from the SSD's DDR to obtain the filtered data retention time and filtered read voltage; The data stored in the target block is read using the filtering and reading voltage.
6. The data reading method according to claim 5, wherein, After the process of reading the data stored in the target block using the filtering read voltage, the method further includes: The data storage time and reading voltage corresponding to the target block in the preset data table are updated using the filtered data storage time and the filtered reading voltage.
7. A data reading device, characterized by include: The data lookup module is used to look up the target data retention time and target read voltage corresponding to the target block from a preset data table when it is necessary to read the stored data of the target block on the SSD. The preset data table is a table created in advance based on the storage attributes of the NAND flash memory within the SSD, and stores the data retention time and read voltage corresponding to all blocks in the SSD. The storage attributes include the variation patterns of the data retention time and the read voltage. The data judgment module is used to determine whether the target data storage time and the target reading voltage are both valid data; The data reading module is used to read the data stored in the target block using the target reading voltage when the judgment result of the data judgment module is yes. The process of creating the preset data table includes: The data retention time corresponding to all blocks in the SSD is divided into different levels according to the storage attributes of the NAND; the storage attributes also include the fault tolerance time corresponding to the data retention time of each block; Record the data retention time corresponding to different gear levels, and set the corresponding reading voltage for the data retention time under different gear levels to obtain the preset data table.
8. A data reading device, characterized by, include: Memory, used to store computer programs; A processor, configured to implement the steps of a data reading method as described in any one of claims 1 to 6 when executing the computer program.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of a data reading method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Solid state disk access method, device, equipment and medium
CN111880736A