Data programming method, electronic equipment and storage medium

By judging the risk of environmental parameters and target word lines in the storage device and adjusting the word lines processed by programming, the problem of data loss in storage devices in harsh environments is solved, and the reliability and accuracy of data are improved.

CN119512437AActive Publication Date: 2025-02-25SHANGHAI LONGSYS DIGITAL TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311064535.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-22
Publication Date
2025-02-25
Estimated Expiration
2043-08-22

AI Technical Summary

Technical Problem

When a storage device is programmed in harsh environments, there may be a problem of storage data loss.

Method used

By determining whether the current environment parameters of the storage device are within the preset range, if not, it is determined whether the target word line is a risk word line. If so, other non-risk word lines are programmed based on programming instructions.

Benefits of technology

It reduces the risk of data loss when programming word lines of storage devices in harsh environments, and improves the data reliability and accuracy of storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512437A_ABST
    Figure CN119512437A_ABST
Patent Text Reader

Abstract

The invention discloses a data programming method, electronic equipment and a storage medium, and the data programming method comprises the steps: responding to a received programming instruction for a target word line of the storage equipment, and judging whether a current environment parameter of the storage equipment is in a range of a corresponding preset environment parameter or not; when the current environmental parameter of the storage device is not within the range of the preset environmental parameter, judging whether the target word line is a risk word line; if the target word line is the risk word line, programming processing is conducted on other non-risk word lines based on the programming instruction, the data loss risk can be reduced when the word lines of the storage device are programmed in the severe environment, and then the data reliability and accuracy of the storage device are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application is applied to the technical field of data processing, in particular to data programming methods, electronic devices and storage media. Background Art

[0002] The manufacturing process of the memory device determines that the number of errors of different memory word lines in the memory device will be different.

[0003] When the storage device is programmed in a harsh environment, the storage data of some storage word lines may be lost. Summary of the invention

[0004] The present application provides a data programming method, an electronic device and a storage medium to solve the problem of storage data loss when the storage device is programmed in a harsh environment.

[0005] To solve the above technical problems, the present application provides a data programming method, including: in response to receiving a programming instruction for a target word line of a storage device, determining whether the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters; when the current environmental parameters of the storage device are not within the range of the preset environmental parameters, determining whether the target word line is a risk word line; if the target word line is a risk word line, programming other non-risk word lines based on the programming instruction.

[0006] Among them, the target word line belongs to the first storage block; if the target word line is a risk word line, the step of programming other non-risk word lines based on the programming instruction includes: if the target word line is a risk word line, and the target word line is a boundary word line of the first storage block, programming other blank non-risk word lines of the second storage block based on the programming instruction.

[0007] Among them, if the target word line is a risk word line, the step of programming other non-risk word lines based on the programming instruction includes: if the target word line is a risk word line, and the target word line is not a boundary word line of the first storage block, programming other blank non-risk word lines of the first storage block based on the programming instruction.

[0008] In which, in response to receiving a programming instruction for a target word line of a storage device: adjusting the current environment of the storage device so that the current environmental parameters of the storage device are not within the range of the corresponding preset environmental parameters, programming each word line of the storage device respectively, and performing risk judgment on each word line after the programming processing to classify each word line as a risky word line or a non-risk word line.

[0009] Among them, the step of performing risk judgment on each word line after programming processing to classify each word line as a risk word line or a non-risk word line includes: counting the amount of data errors of each word line after programming processing; determining the word line whose data error amount exceeds the error correction amount of the storage device as a risk word line; and determining the word line whose data error amount does not exceed the error correction amount of the storage device as a non-risk word line.

[0010] Among them, the step of programming each word line of the storage device separately includes: storing the target data in each word line of the storage device respectively; the step of counting the data error amount of each word line after programming includes: comparing the target data stored in each word line with the original target data to determine the data error amount of each word line.

