技术领域technical field
本发明涉及非易失性存储器技术领域,具体涉及一种非易失性存储器的编程方法。The invention relates to the technical field of nonvolatile memory, in particular to a programming method of the nonvolatile memory.
背景技术Background technique
非易失性存储器,又称为非挥发性存储器,简单地说,就是在断电情况下能够保持所存储的数据的存储器。随着非易失性存储器的相关技术的发展,非易失性存储器的应用越来越广泛。Non-volatile memory, also known as non-volatile memory, simply put, is a memory that can retain stored data in the event of power failure. With the development of related technologies of the non-volatile memory, the application of the non-volatile memory becomes more and more extensive.
非易失性存储器在擦除操作的过程中非正常停止,例如非易失性存储器所在芯片系统突然掉电、系统复位或者用户可以发送暂停指令来暂停擦除操作,这些原因都有可能造成擦除区域的单元过擦除,并且过擦除会对擦除区域所在的物理存储块(BLOCK)提供漏电流。如果对擦除区域所在的物理存储块进行编程操作,由于非易失性存储器的同一个物理存储块的单元的位线是贯通的,这样过擦除产生的漏电流会对编程过程产生影响,导致编程不成功或者发生编程错误。The non-volatile memory stops abnormally during the erasing operation. For example, the chip system where the non-volatile memory is located is suddenly powered off, the system is reset, or the user can send a pause command to suspend the erasing operation. The cells in the erased area are over-erased, and over-erased will provide leakage current to the physical memory block (BLOCK) where the erased area is located. If the programming operation is performed on the physical memory block where the erased area is located, since the bit lines of the cells of the same physical memory block of the non-volatile memory are connected, the leakage current generated by over-erasing will affect the programming process. Result in unsuccessful programming or programming errors.
现有技术中,在编程指令译码成功后,直接进行编程校验和编程操作,这样很可能会由于过擦除产生的漏电流导致编程不成功或编程错误,从而影响编程过程的正确性和稳定性。In the prior art, after the programming instruction is successfully decoded, the programming verification and programming operations are directly performed, which is likely to cause programming failure or programming error due to the leakage current generated by over-erasing, thereby affecting the correctness and accuracy of the programming process. stability.
发明内容Contents of the invention
有鉴于此,本发明实施例提供一种非易失性存储器的编程方法,解决了现有技术中由于过擦除产生的漏电流导致编程不成功或编程错误而影响编程过程的正确性和稳定性的技术问题。In view of this, the embodiment of the present invention provides a non-volatile memory programming method, which solves the problem that the programming process is not correct and stable due to the leakage current caused by over-erasing, which leads to programming failure or programming error in the prior art. sexual technical issues.
本发明实施例提供了一种非易失性存储器的编程方法,包括:An embodiment of the present invention provides a programming method for a non-volatile memory, including:
对所述非易失性存储器的预编程区域的编程指令进行译码;Decoding the programming instructions of the pre-programmed area of the non-volatile memory;
对所述预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作;Perform over-erased verification and over-erased repair operations on the physical memory block where the pre-programmed area is located;
对所述预编程区域进行编程校验和编程操作。Program verify and program operations are performed on the pre-programmed area.
进一步地,对所述预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作,具体为:Further, the over-erased verification and over-erased repair operations are performed on the physical storage block where the pre-programmed area is located, specifically:
对所述物理存储块的修复单元进行过擦除校验并判断是否通过所述过擦除校验,如果没有通过所述过擦除校验,则对所述修复单元进行过擦除修复操作并返回到对所述物理存储块的修复单元进行过擦除校验并判断是否通过所述过擦除校验;Perform an over-erasure check on the repair unit of the physical storage block and determine whether it passes the over-erasure check, and if it does not pass the over-erasure check, perform an over-erasure repair operation on the repair unit And return to the repair unit of the physical storage block to perform erasure verification and judge whether it passes the erasure verification;
如果通过所述过擦除校验,则判断所述修复单元对应的修复地址是否是所述物理存储块的最后一个修复地址;If the over-erasure check is passed, it is judged whether the repair address corresponding to the repair unit is the last repair address of the physical storage block;
如果是所述最后一个修复地址,则结束对所述物理存储块的过擦除修复操作;If it is the last repair address, then end the over-erase repair operation on the physical storage block;
如果不是所述最后一个修复地址,则递增或者递减所述修复单元对应的修复地址并返回到对所述物理存储块的修复单元进行过擦除校验并判断是否通过所述过擦除校验。If it is not the last repair address, then increment or decrement the repair address corresponding to the repair unit and return to the repair unit of the physical storage block to perform erasure verification and judge whether it passes the erasure verification .
进一步地,所述过擦除校验的基准电压为0伏。Further, the reference voltage of the over-erasing verification is 0 volts.
进一步地,所述过擦除校验的方法为将所述修复单元的阈值电压与所述过擦除校验的基准电压进行比较;Further, the method of the over-erasing verification is to compare the threshold voltage of the repaired unit with the reference voltage of the over-erasing verification;
当所述修复单元的阈值电压大于所述过擦除校验的基准电压时,所述修复单元通过所述过擦除校验;When the threshold voltage of the repairing unit is greater than the reference voltage of the over-erasing verification, the repairing unit passes the over-erasing verification;
当所述修复单元的阈值电压小于所述过擦除校验的基准电压时,所述修复单元没有通过所述过擦除校验。When the threshold voltage of the repaired unit is lower than the reference voltage of the over-erased verification, the repaired unit fails the over-erased verification.
进一步地,对所述预编程区域进行编程校验和编程操作,具体为:Further, perform program verification and programming operations on the pre-programmed area, specifically:
对所述预编程区域的预编程单元进行编程校验并判断是否通过所述编程校验,如果没有通过所述编程校验,则对所述预编程单元进行编程操作并返回到对所述预编程区域的预编程单元进行编程校验并判断是否通过所述编程校验;Perform program verification on the pre-programmed cells in the pre-programmed area and judge whether they pass the program verification, if not pass the program verification, then perform a programming operation on the pre-programmed cells and return to the The pre-programmed cells in the programming area perform programming verification and judge whether they pass the programming verification;
如果通过所述编程校验,则判断所述预编程单元对应的编程地址是否是所述预编程区域的最后一个编程地址;If the programming verification is passed, it is judged whether the programming address corresponding to the pre-programmed unit is the last programming address of the pre-programmed area;
如果是所述最后一个编程地址,则结束对所述预编程区域的编程操作;If it is the last programming address, then end the programming operation on the pre-programmed area;
如果不是所述最后一个编程地址,则递增或者递减所述预编程单元对应的编程地址并返回到对所述预编程区域的预编程单元进行编程校验并判断是否通过所述编程校验。If it is not the last programming address, increment or decrement the programming address corresponding to the pre-programmed unit and return to perform program verification on the pre-programmed unit in the pre-programmed area and judge whether it passes the program verification.
进一步地,所述编程校验的基准电压为编程单元的阈值电压。Further, the reference voltage of the programming verification is the threshold voltage of the programming unit.
进一步地,所述编程校验的方法为将所述预编程区域的预编程单元的阈值电压与所述编程校验的基准电压进行比较;Further, the program verification method is to compare the threshold voltage of the pre-programmed cells in the pre-programmed area with the reference voltage of the program verification;
当所述预编程区域的预编程单元的阈值电压大于所述编程校验的基准电压时,所述预编程单元通过所述编程校验;When the threshold voltage of the pre-programmed cells in the pre-programmed area is greater than the reference voltage of the program verification, the pre-programmed cells pass the program verification;
当所述预编程区域的预编程单元的阈值电压小于所述编程校验的基准电压时,所述预编程单元没有通过所述编程校验。When the threshold voltage of the pre-programmed cells in the pre-programmed area is lower than the reference voltage of the program-verify, the pre-programmed cells fail the program-verify.
本发明实施例提出的非易失性存储器的编程方法,通过在预编程区域的编程指令成功译码后,加入对预编程区域所在的物理存储块的过擦除校验和过擦除修复操作,并且在对物理存储块的过擦除修复操作结束后再对预编程区域进行编程校验和编程操作,这样能够消除由于过擦除产生的漏电流对编程过程的影响,从而保证了编程过程的正确性和稳定性。In the programming method of the non-volatile memory proposed by the embodiment of the present invention, after the programming instruction in the pre-programmed area is successfully decoded, the over-erased check and over-erased repair operation of the physical storage block where the pre-programmed area is located is added. , and after the over-erase repair operation of the physical memory block is completed, the program verification and programming operations are performed on the pre-programmed area, which can eliminate the influence of the leakage current caused by over-erase on the programming process, thus ensuring the programming process correctness and stability.
附图说明Description of drawings
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:Other characteristics, objects and advantages of the present invention will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
图1是根据本发明实施例的非易失性存储器的编程方法的流程图;1 is a flowchart of a programming method of a non-volatile memory according to an embodiment of the present invention;
图2是图1中对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作的流程图;Fig. 2 is the flow chart of carrying out over-erase verification and over-erase repair operation to the physical storage block where pre-programmed area is located in Fig. 1;
图3是根据本发明实施例的擦除区域的阈值电压的分布图;3 is a distribution diagram of threshold voltages of erased regions according to an embodiment of the present invention;
图4是图1中对预编程区域进行编程校验和编程操作的流程图;Fig. 4 is the flow chart of carrying out programming verification and programming operation to the pre-programmed area in Fig. 1;
图5是根据本发明实施例的预编程单元与编程单元的阈值电压分布图。FIG. 5 is a threshold voltage distribution diagram of pre-programmed cells and programmed cells according to an embodiment of the present invention.
具体实施方式Detailed ways
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, but not to limit the present invention. In addition, it should be noted that, for the convenience of description, only parts related to the present invention are shown in the drawings but not all content.
在图1-5中示出了本发明的实施例。Embodiments of the invention are shown in Figures 1-5.
本发明实施例提供了一种非易失性存储器的编程方法。图1是根据本发明实施例的非易失性存储器的编程方法的流程图。如图1所示,所述非易失性存储器的编程方法包括:An embodiment of the present invention provides a programming method for a nonvolatile memory. FIG. 1 is a flowchart of a programming method of a non-volatile memory according to an embodiment of the present invention. As shown in Figure 1, the programming method of described nonvolatile memory comprises:
步骤S11、对非易失性存储器的预编程区域的编程指令进行译码。Step S11 , decoding the programming instruction of the pre-programmed area of the non-volatile memory.
所述预编程区域为编程指令中需要编程的区域,并且关于该预编程区域的相关信息例如预编程区域的大小、地址等也包含在编程指令里。对该编程指令进行译码且成功后,就可以对预编程区域进行编程校验和编程操作。The pre-programmed area is the area to be programmed in the programming instruction, and relevant information about the pre-programmed area, such as the size and address of the pre-programmed area, is also included in the programming instruction. After the programming command is decoded successfully, program verification and programming operations can be performed on the pre-programmed area.
步骤S12、对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作。Step S12, performing over-erasure verification and over-erasure repair operations on the physical memory block where the pre-programmed area is located.
在执行完步骤S11之后,就可以对预编程区域进行编程校验和编程操作。但是,在进行对预编程区域进行编程校验和编程操作之前,需要执行本步骤。这是因为在预编程区域所在的物理存储块,有可能存在由于擦除操作没有正常结束而产生的过擦除,并且由过擦除产生的漏电流对后续的编程过程会产生影响,所以为了防止过擦除对编程过程的影响,需要在编程过程之前执行本步骤。After step S11 is performed, program verification and programming operations can be performed on the pre-programmed area. However, this step needs to be performed before performing program verify and program operations on the pre-programmed area. This is because in the physical memory block where the pre-programmed area is located, there may be over-erased due to the failure of the normal end of the erase operation, and the leakage current generated by the over-erased will have an impact on the subsequent programming process, so in order To prevent the impact of over-erasing on the programming process, this step needs to be performed before the programming process.
图2是图1中对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作的流程图。可选地,参见图2,对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作,具体为:FIG. 2 is a flow chart of performing over-erasure verification and over-erasure repair operations on the physical memory block where the pre-programmed area is located in FIG. 1 . Optionally, referring to FIG. 2, the over-erased verification and over-erased repair operations are performed on the physical memory block where the pre-programmed area is located, specifically:
步骤S121、对物理存储块的修复单元进行过擦除校验并判断是否通过过擦除校验。Step S121 , performing an erasure check on the repair unit of the physical storage block and judging whether it passes the erasure check.
在对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作时,首先执行本步骤,即对物理存储块的修复单元进行过擦除校验并判断是否通过过擦除校验。如果物理存储块的修复单元没有通过过擦除校验,则执行步骤S122;如果物理存储块的修复单元通过过擦除校验,则执行步骤S123。When performing over-erasure verification and over-erasure repair operations on the physical memory block where the pre-programmed area is located, first perform this step, that is, perform over-erasure verification on the repair unit of the physical memory block and determine whether it has passed over-erasure check. If the repair unit of the physical storage block has not passed the erasure check, execute step S122; if the repair unit of the physical storage block passes the erase check, execute step S123.
需要说明的是,所述修复单元是执行一次过擦除校验的基本单元,并且所述修复单元可能包括物理存储块的一个或多个存储单元。It should be noted that the repair unit is a basic unit for performing a one-pass erase verification, and the repair unit may include one or more storage units of a physical storage block.
在本实施例中,可选地,所述过擦除校验的基准电压为0伏。给定过擦除校验的基准电压,便于接下来进行过擦除校验。In this embodiment, optionally, the reference voltage of the over-erasing verification is 0 volts. The reference voltage for over-erasing verification is given to facilitate subsequent over-erasing verification.
在本实施例中,可选地,所述过擦除校验的方法为将修复单元的阈值电压与过擦除校验的基准电压进行比较;当修复单元的阈值电压大于过擦除校验的基准电压时,修复单元通过过擦除校验;当修复单元的阈值电压小于过擦除校验的基准电压时,修复单元没有通过过擦除校验。In this embodiment, optionally, the method of the over-erasing verification is to compare the threshold voltage of the repaired unit with the reference voltage of the over-erased verification; when the threshold voltage of the repaired unit is greater than the over-erased verification When the reference voltage of the repaired cell is lower than the reference voltage of the over-erased verification, the repaired cell fails the over-erased verification.
需要说明的是,由于过擦除只会出现在物理存储块的擦除区域,因此不能通过过擦除校验的修复单元为擦除区域中的过擦除单元,而正常的擦除单元或者编程区域的编程单元(编程区域的阈值电压大于擦除区域的阈值电压)能够通过过擦除校验。如果修复单元位于编程区域,那么该修复单元一定能够通过过擦除校验。接下来会对修复单元位于擦除区域时的过擦除校验进一步说明。It should be noted that since over-erasing only occurs in the erased area of the physical storage block, the repair unit that cannot pass the over-erased check is the over-erased unit in the erased area, while the normal erased unit or The programmed cells in the programmed area (the threshold voltage of the programmed area is greater than that of the erased area) can pass the over-erase verification. If the repaired unit is located in the programming area, then the repaired unit must pass the erase verification. Next, the over-erase verification when the repair unit is located in the erased area will be further described.
图3是根据本发明实施例的擦除区域的阈值电压的分布图。下面结合图3对修复单元位于擦除区域时的过擦除校验过擦除校验做进一步说明。参见图3,横轴VT代表擦除区域的阈值电压,纵轴N代表擦除区域的存储单元的个数;曲线CL与横轴VT所包围的区域代表擦除区域。在图3中,位于纵轴N左边的擦除区域部分即阴影区域部分,在该擦除区域中的修复单元的阈值电压小于0伏即修复单元的阈值电压小于过擦除校验的基准电压,说明在该擦除区域中的修复单元为过擦除单元,因此,在该擦除区域中的修复单元没有通过过擦除校验;位于纵轴N左边的擦除区域部分即非阴影区域部分,在该擦除区域中的修复单元的阈值电压大于0伏即修复单元的阈值电压大于过擦除校验的基准电压,说明在该擦除区域中的修复单元为正常的擦除单元,因此,在该擦除区域中的修复单元通过了过擦除校验。FIG. 3 is a distribution diagram of threshold voltages of erased regions according to an embodiment of the present invention. The over-erase verification and over-erase verification when the repair unit is located in the erased area will be further described below in conjunction with FIG. 3 . Referring to FIG. 3 , the horizontal axis VT represents the threshold voltage of the erased area, and the vertical axis N represents the number of memory cells in the erased area; the area surrounded by the curve CL and the horizontal axis VT represents the erased area. In FIG. 3 , the erased area on the left side of the vertical axis N is the shaded area, and the threshold voltage of the repaired cells in the erased area is less than 0 volts, that is, the threshold voltage of the repaired cells is lower than the reference voltage for over-erased verification. , indicating that the repair unit in the erased area is an over-erased unit, therefore, the repaired unit in the erased area has not passed the over-erased check; the part of the erased area located on the left side of the vertical axis N is the non-shaded area Partly, the threshold voltage of the repair unit in the erasing area is greater than 0 volts, that is, the threshold voltage of the repairing unit is greater than the reference voltage of the over-erased verification, indicating that the repairing unit in the erasing area is a normal erasing unit, Therefore, the repaired cells in the erased area pass the over-erase check.
步骤S122、对修复单元进行过擦除修复操作。Step S122, perform an erase repair operation on the repair unit.
在完成步骤S121之后,如果物理存储块的修复单元没有通过过擦除校验,则执行本步骤。对修复单元进行过擦除修复操作后,再返回到步骤S121,如果还没有通过过擦除校验,则还执行本步骤,否则,执行步骤S123。After step S121 is completed, if the repair unit of the physical storage block has not passed the erasure check, this step is executed. After the repair unit has been erased and repaired, return to step S121. If the erase verification has not passed, this step is also executed; otherwise, step S123 is executed.
所述过擦除修复操作就是将修复单元中的过擦除单元逐渐变成正常的擦除单元,即将过擦除单元的阈值电压由小于0伏逐渐变成大于0伏。在图3中,位于阴影区域部分的修复单元的阈值电压小于0伏,通过过擦除修复操作,将该部分的修复单元变到纵轴N右侧,使其阈值电压变成大于0伏,实现了将过擦除单元变成正常的擦除单元。当擦除区域全部位于纵轴N的右侧时,表明完成了对擦除区域的过擦除修复操作,也完成了对擦除区域所在的物理存储块的过擦除修复操作。The over-erased repair operation is to gradually change the over-erased unit in the repaired unit into a normal erased unit, that is, gradually change the threshold voltage of the over-erased unit from less than 0 volts to greater than 0 volts. In FIG. 3 , the threshold voltage of the repaired cells located in the shaded area is less than 0 volts. Through the over-erase repair operation, the repaired cells in this part are changed to the right side of the vertical axis N, so that the threshold voltage becomes greater than 0 volts. It realizes changing the over-erased unit into a normal erased unit. When all the erased areas are located on the right side of the vertical axis N, it indicates that the over-erase repair operation on the erased area is completed, and the over-erase repair operation on the physical memory block where the erased area is located is also completed.
步骤S123、判断修复单元对应的修复地址是否是物理存储块的最后一个修复地址。Step S123, judging whether the repair address corresponding to the repair unit is the last repair address of the physical storage block.
在完成步骤S121之后,如果物理存储块的修复单元通过过擦除校验,则执行本步骤。如果修复单元对应的修复地址是物理存储块的最后一个修复地址,表明完成了对物理存储块的过擦除修复操作,则执行步骤S125;如果修复单元对应的修复地址不是物理存储块的最后一个修复地址,表明还没有完成对物理存储块的过擦除修复操作,则执行步骤S124。After step S121 is completed, if the repair unit of the physical storage block passes the erasure verification, this step is executed. If the repair address corresponding to the repair unit is the last repair address of the physical storage block, it indicates that the over-erase repair operation to the physical storage block has been completed, then step S125 is performed; if the repair address corresponding to the repair unit is not the last of the physical storage block The repair address indicates that the over-erase repair operation on the physical storage block has not been completed, and step S124 is executed.
步骤S124、递增或者递减修复单元对应的修复地址。Step S124, increment or decrement the repair address corresponding to the repair unit.
在完成步骤S123之后,如果修复单元对应的修复地址不是物理存储块的最后一个修复地址,表明还没有完成对物理存储块的过擦除修复操作,则执行本步骤。执行完本步骤后,返回到步骤S121。After step S123 is completed, if the repair address corresponding to the repair unit is not the last repair address of the physical storage block, it indicates that the over-erase repair operation on the physical storage block has not been completed, and this step is performed. After this step is executed, return to step S121.
需要说明的是,递增或者递减修复单元对应的修复地址,可以每一次增加或者减少一个修复单元对应的修复地址,相应地对一个修复单元进行过擦除修复操作;也可以每一次增加或者减少两个或者更多个修复单元对应的修复地址,相应地对两个或者更多个修复单元逐个地进行过擦除修复操作。因此,可以根据实际情况,预先设定修复地址进行递增或者递减的规律。通过递增或者递减修复单元对应的修复地址,能够使修复地址覆盖预编程区域所在的物理存储块的所有存储空间,再不断地重复步骤S121、步骤S122和步骤S123,从而实现对相应的物理存储块的过擦除修复操作,为进行后续的编程过程做好准备。It should be noted that, incrementing or decrementing the repair address corresponding to the repair unit can increase or decrease the repair address corresponding to a repair unit each time, and correspondingly perform an erase repair operation on a repair unit; it can also increase or decrease by two at a time. corresponding repair addresses of two or more repair units, and correspondingly perform erase repair operations on two or more repair units one by one. Therefore, the law of incrementing or decrementing the repair address can be preset according to the actual situation. By incrementing or decrementing the repairing address corresponding to the repairing unit, the repairing address can be made to cover all the storage space of the physical storage block where the pre-programmed area is located, and then step S121, step S122 and step S123 are continuously repeated, thereby realizing the corresponding physical storage block The over-erase repair operation is ready for the subsequent programming process.
步骤S125、结束对物理存储块的过擦除修复操作。Step S125, ending the over-erase repair operation on the physical storage block.
在执行完步骤S123之后,如果修复单元对应的修复地址是物理存储块的最后一个修复地址,表明完成了对物理存储块的过擦除修复操作,则执行本步骤,即结束对物理存储块的过擦除修复操作。然后执行步骤S13。After performing step S123, if the repair address corresponding to the repair unit is the last repair address of the physical storage block, it indicates that the over-erasing repair operation to the physical storage block has been completed, then perform this step, that is, end the physical storage block. over erase repair operation. Then step S13 is executed.
通过对预编程区域所在的物理存储块进行过擦除校验和过擦除修复操作,能够消除由于过擦除产生的漏电流,从而保证了后续编程过程的正确性和稳定性。By performing over-erase verification and over-erase repair operations on the physical memory block where the pre-programmed area is located, the leakage current caused by over-erase can be eliminated, thereby ensuring the correctness and stability of the subsequent programming process.
步骤S13、对预编程区域进行编程校验和编程操作。Step S13 , performing program verification and programming operations on the pre-programmed area.
在执行完步骤S12之后,则执行本步骤,即对预编程区域进行编程校验和编程操作。After step S12 is executed, this step is executed, that is, program verification and programming operations are performed on the pre-programmed area.
图4是图1中对预编程区域进行编程校验和编程操作的流程图。可选地,参见图4,对预编程区域进行编程校验和编程操作,具体为:FIG. 4 is a flowchart of program verify and program operations for the pre-programmed area in FIG. 1 . Optionally, referring to FIG. 4, the program verification and programming operations are performed on the pre-programmed area, specifically:
步骤S131、对预编程区域的预编程单元进行编程校验并判断是否通过编程校验。Step S131 , performing program verification on the pre-programmed cells in the pre-programmed area and judging whether the program verification is passed.
在对预编程区域进行编程校验和编程操作时,首先执行本步骤,即对预编程区域的预编程单元进行编程校验并判断是否通过编程校验。如果预编程区域的预编程单元没有通过编程校验,则执行步骤S132;如果预编程区域的预编程单元通过编程校验,则执行步骤S133。When performing program verification and programming operations on the pre-programmed area, this step is first performed, that is, to perform program verification on the pre-programmed cells in the pre-programmed area and determine whether the program verification is passed. If the pre-programmed cells in the pre-programmed area do not pass the program verification, execute step S132; if the pre-programmed cells in the pre-programmed area pass the program verification, execute step S133.
需要说明的是,所述预编程单元是执行一次编程校验的基本单元。It should be noted that the pre-programmed unit is a basic unit for performing a programming verification.
在本实施例中,可选地,所述编程校验的基准电压为编程单元的阈值电压。给定编程校验的基准电压,便于接下来进行编程校验。In this embodiment, optionally, the reference voltage of the programming verification is a threshold voltage of a programming unit. Given the reference voltage for programming verification, it is convenient to perform programming verification next.
在本实施例中,可选地,所述编程校验的方法为将预编程区域的预编程单元的阈值电压与编程校验的基准电压进行比较;当预编程区域的预编程单元的阈值电压大于编程校验的基准电压时,预编程单元通过编程校验;当预编程区域的预编程单元的阈值电压小于编程校验的基准电压时,预编程单元没有通过编程校验。In this embodiment, optionally, the program verification method is to compare the threshold voltage of the pre-programmed cells in the pre-programmed area with the reference voltage of the program verification; when the threshold voltage of the pre-programmed cells in the pre-programmed area When the threshold voltage of the pre-programmed cells in the pre-programmed area is lower than the reference voltage of the program verification, the pre-programmed cells fail the program verification.
图5是根据本发明实施例的预编程单元与编程单元的阈值电压分布图。下面结合图5对编程校验做进一步说明。参见图5,横轴VT代表存储单元的阈值电压,纵轴N代表存储单元的个数,垂直于横轴VT的虚线V1代表编程校验的基准电压,即编程单元的阈值电压;曲线CL1与横轴VT所包围的区域代表预编程单元(即非易失性存储器的擦除单元),曲线CL2与横轴VT所包围的区域代表编程单元。在图5中,位于虚线V1左侧的预编程单元的阈值电压小于编程单元的阈值电压,即该预编程单元的阈值电压小于编程校验的基准电压,因此,该预编程单元没有通过编程校验。FIG. 5 is a threshold voltage distribution diagram of pre-programmed cells and programmed cells according to an embodiment of the present invention. The programming verification will be further described below in conjunction with FIG. 5 . Referring to FIG. 5, the horizontal axis VT represents the threshold voltage of the memory cell, the vertical axis N represents the number of memory cells, and the dotted line V1 perpendicular to the horizontal axis VT represents the reference voltage for programming verification, that is, the threshold voltage of the programming cell; the curve CL1 and The area enclosed by the horizontal axis VT represents the pre-programmed unit (ie, the erased unit of the non-volatile memory), and the area enclosed by the curve CL2 and the horizontal axis VT represents the programmed unit. In FIG. 5, the threshold voltage of the pre-programmed cell located on the left side of the dotted line V1 is lower than the threshold voltage of the programmed cell, that is, the threshold voltage of the pre-programmed cell is lower than the reference voltage of the program verification. Therefore, the pre-programmed cell does not pass the program verification. test.
步骤S132、对预编程单元进行编程操作。Step S132, performing a programming operation on the pre-programmed cells.
在完成步骤S131之后,如果预编程区域的预编程单元没有通过编程校验,则执行本步骤。对预编程单元进行编程操作后,再返回到步骤S131,如果还没有通过编程校验,则还执行本步骤,否则,执行步骤S133。After step S131 is completed, if the pre-programmed cells in the pre-programmed area do not pass the program verification, this step is performed. After performing the programming operation on the pre-programmed cells, return to step S131, if the programming verification has not passed, this step is also performed, otherwise, step S133 is performed.
所述编程操作就是将预编程单元逐渐变成编程单元,即将预编程单元的阈值电压逐渐变大,直至大于编程单元的阈值电压。在图5中,位于虚线V1左侧的预编程单元,通过编程操作,将该预编程单元变到虚线V1右侧,使其阈值电压大于编程单元的阈值电压,实现了将预编程单元变成编程单元(在图5中用由预编程单元指向编程单元的带箭头的线段表示编程操作过程)。当预编程单元全部位于虚线的V1右侧时,表明完成对预编程单元的编程操作。The programming operation is to gradually change the pre-programmed cells into programmed cells, that is, the threshold voltage of the pre-programmed cells gradually increases until it is greater than the threshold voltage of the programmed cells. In Figure 5, the pre-programmed cell located on the left side of the dotted line V1, through the programming operation, the pre-programmed cell is changed to the right side of the dotted line V1, so that its threshold voltage is greater than the threshold voltage of the programmed cell, realizing the transformation of the pre-programmed cell into Programming unit (in Figure 5, the line segment with an arrow pointing from the pre-programming unit to the programming unit indicates the programming operation process). When all the pre-programmed cells are located on the right side of V1 of the dotted line, it indicates that the programming operation on the pre-programmed cells is completed.
步骤S133、判断预编程单元对应的编程地址是否是预编程区域的最后一个编程地址。Step S133 , judging whether the programming address corresponding to the pre-programmed unit is the last programming address in the pre-programmed area.
在完成步骤S131之后,如果预编程区域的预编程单元通过编程校验,则执行本步骤。如果预编程单元对应的编程地址是预编程区域的最后一个编程地址,表明完成了对预编程区域的编程操作,则执行步骤S135;如果预编程单元对应的编程地址不是预编程区域的最后一个编程地址,表明没有完成对预编程区域的编程操作,则执行步骤S134。After step S131 is completed, if the pre-programmed cells in the pre-programmed area pass the program verification, this step is performed. If the programming address corresponding to the pre-programming unit is the last programming address of the pre-programming area, it indicates that the programming operation to the pre-programming area is completed, then step S135 is performed; if the programming address corresponding to the pre-programming unit is not the last programming of the pre-programming area address, indicating that the programming operation on the pre-programmed area has not been completed, then step S134 is executed.
步骤S134、递增或者递减预编程单元对应的编程地址。Step S134, increment or decrement the programming address corresponding to the pre-programmed unit.
在完成步骤S133之后,如果预编程单元对应的编程地址不是预编程区域的最后一个编程地址,表明没有完成对预编程区域的编程操作,则执行本步骤。执行完本步骤后,返回到步骤S131。After step S133 is completed, if the programming address corresponding to the pre-programmed cell is not the last programming address of the pre-programmed area, it indicates that the programming operation on the pre-programmed area has not been completed, and this step is performed. After this step is executed, return to step S131.
需要说明的是,递增或者递减预编程单元对应的编程地址,可以每一次增加或者减少一个预编程单元对应的编程地址,相应地对一个预编程单元进行编程操作;也可以每一次增加或者减少两个或者更多个预编程单元对应的编程地址,相应地对两个或者更多个预编程单元逐个地进行编程操作。因此,可以根据实际情况,预先设定编程地址进行递增或者递减的规律。通过递增或者递减预编程单元对应的编程地址,能够使编程地址覆盖预编程区域的所有存储空间,并不断地重复步骤S131、步骤S132和步骤S133,从而实现对预编程区域的编程操作。It should be noted that, when incrementing or decrementing the programming address corresponding to the pre-programmed unit, the programming address corresponding to a pre-programmed unit can be increased or decreased each time, and the programming operation is performed on a pre-programmed unit accordingly; it can also be increased or decreased by two corresponding to one or more pre-programmed units, and correspondingly perform programming operations on two or more pre-programmed units one by one. Therefore, the law of incrementing or decrementing the programming address can be preset according to the actual situation. By incrementing or decrementing the programming address corresponding to the pre-programmed unit, the programming address can cover all the storage space of the pre-programmed area, and step S131, step S132 and step S133 are repeated continuously, so as to realize the programming operation of the pre-programmed area.
步骤S135、结束对预编程区域的编程操作。Step S135, ending the programming operation on the pre-programmed area.
在完成步骤S133之后,如果预编程单元对应的编程地址是预编程区域的最后一个编程地址,表明完成了对预编程区域的编程操作,则执行本步骤,即结束对预编程区域的编程操作。After step S133 is completed, if the programming address corresponding to the pre-programmed unit is the last programming address of the pre-programmed area, it indicates that the programming operation of the pre-programmed area is completed, then perform this step, that is, end the programming operation of the pre-programmed area.
本发明实施例提出的非易失性存储器的编程方法,通过在预编程区域的编程指令成功译码后,加入对预编程区域所在的物理存储块的过擦除校验和过擦除修复操作,并且在对物理存储块的过擦除修复操作结束后再对预编程区域进行编程校验和编程操作,这样能够消除由于过擦除产生的漏电流对编程过程的影响,从而保证了编程过程的正确性和稳定性。In the programming method of the non-volatile memory proposed by the embodiment of the present invention, after the programming instruction in the pre-programmed area is successfully decoded, the over-erased check and over-erased repair operation of the physical storage block where the pre-programmed area is located is added. , and after the over-erase repair operation of the physical memory block is completed, the program verification and programming operations are performed on the pre-programmed area, which can eliminate the influence of the leakage current caused by over-erase on the programming process, thus ensuring the programming process correctness and stability.
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present invention and applied technical principles. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present invention, and the present invention The scope is determined by the scope of the appended claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310740588.XACN104751897B (en) | 2013-12-26 | 2013-12-26 | A kind of programmed method of nonvolatile memory |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310740588.XACN104751897B (en) | 2013-12-26 | 2013-12-26 | A kind of programmed method of nonvolatile memory |
| Publication Number | Publication Date |
|---|---|
| CN104751897A CN104751897A (en) | 2015-07-01 |
| CN104751897Btrue CN104751897B (en) | 2018-02-06 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310740588.XAActiveCN104751897B (en) | 2013-12-26 | 2013-12-26 | A kind of programmed method of nonvolatile memory |
| Country | Link |
|---|---|
| CN (1) | CN104751897B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110619915B (en)* | 2018-06-20 | 2023-11-03 | 芯天下技术股份有限公司 | Over-erasure processing method and device for novel nonvolatile memory |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108074614B (en)* | 2016-11-11 | 2020-12-08 | 北京兆易创新科技股份有限公司 | Method and device for improving NOR type FLASH stability |
| CN109935266B (en)* | 2017-12-18 | 2021-03-09 | 北京兆易创新科技股份有限公司 | Memory cell leakage processing method and device and memory |
| CN110838318A (en)* | 2018-08-17 | 2020-02-25 | 北京兆易创新科技股份有限公司 | Method and system for improving data reliability of memory |
| CN114758689A (en)* | 2022-04-08 | 2022-07-15 | 珠海博雅科技股份有限公司 | Erasing method and power-on repair method for nonvolatile memory |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003079370A1 (en)* | 2002-03-13 | 2003-09-25 | Advanced Micro Devices, Inc. | Overerase correction method |
| CN102568594A (en)* | 2010-12-16 | 2012-07-11 | 北京兆易创新科技有限公司 | Over-erasing processing method and system for nonvolatile memory |
| CN102610280A (en)* | 2011-01-20 | 2012-07-25 | 北京兆易创新科技有限公司 | Method and device for repairing memory chip, and memory chip |
| US20120195123A1 (en)* | 2011-01-31 | 2012-08-02 | Aplus Flash Technology, Inc. | Method and apparatus for management of over-erasure in NAND-based NOR-type flash memory |
| US20120224432A1 (en)* | 2011-03-03 | 2012-09-06 | Chung-Meng Huang | Over-erase verification and repair methods for flash memory |
| CN102800362A (en)* | 2011-05-26 | 2012-11-28 | 北京兆易创新科技有限公司 | Over-erasing processing method and processing system of nonvolatile memory |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI443665B (en)* | 2010-12-02 | 2014-07-01 | Winbond Electronics Corp | Over-erased verification and repair methods for flash memory |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003079370A1 (en)* | 2002-03-13 | 2003-09-25 | Advanced Micro Devices, Inc. | Overerase correction method |
| CN102568594A (en)* | 2010-12-16 | 2012-07-11 | 北京兆易创新科技有限公司 | Over-erasing processing method and system for nonvolatile memory |
| CN102610280A (en)* | 2011-01-20 | 2012-07-25 | 北京兆易创新科技有限公司 | Method and device for repairing memory chip, and memory chip |
| US20120195123A1 (en)* | 2011-01-31 | 2012-08-02 | Aplus Flash Technology, Inc. | Method and apparatus for management of over-erasure in NAND-based NOR-type flash memory |
| US20120224432A1 (en)* | 2011-03-03 | 2012-09-06 | Chung-Meng Huang | Over-erase verification and repair methods for flash memory |
| CN102800362A (en)* | 2011-05-26 | 2012-11-28 | 北京兆易创新科技有限公司 | Over-erasing processing method and processing system of nonvolatile memory |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110619915B (en)* | 2018-06-20 | 2023-11-03 | 芯天下技术股份有限公司 | Over-erasure processing method and device for novel nonvolatile memory |
| Publication number | Publication date |
|---|---|
| CN104751897A (en) | 2015-07-01 |
| Publication | Publication Date | Title |
|---|---|---|
| JP4028301B2 (en) | Nonvolatile semiconductor memory device and erase method thereof | |
| CN106158033B (en) | memory circuit and operation method thereof | |
| US9529663B1 (en) | Detection and localization of failures in 3D NAND flash memory | |
| TWI470433B (en) | Method for dodging bad page and bad block caused by suddenly power off | |
| CN104751897B (en) | A kind of programmed method of nonvolatile memory | |
| US8274840B2 (en) | Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same | |
| TWI536386B (en) | Memory programming method, memory controlling circuit unit and memory storage | |
| JP2002025283A (en) | Erasing method for flash memory element | |
| KR20150047821A (en) | Semiconductor memory device, memory system including the same and operating method thereof | |
| JP2012022767A (en) | Soft program of a non-volatile memory block | |
| US8848448B2 (en) | Semiconductor memory device and operating method thereof | |
| US10672481B2 (en) | Semiconductor memory device and operating method thereof | |
| CN109872759B (en) | Memory erasing method and device | |
| US8289773B2 (en) | Non-volatile memory (NVM) erase operation with brownout recovery technique | |
| US9390807B2 (en) | Erase method for flash | |
| US9378829B2 (en) | Non-volatile memory device with an EPLI comparator | |
| JP6288812B2 (en) | Erasing non-volatile memory systems with error correction codes | |
| CN105575427B (en) | Erasing method of nonvolatile memory | |
| CN105575430B (en) | Erasing method of nonvolatile memory | |
| CN105989883B (en) | Memory programming method, memory storage device and memory control circuit unit | |
| CN114005479A (en) | Method and device for improving NOR Flash data read-write reliability and application thereof | |
| CN104751883A (en) | Programming method of nonvolatile memory | |
| CN104751889A (en) | Nonvolatile memory reset method | |
| US20120008393A1 (en) | Nonvolatile memory device and operation method thereof | |
| CN115295056B (en) | Method and storage device for over-erasure repair |
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CP03 | Change of name, title or address | ||
| CP03 | Change of name, title or address | Address after:Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after:Zhaoyi Innovation Technology Group Co.,Ltd. Address before:100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before:GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |