First reading optimization method, three-dimensional storage device and electronic equipment
By using the first read optimization method in the three-dimensional storage device, the second reading instruction is generated for pre-reading, which solves the problem of slow reading time or inability to read during the first read of the three-dimensional storage device, and reduces the temporary failure bit count (FBC) and improves the reading efficiency.
Patent Information
- Application Number
- CN202411693097.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-04-01
AI Technical Summary
During the first reading, the 3D storage device has a transient instability in the unit's read voltage, resulting in slower reading time or unreadable, and the temporary failure bit count (FBC) increases.
By adopting the first read optimization method, by receiving the first read instruction sent by the main control unit, it is determined whether it is the first read instruction. If so, a second read instruction is generated for pre-reading, and the read-pre-reading data is stored only in the register, and then the first read instruction is executed for actual reading.
The temporary failure bit count (FBC) of the three-dimensional storage device when executing the first read instruction is reduced, the data reading time is reduced, and the accuracy of reading data is improved.
Smart Images

Figure CN119739328A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of three-dimensional storage technology, and in particular to a first read optimization method, a three-dimensional storage device, and an electronic device. Background Art
[0002] When performing the first read operation after a long idle period, the cell read voltage of the 3D memory device is transiently unstable, resulting in an increase in the temporary fail bit count (FBC).
[0003] As a result, the three-dimensional storage device has a slow reading time when reading for the first time, or even cannot read data. Summary of the invention
[0004] The purpose of the present application is to provide a first reading optimization method, a three-dimensional storage device, and an electronic device to reduce data reading time and improve the accuracy of read data.
[0005] The present application discloses a first read optimization method, which is applied to a three-dimensional storage device, wherein the three-dimensional storage device is connected to a host device, and the steps of the method include:
[0006] receiving a first read instruction sent by the main control unit, and determining whether the first read instruction is a first read instruction;
[0007] When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block;
[0008] Executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0009] The first read instruction is executed to actually read the target data block, and the read target data is transmitted to the host device through the main control unit.
[0010] Optionally, when the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating the second read instruction according to the location information of the target data block includes:
[0011] The location information of the target data block includes the label of the target data block and the first page position of the target data block required to be read by the first read instruction, and the first page position of the target data block and the preset pre-read page number are obtained;
[0012] Adding the first page position to the preset number of pre-read pages to obtain the end page;
[0013] Generate the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page;
[0014] Each of the target data blocks corresponds to a respective preset number of pre-read pages.
[0015] Optionally, when the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating the second read instruction according to the location information of the target data block includes:
[0016] The location information of the target data block includes the label of the target data block and the first page position of the target data block required to be read by the first read instruction, and the first page position of the target data block and the preset pre-read page number are obtained;
[0017] Adding the first page position to the preset number of pre-read pages to obtain the end page;
[0018] Generate the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page;
[0019] Each of the target data blocks corresponds to the same preset number of pre-read pages.
[0020] Optionally, the preset number of pre-read pages is an average or median number of pages required to be pre-read in each target data block in the three-dimensional storage device.
[0021] Optional, including:
[0022] Obtaining the number of pre-read pages, pre-read time and error correction time of the target data block;
[0023] Constructing a first curve according to the pre-reading time and the pre-reading page number;
[0024] Constructing a second curve according to the error correction time and the number of pre-read pages;
[0025] The number of pre-read pages at the intersection of the first curve and the second curve is determined as the preset number of pre-read pages of the target data block.
[0026] Optionally, the step of generating the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page, comprises:
[0027] Detecting the condition parameters of the target data block, and obtaining the number of compensated read pages corresponding to the target data block under the current condition parameters according to the condition parameters of the target data block;
[0028] Add the end page to the number of pages read to obtain the end page after compensation;
[0029] Generate a second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the last page after the compensation;
[0030] Each of the target data blocks compensates for a different number of read pages under different condition parameters.
[0031] Optionally, after receiving a first read instruction sent by the main control unit and determining whether the first read instruction is a first read instruction, the step further includes:
[0032] When the first read instruction is not the first read / write instruction, the first read instruction is executed, and the read target data is transmitted to the host device through the main control unit.
[0033] Optionally, the preset number of pre-read pages ranges from 250 to 350 pages.
[0034] The present application also discloses a three-dimensional storage device, which includes:
[0035] A NAND flash memory unit, wherein the NAND flash memory unit is used to store data;
[0036] A main control unit, the main control unit is connected to the NAND flash memory unit, and the main control unit is used to control the NAND flash memory unit to perform read and write operations;
[0037] An execution control unit, the execution control unit is connected between the main control unit and the NAND flash memory unit, and the execution control unit is used to execute the first read optimization method described above, the method comprising:
[0038] receiving a first read instruction sent by the main control unit, and determining whether the first read instruction is a first read instruction;
[0039] When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block;
[0040] Executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0041] The first read instruction is executed to actually read the target data block, and the read target data is transmitted to the host device through the main control unit.
[0042] The present application also discloses an electronic device, the electronic device comprising:
[0043] at least one processor; and,
[0044] a memory communicatively connected to the at least one processor; wherein,
[0045] The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform a first read optimization method.
[0046] Compared with the existing reading method of the three-dimensional storage device, the present application executes the second read instruction after judging the first read instruction as the first read instruction, and the second read instruction does not need to transmit the read information to the main control unit, so the second read instruction will not correct the data when it is executed, and when the first read instruction is executed after the second read instruction is executed, the first read instruction executed at this time is no longer the first read instruction, so that the temporary fail bit count (FBC) generated by the three-dimensional storage device when executing the first read instruction can be reduced, thereby reducing the data reading time and improving the accuracy of the read data. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The included drawings are used to provide a further understanding of the embodiments of the present application, which constitute a part of the specification, are used to illustrate the implementation methods of the present application, and together with the text description, explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0048] Figure 1 is a schematic diagram of a first read optimization method of the first embodiment of the present application;
[0049] Figure 2 It is a schematic diagram of a method for setting a read page range by a second read instruction in the first embodiment of the present application;
[0050] Figure 3 is a schematic diagram of a first read optimization method of the second embodiment of the present application;
[0051] Figure 4 is a schematic diagram of a first read optimization method of the second embodiment of the present application;
[0052] Figure 5 is a schematic diagram of a three-dimensional storage device according to an embodiment of the present application;
[0053] Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application.
[0054] Among them, 10, electronic device; 11, memory; 12, processor; 13, display; 14, network interface; 20, three-dimensional storage device; 30, main control unit; 40, NAND flash memory unit; 41, data block; 42, register; 50, execution control unit; 51, detection and judgment module; 52, instruction sending module. DETAILED DESCRIPTION
[0055] It should be understood that the terms used herein, the specific structures and functional details disclosed are only for describing specific embodiments and are representative, but the present application can be implemented in many alternative forms and should not be construed as being limited to only the embodiments described herein.
[0056] In the description of this application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating relative importance or implicitly indicating the number of technical features indicated. Therefore, unless otherwise specified, features defined as "first" and "second" may explicitly or implicitly include one or more of the features; "plurality" means two or more. The term "including" and any variation thereof means non-exclusive inclusion, and one or more other features, integers, steps, operations, units, components and / or combinations thereof may exist or be added.
[0057] In addition, terms indicating orientation or positional relationships, such as “center,” “lateral,” “up,” “down,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inside,” and “outside,” are described based on the orientation or relative positional relationships shown in the accompanying drawings and are merely simplified descriptions for the convenience of describing the present application. They do not indicate that the devices or elements referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as limitations on the present application.
[0058] In addition, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be internally connected between two components. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.
[0059] The present application is described in detail below with reference to the accompanying drawings and optional embodiments.
[0060] Embodiment 1:
[0061] Figure 1 is a schematic diagram of a first read optimization method of the first embodiment of the present application, such as Figure 1 As shown, the present application discloses a first read optimization method, which is applied to a three-dimensional storage device 10, wherein the three-dimensional storage device 10 is connected to a host device, and the method includes:
[0062] S1: receiving a first read instruction sent by a main control unit, and determining whether the first read instruction is a first read instruction;
[0063] Exemplarily, whether the first read instruction is the first read instruction can be determined by setting up a judgment detection module, in which a timer and a temperature sensor are set. The timer can be used to detect the interval time between the first read instruction and the last read instruction, and the temperature sensor can be used to determine the current ambient temperature.
[0064] Exemplarily, if the interval time exceeds 24 hours at normal temperature, it is judged as the first reading; if it does not exceed 24 hours, it is judged as not the first reading, and normal temperature includes 20-50 degrees Celsius; if it exceeds 1 hour at high temperature, it is judged as the first reading; if it does not exceed 1 hour, it is judged as not the first reading, and high temperature includes above 100 degrees Celsius.
[0065] S210: When the first read instruction is a first read instruction, extract the location information of the target data block in the first read instruction, and generate a second read instruction according to the location information of the target data block;
[0066] The three-dimensional storage device 20 may include multiple NAND flash memory units 40 , each of which includes multiple data blocks 41 . The data block 41 in which the information to be read in the first read instruction is located is the target data block 41 .
[0067] When it is determined that the first read instruction is the first read instruction, it is necessary to obtain information in the first read instruction, which includes the label of the target data block 41 that the first read instruction needs to read, that is, the target data block 41, and the target data block 41 also includes information about which NAND flash memory unit 40 the data block 41 is, and the page from which the data to be read starts in the target data block 41, for example, page 200 of data block No. 3 of NAND flash memory unit No. 5.
[0068] Exemplarily, when the first read instruction only reads pages 300-1000 of the first data block 41 of the 5th NAND flash memory unit 40, the information of the target data block 41 is [(5, 1, 300)]; when the first read instruction reads pages 300-1000 of the first data block 41 of the 5th NAND flash memory unit 40, pages 500-1000 of the second data block 41 of the 5th NAND flash memory unit 40, and pages 600-1000 of the third data block 41 of the 5th NAND flash memory unit 40, the information obtained is [(5, 1, 300), (5, 1, 500), (5, 1, 600)].
[0069] S3: executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0070] When the read instruction is to transfer the read data to register 42, it does not need to be transmitted to the main control unit 30. At this time, the data will be read from the target data block 41 to the register 42, and will not be transmitted to the main control unit 30, so that the data error correction step will not be triggered when executing the second read instruction.
[0071] A data block 41 includes multiple data pages, wherein the second read instruction can read all the data pages in the target data block 41, and can also read part of the data pages in the second read instruction.
[0072] S4: Execute the first read instruction to actually read the target data block, and transmit the read target data to the host device through the main control unit.
[0073] After the second read instruction is executed, the first read instruction is executed to perform an actual read operation, thereby transmitting the read target data to the host device.
[0074] Compared with the existing reading method of the three-dimensional storage device, the present application executes the second read instruction after judging the first read instruction as the first read instruction, and the second read instruction does not need to transmit the read information to the main control unit 30, so the second read instruction will not correct the data when it is executed, and when the first read instruction is executed after the second read instruction is executed, the first read instruction executed at this time is no longer the first read instruction, so that the temporary fail bit count (FBC) generated by the three-dimensional storage device 20 when executing the first read instruction can be reduced, thereby reducing the data reading time and improving the accuracy of the read data.
[0075] S1: receiving a first read instruction sent by a main control unit, and determining whether the first read instruction is a first read instruction, and then further comprising:
[0076] S220: When the first read instruction is not the first read / write instruction, the first read instruction is executed, and the read target data is transmitted to the host device through the main control unit.
[0077] In simple terms, when it is determined that the first read instruction is not the first read instruction, there is no need to execute the operation of step S3, and the read operation is directly performed according to the first read instruction.
[0078] like Figure 2 As shown, in order to further improve the data reading speed, the present application does not read all the data pages in the target data block 41 when executing the second read instruction operation, but performs a pre-read operation on some data pages.
[0079] S210: When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block includes:
[0080] S2111: The location information of the target data block includes the label of the target data block and the first page location of the target data block required to be read by the first read instruction, and the first page location of the target data block and a preset pre-read page number are obtained;
[0081] The preset number of pre-read pages of the data block 41 may be pre-stored in a memory table, or a separate storage unit may be provided to store the preset number of pre-read pages of the data block 41 .
[0082] The preset number of pre-read pages of the data block 41 can be obtained through experiments. For example, the first step is to first erase the entire NAND flash memory unit 40; the second step is to store it at a high temperature of 125°C for 3 hours to simulate the scenario of long-term placement at high temperature; the third step is to place it at room temperature for 1 hour; the fourth step is to perform a read operation from the first page to the last page of each data block 41, and draw a relationship curve between the number of data pages and FBC of the first read operation; the fifth step is to perform a read operation from the first page to the last page of each data block, and draw a relationship curve between the number of data pages and FBC of the second read operation; from the two relationship curves, the page number range in which the temporary failure bit count (FBC) of each data block 41 appears more can be obtained.
[0083] S2112: Add the first page position and the preset number of pre-read pages to obtain the end page;
[0084] S2113: Generate the second read instruction, where the second read instruction reads the target data block in a range from the first page to the end page;
[0085] Each of the target data blocks 41 corresponds to a respective preset number of pre-read pages, that is, different target data blocks 41 correspond to their own preset number of pre-read pages.
[0086] For example, when the first read instruction needs to read pages 300-1500 of the first data block 41, the preset pre-read page number corresponding to the first data block 41 stored in the memory table is 300 pages, then the second read instruction directly reads the data of pages 300-600 of the first data block 41, and this part of the data does not need to be transmitted to the main control unit 30.
[0087] Since the preset pre-read page number corresponding to each data block 41 stored in the memory table is written into the product before it leaves the factory and is also fixed, as the usage scenario changes, the preset pre-read page number corresponding to each data block 41 stored in the memory table may not be applicable and cannot be sent in some extreme cases, resulting in the situation that the data reading speed cannot be improved even if the second read instruction is executed before the first read instruction is executed.
[0088] Therefore, the present application also adds a detection step of conditional parameters, which is as follows:
[0089] S2113: generating the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page, comprising:
[0090] S21131: Detecting the condition parameters of the target data block, and obtaining the corresponding number of compensated read pages of the target data block under the current condition parameters according to the condition parameters of the target data block;
[0091] S21132: Add the end page to the number of pages read to compensate, to obtain the end page after compensation;
[0092] The conditional parameters may include the interval between the first read instruction and the last read instruction, and the ambient temperature. Because different ambient temperatures may cause the temporary failure bit count (FBC) of the same data block 41 to have a different page number range, and different intervals may also cause the temporary failure bit count (FBC) of the same data block 41 to have a different page number range. Therefore, setting a fixed preset pre-read page number cannot meet the needs of the data block 41 that has not been read for a long time.
[0093] The number of pages to be read for compensation may also be pre-stored in a memory table, or a separate storage unit may be provided to store the number of pages to be read for compensation of the target data block 41 under different condition parameters.
[0094] S21133: Generate a second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the last page after the compensation;
[0095] Each of the target data blocks 41 compensates for different numbers of read pages under different condition parameters.
[0096] Exemplarily, the memory table stores that the first data block 41 in a high temperature environment, such as 125 degrees Celsius, has a read page number of 0 in an interval of 0-1 hours; and has a read page number of 250 in an interval of 1-2 hours; when the first read instruction needs to read 300-1500 pages of the first data block 41, the preset pre-read page number corresponding to the first data block 41 stored in the memory table is 300 pages, and the condition parameter of the target data block 41 to be read in the first read instruction is a high temperature environment and within an interval of 2 hours, then the second read instruction is sent, and the second read instruction pre-reads the target data block 41 in a range of 300-850 pages of data, and this part of the data does not need to be transmitted to the main control unit 30. This ensures that data can be quickly read even if it is left for a long time.
[0097] Exemplarily, the memory table stores the first data block 41 at room temperature, such as 20-50 degrees Celsius, and the number of pages to be read is 0 within the interval time of 0-24 hours; the number of pages to be read is 250 within the interval time of more than 24 hours; when the first read instruction needs to read 300-1500 pages of the first data block 41, the preset number of pre-read pages corresponding to the first data block 41 stored in the memory table is 300 pages, and the condition parameters of the target data block 41 to be read in the first read instruction are the room temperature environment and the interval is more than 24 hours, then the second read instruction is sent, and the second read instruction pre-reads the target data block 41 in the range of 300-850 pages of data, and this part of the data does not need to be transmitted to the main control unit 30. This ensures that data can be quickly read even if it is left for a long time.
[0098] Embodiment 2:
[0099] Figure 3 is a schematic diagram of a first read optimization method of the second embodiment of the present application, such as Figure 3 As shown, different from the first embodiment, this embodiment adopts a uniform preset number of pre-read pages for each data block 41, specifically:
[0100] S210: When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block includes:
[0101] S2121: The location information of the target data block includes the label of the target data block and the first page location of the target data block required to be read by the first read instruction, and the first page location of the target data block and a preset pre-read page number are obtained;
[0102] S2122: Add the first page position and the preset number of pre-read pages to obtain the end page;
[0103] S2123: Generate the second read instruction, where the second read instruction reads the target data block in a range from the first page to the end page;
[0104] Each of the target data blocks 41 corresponds to the same preset number of pre-read pages.
[0105] The preset number of pre-read pages in the present embodiment can be obtained by firstly performing experiments to obtain the original number of pre-read pages of each data block 41, and then obtaining the preset number of pre-read pages set in the present embodiment by calculating the average or the median. That is, the preset number of pre-read pages in the present embodiment is the average or the median of the number of pages required to be pre-read in each of the data blocks 41 in the three-dimensional storage device 20.
[0106] By adopting the solution of calculating the average, the preset number of pre-read pages can handle most of the data blocks 41, and the time for executing the second instruction is shorter.
[0107] Compared with the solution of determining the uniform preset number of pre-read pages by calculating the average, the method of determining the uniform preset number of pre-read pages by calculating the median will not cause the extreme phenomenon that the data block 41 needs to be corrected for a long time. In general, when the temporary failure bit count (FBC) of each data block 41 has a large number of pages with a relatively scattered distribution, the method of determining the uniform preset number of pre-read pages by calculating the median can better prevent the occurrence of extreme phenomena.
[0108] Compared with the solution of the first embodiment in which each data block 41 corresponds to a preset number of pre-read pages, the solution of this embodiment has a smaller amount of calculation when reading data and a simpler algorithm.
[0109] Furthermore, each data block 41 of the present embodiment adopts a uniform preset number of pre-read pages, and the reading range of the second reading instruction can be changed according to different condition parameters.
[0110] S2123: generating the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page, comprising:
[0111] S21231: Detecting the condition parameters of the target data block, and obtaining the corresponding number of compensated read pages of the target data block under the current condition parameters according to the condition parameters of the target data block;
[0112] S21233: Add the end page to the number of pages read to compensate, to obtain the end page after compensation;
[0113] S21233: Generate a second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the last page after the compensation;
[0114] Wherein, each target data block 41 has different numbers of compensated read pages under different condition parameters. Compared with the solution of the first embodiment, since each data block 41 of this embodiment corresponds to a preset number of pre-read pages, it is only necessary to store the numbers of compensated read pages under different condition parameters in the memory table, and it is not necessary to store them for each data block 41, but only to store a unified number.
[0115] Embodiment 3:
[0116] Figure 4 is a schematic diagram of a first read optimization method of the second embodiment of the present application, such as Figure 4 As shown, the horizontal axis represents the number of pages, and the vertical axis represents the time. Different from the second embodiment, the method of determining the unified preset number of pre-read pages in this embodiment is different. This embodiment draws a first curve M1 formed by the pre-reading time and the number of pre-read pages of the data block 41, and a second curve M2 formed by the error correction time and the number of pre-read pages, and sets the number of pages at the intersection of the first curve M1 and the second curve M2 as the preset number of pre-read pages. Specifically:
[0117] Step 1: Obtain the number of pre-read pages, pre-read time and error correction time of the target data block;
[0118] Step 2: construct a first curve according to the pre-reading time and the pre-reading page number;
[0119] Step 3: construct a second curve according to the error correction time and the number of pre-read pages;
[0120] Step 4: Determine the number of pre-read pages at the intersection of the first curve and the second curve as the preset number of pre-read pages of the target data block.
[0121] Compared with the solution of the second embodiment, the preset number of pre-read pages selected in this embodiment takes the error correction time into consideration, so the data reading speed is faster, thereby improving the reading speed of the entire three-dimensional storage device 20.
[0122] Combination Figure 4It is concluded that the preset number of pre-read pages ranges from 250 to 350 pages, and the total time for reading data is relatively fast. Preferably, the preset number of pre-read pages is 300 pages.
[0123] Figure 5 is a schematic diagram of a three-dimensional storage device according to an embodiment of the present application. Figure 5 As shown, the present application also discloses a three-dimensional storage device 20, and the three-dimensional storage device 20 includes:
[0124] A NAND flash memory unit 40, wherein the NAND flash memory unit 40 is used to store data;
[0125] A main control unit 30, wherein the main control unit 30 is connected to the NAND flash memory unit 40, and the main control unit 30 is used to control the NAND flash memory unit 40 to perform read and write operations;
[0126] An execution control unit 50 is connected between the main control unit 30 and the NAND flash memory unit 40. The execution control unit 50 is used to execute the first read optimization method of the three-dimensional storage device 20 described above. The method includes:
[0127] S1: receiving a first read instruction sent by a main control unit, and determining whether the first read instruction is a first read instruction;
[0128] S210: When the first read instruction is a first read instruction, extract the location information of the target data block in the first read instruction, and generate a second read instruction according to the location information of the target data block;
[0129] S3: executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0130] S4: Execute the first read instruction to actually read the target data block, and transmit the read target data to the host device through the main control unit.
[0131] The execution control unit 50 may be integrated into the main control unit 30 , or may be independent of the main control unit 30 .
[0132] The execution control unit 50 also includes: a detection and judgment module 51 and an instruction sending module 52. The detection and judgment module 51 is connected to the main control unit 30. A timer is set in the detection and judgment module 51, which can be used to detect the interval time between the first read instruction and the last read instruction, and judge whether the first read instruction is the first read instruction. A temperature sensor is also set to judge the current ambient temperature; the instruction sending module 52 is connected to the detection and judgment module 51, and the instruction sending module 52 is connected to the NAND flash memory unit 40. The instruction sending module 52 is used to send a second read instruction.
[0133] Compared with the existing reading method of the three-dimensional storage device, the present application executes the second read instruction after judging the first read instruction as the first read instruction, and the second read instruction does not need to transmit the read information to the main control unit 30, so the second read instruction will not correct the data when it is executed, and when the first read instruction is executed after the second read instruction is executed, the first read instruction executed at this time is no longer the first read instruction, so that the temporary fail bit count (FBC) generated by the three-dimensional storage device 20 when executing the first read instruction can be reduced, thereby reducing the data reading time and improving the accuracy of the read data.
[0134] Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application, such as Figure 6 As shown, the present application also discloses an electronic device 10, which includes: at least one processor 12; and a memory 11 in communication with the at least one processor 12; wherein the memory 11 stores instructions that can be executed by the at least one processor 12, and the instructions are executed by the at least one processor 12, so that the at least one processor 12 can perform the first read optimization method of the three-dimensional storage device 20, including the steps of:
[0135] S1: receiving a first read instruction sent by a main control unit, and determining whether the first read instruction is a first read instruction;
[0136] S210: When the first read instruction is a first read instruction, extract the location information of the target data block in the first read instruction, and generate a second read instruction according to the location information of the target data block;
[0137] S3: executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0138] S4: Execute the first read instruction to actually read the target data block, and transmit the read target data to the host device through the main control unit.
[0139] Specifically: the electronic device 10 includes but is not limited to: a memory 11, a processor 12, a display 13 and a network interface 14. The electronic device 10 is connected to a network through the network interface 14 to obtain original test data. The network may be a wireless or wired network such as an intranet, the Internet, a global system of mobile communication (GSM), a wideband code division multiple access (WCDMA), a 4G network, a 5G network, Bluetooth, Wi-Fi, a call network, etc.
[0140] Among them, the memory 11 includes at least one type of readable medium, and the readable medium includes flash memory, hard disk, multimedia card, card-type memory 11 (for example, SD or DX memory 11, etc.), random access memory 11 (RAM), static random access memory 11 (SRAM), read-only memory 11 (ROM), electrically erasable programmable read-only memory 11 (EEPROM), programmable read-only memory 11 (PROM), magnetic memory 11, disk, optical disk, etc. In some embodiments, the memory 11 can be an internal storage unit of the electronic device 10, such as a hard disk or memory of the electronic device 10. In other embodiments, the memory 11 can also be an external storage device of the electronic device 10, such as a plug-in hard disk equipped with the electronic device 10, a smart memory card (SmartMedia Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (FlashCard), etc. Of course, the memory 11 can also include both the internal storage unit of the electronic device 10 and its external storage device. In this embodiment, the memory 11 is generally used to store the operating system and various application software installed in the electronic device 10, such as the program code of the first read optimization method of the three-dimensional storage device 20, etc. In addition, the memory 11 can also be used to temporarily store various types of data that have been output or are to be output.
[0141] In some embodiments, the processor 12 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor 12, or other data processing chips. The processor 12 is generally used to control the overall operation of the electronic device 10, such as performing control and processing related to data interaction or communication. In this embodiment, the processor 12 is used to run the program code stored in the memory 11 or process data, such as running the program code of the first read optimization method of the three-dimensional storage device 20.
[0142] The display 13 may be referred to as a display screen or a display unit. In some embodiments, the display 13 may be an LED display 13, a liquid crystal display 13, a touch-sensitive liquid crystal display 13, and an organic light-emitting diode (OLED) touch device. The display 13 is used to display information processed in the electronic device 10 and to display a visual working interface, such as displaying the results of data statistics.
[0143] The network interface 14 may optionally include a standard wired interface 21 , a wireless interface 21 (such as a WI-FI interface 21 ), and the network interface 14 is generally used to establish a communication connection between the electronic device 10 and other electronic devices 10 .
[0144] Figure 6 Only an electronic device 10 of the first read optimization method having a memory 11, a processor 12, a display 13, a network interface 14 and a three-dimensional storage device 20 is shown, but it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented instead.
[0145] Optionally, the electronic device 10 may further include a user interface, which may include a display 13 (Display), an input unit such as a keyboard (Keyboard), and the optional user interface may also include a standard wired interface and a wireless interface. Optionally, in some embodiments, the display 13 may be an LED display 13, a liquid crystal display 13, a touch-sensitive liquid crystal display 13, and an organic light-emitting diode (OLED) touch device. The display 13 may also be appropriately referred to as a display screen or a display unit, which is used to display information processed in the electronic device 10 and to display a visual user interface.
[0146] The electronic device 10 may further include a radio frequency (RF) circuit, a sensor, an audio circuit, etc., which will not be described in detail here.
[0147] In the above embodiment, the processor 12 may implement the following steps when executing the first read optimization method of the three-dimensional storage device 20 stored in the memory 11:
[0148] S1: receiving a first read instruction sent by a main control unit, and determining whether the first read instruction is a first read instruction;
[0149] S210: When the first read instruction is a first read instruction, extract the location information of the target data block in the first read instruction, and generate a second read instruction according to the location information of the target data block;
[0150] S3: executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register;
[0151] S4: Execute the first read instruction to actually read the target data block, and transmit the read target data to the host device through the main control unit.
[0152] It should be noted that the limitations on the various steps involved in this solution, without affecting the implementation of the specific solution, are not deemed to limit the order of the steps. The steps written in front can be executed first, or later, or even simultaneously. As long as this solution can be implemented, it should be deemed to fall within the scope of protection of this application.
[0153] It should be noted that the inventive concept of the present application can form a large number of embodiments, but the length of the application document is limited and it is impossible to list them one by one. Therefore, under the premise of no conflict, the embodiments or technical features described above can be arbitrarily combined to form new embodiments. After the embodiments or technical features are combined, the original technical effects will be enhanced.
[0154] The above content is a further detailed description of the present application in combination with specific optional implementation methods, and it cannot be determined that the specific implementation of the present application is limited to these descriptions. For ordinary technicians in the technical field to which the present application belongs, several simple deductions or substitutions can be made without departing from the concept of the present application, which should be deemed to fall within the scope of protection of the present application.
Claims
1. A first read optimization method, applied to a three-dimensional storage device, wherein the three-dimensional storage device is connected to a host device, characterized in that: The method comprises: receiving a first read instruction sent by the main control unit, and determining whether the first read instruction is a first read instruction; When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block; Executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register; The first read instruction is executed to actually read the target data block, and the read target data is transmitted to the host device through the main control unit.
2. The first read optimization method according to claim 1, characterized in that: When the first read instruction is a first read instruction, the step of extracting the location information of the target data block in the first read instruction and generating a second read instruction according to the location information of the target data block includes: The location information of the target data block includes the label of the target data block and the first page position of the target data block required to be read by the first read instruction, and the first page position of the target data block and the preset pre-read page number are obtained; Adding the first page position to the preset number of pre-read pages to obtain the end page; Generate the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page; Each of the target data blocks corresponds to a respective preset number of pre-read pages.
3. The first read optimization method according to claim 1, characterized in that: When the first read instruction is a first read instruction, the step of extracting the location information of the target data block in the first read instruction and generating a second read instruction according to the location information of the target data block includes: The location information of the target data block includes the label of the target data block and the first page position of the target data block required to be read by the first read instruction, and the first page position of the target data block and the preset pre-read page number are obtained; Adding the first page position to the preset number of pre-read pages to obtain the end page; Generate the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page; Wherein, each of the target data blocks corresponds to the same preset number of pre-read pages.
4. The first read optimization method according to claim 3, characterized in that: The preset number of pre-read pages is the average number or median number of pages that need to be pre-read in each target data block in the three-dimensional storage device.
5. The first read optimization method according to claim 3, characterized in that: include: Obtaining the number of pre-read pages, pre-read time and error correction time of the target data block; Constructing a first curve according to the pre-reading time and the pre-reading page number; Constructing a second curve according to the error correction time and the number of pre-read pages; The number of pre-read pages at the intersection of the first curve and the second curve is determined as the preset number of pre-read pages of the target data block.
6. The first read optimization method according to claim 2 or 3, characterized in that: The step of generating the second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the end page, comprises: Detecting the condition parameters of the target data block, and obtaining the number of compensated read pages corresponding to the target data block under the current condition parameters according to the condition parameters of the target data block; Add the end page to the number of pages read to obtain the end page after compensation; Generate a second read instruction, wherein the second read instruction reads the target data block in a range from the first page to the last page after the compensation; Each of the target data blocks compensates for a different number of read pages under different condition parameters.
7. The first read optimization method according to claim 1, characterized in that: After receiving a first read instruction sent by the main control unit and determining whether the first read instruction is a first read instruction, the step further includes: When the first read instruction is not the first read / write instruction, the first read instruction is executed, and the read target data is transmitted to the host device through the main control unit.
8. The first read optimization method according to claim 5, characterized in that: The preset number of pre-read pages ranges from 250 to 350 pages.
9. A three-dimensional storage device, characterized in that: The three-dimensional storage device comprises: A NAND flash memory unit, wherein the NAND flash memory unit is used to store data; A main control unit, the main control unit is connected to the NAND flash memory unit, and the main control unit is used to control the NAND flash memory unit to perform read and write operations; An execution control unit, the execution control unit is connected between the main control unit and the NAND flash memory unit, the execution control unit is used to execute the first read optimization method according to any one of claims 1 to 8, the method comprising: receiving a first read instruction sent by the main control unit, and determining whether the first read instruction is a first read instruction; When the first read instruction is a first read instruction, extracting the location information of the target data block in the first read instruction, and generating a second read instruction according to the location information of the target data block; Executing the second read instruction to pre-read the target data block, and storing the pre-read data read only in the register; The first read instruction is executed to actually read the target data block, and the read target data is transmitted to the host device through the main control unit.
10. An electronic device, characterized in that: The electronic device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the first read optimization method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Method and equipment for reading three-dimensional memory
CN112506443A
System approach to reduce stable threshold voltage (VT) read disturb degradation
CN112951298A
Nonvolatile three-dimensional memory, memory system and reading method thereof
CN114694714A
Semiconductor memory device and operating method thereof
KR1020160116904A
PSLC-scan-based storage device initialization system
US11983422B1