[0011] Among them, the environmental parameter is temperature, and the step of determining whether the current environmental parameter of the storage device is within the range of the corresponding preset environmental parameter includes: obtaining the current temperature of the storage device, and determining whether the current temperature exceeds the preset temperature threshold; when the current temperature exceeds the preset temperature threshold, determining that the current environmental parameter of the storage device is not within the range of the preset environmental parameter.

[0012] The data programming method further includes: when the current environmental parameter of the storage device is within the range of the corresponding preset environmental parameter or the target word line is a non-risk word line, programming the target word line based on the programming instruction.

[0013] To solve the above technical problems, the present invention further provides an electronic device, comprising a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement any of the data programming methods described above.

[0014] In order to solve the above technical problems, the present invention also provides a computer-readable storage medium on which program instructions are stored, and when the program instructions are executed by a processor, the data programming method as described in any one of the above items is implemented.

[0015] To solve the above technical problems, the present application discloses a data programming method that determines whether the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters after receiving a programming instruction for a target word line of the storage device; when the current environmental parameters of the storage device are not within the range of the preset environmental parameters, determines whether the target word line is a risk word line; if the target word line is a risk word line, programs other non-risk word lines based on the programming instruction, thereby reducing the risk of data loss when programming the word line of the storage device in a harsh environment, thereby improving the data reliability and accuracy of the storage device. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a flowchart of an embodiment of a programming method of data of the present application;

[0017] Figure 2 It is a flowchart of another embodiment of the programming method of data of the present application;

[0018] Figure 3 It is a schematic diagram of the framework of an embodiment of the electronic device of the present application;

[0019] Figure 4 A schematic diagram of a framework of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0020] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0021] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), the directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.

[0022] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0023] See also Figure 1 , Figure 1 It is a flowchart of an embodiment of a programming method of data of the present application.

[0024] Step S11: in response to receiving a programming instruction for a target word line of a storage device, determining whether a current environmental parameter of the storage device is within a range of a corresponding preset environmental parameter.

[0025] The storage device may include but is not limited to a solid state drive or other storage device using Nand Flash (non-volatile memory) as a storage medium. The storage device has multiple storage blocks (Blocks, or data blocks). Each storage block is provided with multiple word lines (Wordlines).

[0026] The programming process refers to the operation of storing the data to be stored in the word line of the storage device. The programming instruction means that the target word line needs to be programmed.

[0027] After receiving a programming instruction to program the target word line, it is determined whether the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters. The environmental parameters may include but are not limited to environmental factors such as temperature, humidity or electromagnetic interference. The preset environmental parameters are the environmental conditions required for the normal operation of the storage device, that is, when the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters, the storage device can work normally.

[0028] When the current environmental parameters of the storage device are not within the range of the corresponding preset environmental parameters, data loss may occur during data programming of the storage device.

[0029] In a specific application scenario, when the temperature is too high or too low and is not within the corresponding preset temperature range, it can be confirmed that the current environment is a harsh environment and the data programming of the storage device may be lost. In a specific application scenario, when the humidity is too high and is not within the corresponding preset humidity range, it can also be confirmed that the current environment is a harsh environment and the data programming of the storage device may be lost. In a specific application scenario, when the electromagnetic interference is too large and is not within the corresponding preset electromagnetic interference range, it can also be confirmed that the current environment is a harsh environment and the data programming of the storage device may be lost, and so on, without limitation.

[0030] Step S12: When the current environmental parameters of the storage device are not within the range of the preset environmental parameters, it is determined whether the target word line is a risky word line.

[0031] When the current environmental parameter of the storage device is not within the range of the preset environmental parameter, it is further determined whether the target word line is a risky word line.

[0032] In a specific application scenario, the method of determining whether a target word line is a risky word line can be confirmed through manual experience. For example, under normal circumstances, word lines at the boundaries of each storage block of a storage device are likely to have a greater risk of data loss. In this case, word lines at the boundaries of storage blocks can be regarded as risky word lines, while word lines not at the boundaries of storage blocks can be regarded as non-risk word lines.

[0033] In a specific application scenario, the method for determining whether the target word line is a risk word line can also be determined by pre-testing. Specifically, when the current environmental parameters are not within the range of the corresponding preset environmental parameters, each word line of the storage device is programmed and processed respectively, and each word line after programming is subjected to risk judgment to classify each word line as a risk word line or a non-risk word line. Risk judgment can be determined by comparing the difference between the data before and after the storage of each word line. A word line with a large difference is confirmed as a risk word line, and a word line with no difference or a small difference is confirmed as a non-risk word line. The method for determining whether the target word line is a risk word line is not specifically limited here.

[0034] Step S13: If the target word line is a risk word line, program other non-risk word lines based on the program instruction.

[0035] When the target word line is determined to be a risky word line, it means that if the data corresponding to the programming instruction is stored in the target word line, there is a greater risk of data loss. Therefore, this embodiment performs programming processing on other non-risk word lines based on the programming instruction, that is, the data corresponding to the programming instruction is stored in other non-risk word lines for programming processing, thereby reducing the risk of data loss.

[0036] Through the above steps, the data programming method of this embodiment determines whether the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters after receiving the programming instruction for the target word line of the storage device; when the current environmental parameters of the storage device are not within the range of the preset environmental parameters, it determines whether the target word line is a risk word line; if the target word line is a risk word line, programming is performed on other non-risk word lines based on the programming instruction, thereby reducing the risk of data loss when programming the word line of the storage device in a harsh environment, thereby improving the data reliability and accuracy of the storage device.

[0037] See also Figure 2 , Figure 2 This is a flow chart of another embodiment of the programming method of the data of this application. This embodiment uses the temperature as an example of the current environmental factor. In actual applications, there may also be environmental factors such as humidity or electromagnetic interference that affect the current environment. The method for determining the harsh environment by various factors is similar to this embodiment.

[0038] Step S21: in response to receiving a programming instruction for a target word line in a first storage block of a storage device, obtaining a current temperature of the storage device, and determining whether the current temperature exceeds a preset temperature threshold.

[0039] When a programming instruction for a target word line in a first storage block of a storage device is received, the current temperature of the storage device can be obtained through a temperature sensor of the storage device, and it is determined whether the current temperature exceeds a preset temperature threshold. The temperature sensor is arranged on the storage device to measure the real-time temperature of the storage device.

[0040] The preset temperature threshold can be set based on the type of each storage device or measurement experience, for example, 80 degrees, 120 degrees, 125 degrees, 130 degrees, etc. The corresponding temperature when a large amount of data errors occur in the storage device can be determined by performing a temperature increment measurement experiment on each storage device, and then the temperature can be determined as the preset temperature threshold, or the corresponding preset temperature threshold can be determined from the operating temperature in the factory manual of the storage device, which is not limited here.

[0041] Step S22: When the current temperature exceeds the preset temperature threshold, it is determined that the current environmental parameters of the storage device are not within the range of the preset environmental parameters.

[0042] When the current temperature does not exceed the preset temperature threshold, it is determined that the current environmental parameters of the storage device are not within the preset environmental parameters, and the current environment of the storage device is not a harsh environment, then the target word line is directly programmed based on the programming instruction, that is, the programming operation is performed normally.

[0043] Step S23: determining whether the target word line is a risky word line.

[0044] Among them, before step S21, the current environment of the storage device is first adjusted so that the current environmental parameters of the storage device are not within the range of the corresponding preset environmental parameters, and then each word line of the storage device is programmed and processed respectively, and a risk judgment is performed on each word line after the programming process to classify each word line as a risky word line or a non-risk word line.

[0045] The specific method of risk judgment is: adjust the current environment of the storage device so that the current environmental parameters of the storage device are not within the range of the corresponding preset environmental parameters, and store the target data in each word line of the storage device respectively; compare the target data stored in each word line with the original target data to determine the data error amount of each word line, and then count the data error amount of each word line after programming processing; determine the word line whose data error amount exceeds the error correction amount of the storage device as a risk word line; determine the word line whose data error amount does not exceed the error correction amount of the storage device as a non-risk word line. Among them, the error correction amount of the storage device is obtained by correcting the storage device through ECC (memory error correction code) error correction.

[0046] When the current environmental parameters of the storage device are not within the range of the preset environmental parameters, when judging whether the target word line is a risk word line, it is only necessary to make a comparative judgment based on the above-mentioned risk judgment result. For example: after the risk judgment is made on the 10 word lines in the first storage block, the 1st, 8th and 10th word lines are determined to be risk word lines, and the others are non-risk word lines. Assuming that the target word line is the 1st word line of the first storage block, the target word line is determined to be a risk word line; assuming that the target word line is the 2nd word line of the first storage block, which is not any of the risk word lines, the target word line is determined to be a non-risk word line, and so on, without limitation.

[0047] Step S24: If the target word line is a risk word line, and the target word line is a boundary word line of the first memory block, program other blank non-risk word lines of the second memory block based on the programming instruction.

[0048] When it is determined that the target word line is a risk word line, it is further determined whether the target word line is a boundary word line of the first storage block, and the boundary word line is a word line located at the boundary position of the corresponding storage block. For example, assuming that a storage block includes 3 word lines, and the 3 word lines are arranged in the order of position: the first word line, the second word line and the third word line, then the first word line and the third word line are boundary word lines, and the second word line is not a boundary word line.

[0049] If the target word line is a risk word line and the target word line is a boundary word line of the first storage block, other blank non-risk word lines of the second storage block are programmed based on the programming instruction, wherein the second storage block is another storage block different from the first storage block.

[0050] Since data programming is generally based on the order of the positions of the word lines in the storage block, when the target word line is a risk word line and is the boundary word line of the first storage block, there may be no blank non-risk word lines in the first storage block. In this case, other blank non-risk word lines of the second storage block are directly programmed based on the programming instructions to ensure accurate storage of data.

[0051] Step S25: If the target word line is a risk word line, and the target word line is not a boundary word line of the first memory block, program other blank non-risk word lines of the first memory block based on the programming instruction.

[0052] If the target word line is a risk word line and the target word line is not a boundary word line of the first storage block, it means that there are blank word lines in the first storage block. Then, based on the programming instruction, other blank non-risk word lines of the first storage block are programmed to ensure accurate storage of data.

[0053] When it is determined that the target word line is a non-risk word line, the target word line is directly programmed based on the programming instruction, that is, the programming operation is performed normally.

[0054] Through the above steps, the data programming method of this embodiment receives a programming instruction for a target word line in a first storage block of a storage device, obtains the current temperature of the storage device, determines whether the current temperature exceeds a preset temperature threshold, and when the current temperature exceeds the preset temperature threshold, determines that the current environment of the storage device belongs to a harsh environment, and further determines whether the target word line is a risk word line. If the target word line is a risk word line, and the target word line is a boundary word line of the first storage block, programming is performed on other blank non-risk word lines of the second storage block based on the programming instruction; or if the target word line is a risk word line, and the target word line is not a boundary word line of the first storage block, programming is performed on other blank non-risk word lines of the first storage block based on the programming instruction, thereby storing data in non-risk word lines to reduce the risk of data loss when programming the word lines of the storage device in a harsh environment, thereby improving the data reliability and accuracy of the storage device.

[0055] See also Figure 3 , Figure 3 : is a schematic diagram of a framework of an embodiment of an electronic device of the present application. The electronic device 30 includes a memory 31 and a processor 32 coupled to each other, and the processor 32 is used to execute program instructions stored in the memory 31 to implement the steps of the above method embodiment. In a specific implementation scenario, the electronic device 30 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 30 may also include a laptop, a tablet computer, Nand Flash, etc., which are not limited here.

[0056] Specifically, the processor 32 is used to control itself and the memory 31 to implement the steps of any of the above method embodiments. The processor 32 can also be called a CPU (Central Processing Unit). The processor 32 may be an integrated circuit chip with signal processing capabilities. The processor 32 can also be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 32 can be implemented by an integrated circuit chip.

[0057] The above solution can reduce the risk of data loss when programming the word lines of the storage device in a harsh environment, thereby improving the data reliability and accuracy of the storage device.

[0058] See also Figure 4 , Figure 4 The schematic diagram of the framework of an embodiment of a computer-readable storage medium of the present application is as follows: The computer-readable storage medium 40 stores program instructions 401 that can be executed by a processor, and the program instructions 401 are used to implement the steps of any of the above method embodiments.

[0059] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.

[0060] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0061] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0062] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

[0063] The above are only implementation methods of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A data programming method, characterized in that: The data programming method includes: In response to receiving a programming instruction for a target word line of a storage device, determining whether a current environmental parameter of the storage device is within a range of a corresponding preset environmental parameter; When the current environmental parameter of the storage device is not within the range of the preset environmental parameter, determining whether the target word line is a risky word line; If the target word line is a risk word line, programming is performed on other non-risk word lines based on the programming instruction.

2. The data programming method according to claim 1, characterized in that: The target word line belongs to the first memory block; If the target word line is a risk word line, the step of programming other non-risk word lines based on the programming instruction includes: If the target word line is a risk word line, and the target word line is a boundary word line of the first storage block, programming is performed on other blank non-risk word lines of the second storage block based on the programming instruction.

3. The data programming method according to claim 2, characterized in that: If the target word line is a risk word line, the step of programming other non-risk word lines based on the programming instruction includes: If the target word line is a risk word line, and the target word line is not a boundary word line of the first storage block, programming is performed on other blank non-risk word lines of the first storage block based on the programming instruction.

4. The data programming method according to claim 1, characterized in that: The step of responding to receiving a program instruction for a target word line of a memory device includes: Adjusting the current environment of the storage device so that the current environmental parameters of the storage device are not within the range of the corresponding preset environmental parameters; Each word line of the storage device is programmed respectively, and risk judgment is performed on each word line after the programming process, so as to classify each word line as a risk word line or a non-risk word line.

5. The data programming method according to claim 4, characterized in that: The step of performing risk judgment on each word line after programming to classify each word line as a risk word line or a non-risk word line includes: Counting the amount of data errors of each word line after programming; Determine a word line whose data error amount exceeds the error correction amount of the storage device as the risk word line; A word line whose data error amount does not exceed the error correction amount of the storage device is determined as the non-risk word line.

6. The data programming method according to claim 5, characterized in that: The step of programming each word line of the storage device comprises: storing the target data in each word line of the storage device respectively; The step of counting the amount of data errors of each word line after programming comprises: The target data stored in each of the word lines is compared with the original target data to determine the data error amount of each of the word lines.

7. The data programming method according to claim 1, characterized in that: The environmental parameter is temperature; The step of determining whether the current environmental parameters of the storage device are within the range of the corresponding preset environmental parameters includes: Obtaining a current temperature of the storage device, and determining whether the current temperature exceeds a preset temperature threshold; When the current temperature exceeds a preset temperature threshold, it is determined that the current environmental parameter of the storage device is not within the range of the preset environmental parameter.

8. The data programming method according to claim 1, characterized in that: The data programming method also includes: When the current environmental parameter of the storage device is within the range of the corresponding preset environmental parameter or the target word line is a non-risk word line, the target word line is programmed based on the programming instruction.

9. An electronic device, characterized in that: It comprises a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the data programming method according to any one of claims 1 to 8.

10. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the data programming method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Forecasting program disturb in memory by detecting natural threshold voltage distribution

    CN102576568A

  • Non-volatile memory with program failure recovery

    CN108573733A

  • Partial block erase for data refreshing and open-block programming

    US20160163393A1

  • Preserving blocks experiencing program failure in memory devices

    US20230197186A1