CN111863081A - 一种控制NOR flash存储器编程验证的方法和装置 - Google Patents
一种控制NOR flash存储器编程验证的方法和装置 Download PDFInfo
- Publication number
- CN111863081A CN111863081A CN201910356956.8A CN201910356956A CN111863081A CN 111863081 A CN111863081 A CN 111863081A CN 201910356956 A CN201910356956 A CN 201910356956A CN 111863081 A CN111863081 A CN 111863081A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- programmed
- flash memory
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3481—Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供了一种控制NOR flash存储器编程验证的方法和装置。NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,所述方法包括:NOR flash存储器接收编程操作指令和待编程数据,将待编程数据输入到数据锁存器,控制编程验证单元对数据锁存器中多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到地址锁存器中,读取锁存的验证未通过的待编程数据对应的地址,NOR flash存储器控制编程验证单元对验证未通过的待编程数据执行第二次编程验证操作。本发明只对没有通过编程验证操作的待编程数据执行编程验证操作,由此缩短了NOR flash存储器编程操作的时间,提高NOR flash存储器的编程性能。
Description
技术领域
本发明涉及存储器领域,尤其涉及一种控制NOR flash存储器编程验证的方法和装置。
背景技术
目前NOR flash存储器在执行编程操作时,现有编程操作流程是NOR flash存储器接收编程指令后,对待编程数据执行编程验证操作,若是验证不通过需要执行编程加压操作,在执行完编程加压操作后,即使已验证通过的数据,再次执行编程验证时也会对其执行编程验证操作,浪费了不必要的时间,导致降低了NOR flash存储器的编程性能。
参照图1,示出了现有NOR flash存储器编程操作的基本原理示意图,一次编程操作的最大编程数据大小为兆个字节(即M个byte),在接收编程指令后,将待编程数据先锁存起来(最大能锁存M个byte),锁存进一个锁存器中,这些待编程数据会占用该锁存器的多个地址,例如待编程数据为1Mbyte,其占用锁存器的多个地址分别为1~M,之后对其执行编程验证操作,需要从锁存器的首地址到末地址,逐个地址比较是否需要执行编程加压操作,在逐个完成编程验证完成后,如果有需要执行编程加压操作的,则对其执行编程加压操作,在编程加压操作完成之后继续执行编程验证操作,则需要再从锁存器首地址到末地址逐个验证,即前面已经通过了编程验证的,仍会做编程验证操作,直到整个1Mbyte的待编程数据全部都验证通过,浪费了不必要的时间,导致降低了NOR flash存储器的编程性能。
发明内容
本发明提供的一种控制NOR flash存储器编程验证的方法和装置,解决了在编程操作时,不但要对执行过编程加压操作的待编程数据执行编程验证操作,还需要对已通过验证的待编程数据再次执行编程验证操作,浪费了不必要的时间,导致NOR flash存储器的编程性能降低的问题。
为了解决上述技术问题,本发明实施例提供了一种控制NOR flash存储器编程验证的方法,所述NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,所述编程验证单元与所述数据锁存器、所述地址锁存器以及所述存储单元分别连接,所述方法包括:
所述NOR flash存储器接收编程操作指令和待编程数据;
所述NOR flash存储器将所述待编程数据输入到所述数据锁存器,所述待编程数据占用所述数据锁存器的多个地址;
所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到所述地址锁存器中;
所述NOR flash存储器从所述地址锁存器中读取锁存的所述验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据;
所述NOR flash存储器控制所述编程验证单元对所述验证未通过的待编程数据执行第二次所述编程验证操作。
可选地,在所述NOR flash存储器控制所述编程验证单元对所述验证未通过的的待编程数据执行第二次所述编程验证操作之后,所述方法还包括:
若第二次所述编程验证操作验证通过,则所述NOR flash存储器清除所述地址锁存器中第二次所述编程验证操作验证通过的待编程数据对应的地址;
若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址。
可选地,若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址之后,所述方法还包括:
所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作。
可选地,在所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作之后,所述方法还包括:
所述NOR flash存储器控制所述编程验证单元对执行过所述编程加压操作的,第二次所述编程验证操作验证未通过的待编程数据执行第三次所述编程验证操作;
若第三次所述编程验证操作验证通过,则所述NOR flash存储器结束所述编程操作指令对应的编程操作;
若第三次所述编程验证操作验证未通过,则所述NOR flash存储器继续将第三次所述编程验证操作验证未通过的待编程数据对应的地址存到所述地址锁存器中。
可选地,在所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作之后,所述方法还包括:
若所述多个地址中每个地址对应的待编程数据都验证通过,则所述NOR flash存储器直接结束所述编程操作指令对应的编程操作。
本发明实施例还提供了一种控制NOR flash存储器编程验证的装置,所述NORflash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,所述编程验证单元与所述数据锁存器、所述地址锁存器以及所述存储单元分别连接,所述装置包括:
接收模块,用于所述NOR flash存储器接收编程操作指令和待编程数据;
输入模块,用于所述NOR flash存储器将所述待编程数据输入到所述数据锁存器,所述待编程数据占用所述数据锁存器的多个地址;
验证锁存模块,用于所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到所述地址锁存器中;
读取地址模块,用于所述NOR flash存储器从所述地址锁存器中读取锁存的所述验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据;
执行验证模块,用于所述NOR flash存储器控制所述编程验证单元对所述验证未通过的待编程数据执行第二次所述编程验证操作。
可选地,所述装置还包括:
清除模块,用于若第二次所述编程验证操作验证通过,则所述NOR flash存储器清除所述地址锁存器中第二次所述编程验证操作验证通过的待编程数据对应的地址;
继续锁存模块,用于若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址。
可选地,所述装置还包括:
执行加压模块,用于所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作。
可选地,所述装置还包括:
加压验证模块,用于所述NOR flash存储器控制所述编程验证单元对执行过所述编程加压操作的,第二次所述编程验证操作验证未通过的待编程数据执行第三次所述编程验证操作;
结束继续锁存模块,用于若第三次所述编程验证操作验证通过,则所述NOR flash存储器结束所述编程操作指令对应的编程操作;还用于若第三次所述编程验证操作验证未通过,则所述NOR flash存储器继续将第三次所述编程验证操作验证未通过的待编程数据对应的地址存到所述地址锁存器中。
可选地,所述装置还包括:
结束模块,用于若所述多个地址中每个地址对应的待编程数据都验证通过,则所述NOR flash存储器直接结束所述编程操作指令对应的编程操作。
与现有技术相比,本发明提供的一种控制NOR flash存储器编程验证的方法和装置,在执行编程操作时,首先对数据锁存器中的所有待编程数据执行一次编程验证操作,对验证不通过的数据对应的地址锁存进地址锁存器中,再从地址锁存器中从首地址到末地址对数据读取相对应的数据,对其执行第二次编程验证操作,这样就只需要对编程验证未通过的数据执行编程验证操作,而不用每次都要对所有待编程数据执行编程验证操作,由此缩短了NOR flash存储器整个编程操作的时间,提高NOR flash存储器的编程性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有NOR flash存储器编程操作的基本原理示意图;
图2是本发明实施例的一种控制NOR flash存储器编程验证方法的流程图;
图3是本发明实施例步骤105之后的流程图;
图4是本发明实施例的NOR flash存储器编程操作的基本原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2示出了本发明实施例的一种控制NOR flash存储器编程验证方法的流程图。NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,编程验证单元与数据锁存器、地址锁存器以及存储单元分别连接,控制NOR flash存储器编程验证的方法的包括如下步骤:
步骤101:NOR flash存储器接收编程操作指令和待编程数据。
本发明实施例中,NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,其中数据锁存器的作用是:NOR flash存储器将待编程数据输入到数据锁存器锁存起来,以方便进行后续编程操作的流程,地址锁存器为锁存未通过验证的待编程数据的地址;编程验证单元为执行编程验证操作的单元;存储单元为NOR flash存储器中存储写入数据的存储单元。
NOR flash存储器接收由上位机发送的编程操作指令和待编程数据,其中待编程数据为本次编程操作需要写入存储单元的数据,编程操作是指从接收编程操作指令和待编程数据之后,到将待编程数据正确写入存储单元的整个过程。本发明实施例对以上所述不作详细限定,可以根据实际情况进行设置。
步骤102:NOR flash存储器将待编程数据输入到数据锁存器,待编程数据占用数据锁存器的多个地址。
本发明实施例中,NOR flash存储器将待编程数据输入到数据锁存器,待编程数据占用数据锁存器的多个地址,例如待编程数据大小为1Mbyte,其被输入到数据锁存器后,占用数据锁存器的地址从地址1~地址M;每个地址对应待编程数据的M分之一的数据。本发明实施例对此不作详细限定,可以根据实际情况进行设置。
步骤103:NOR flash存储器控制编程验证单元对数据锁存器中多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到地址锁存器中。
本发明实施例中,在待编程数据锁存入数据锁存器后,NOR flash存储器控制编程验证单元对数据锁存器中多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到地址锁存器中。假如数据锁存器中锁存数据占用的地址从地址1~地址M,NOR flash存储器控制编程验证单元对这M个地址对应的待编程数据分别执行第一次编程验证操作,即首先对地址1对应的待编程数据执行第一次编程验证操作,结束后对地址2对应的待编程数据执行第一次编程验证操作,结束后对地址3对应的待编程数据执行第一次编程验证操作,如此反复,直到对地址M对应的待编程数据执行第一次编程验证操作,在上述编程验证操作全部结束后,NOR flash存储器将验证未通过的待编程数据对应的地址锁存到地址锁存器中,假设地址2~地址8未通过验证,则NOR flash存储器将地址2~地址8锁存到地址锁存器中。本发明实施例对此不作详细限定,可以根据实际情况进行设置。
可选地,若多个地址中每个地址对应的待编程数据都验证通过,则NOR flash存储器控制地址锁存器不锁存多个地址中任一地址。
本发明实施例中,若数据锁存器内多个地址中每个地址对应的待编程数据都验证通过,则NOR flash存储器控制地址锁存器不锁存多个地址中任一地址,例如地址1~地址M对应的待编程数据都通过编程验证操作,则NOR flash存储器控制地址锁存器不锁存任何一个地址,代表着待编程数据已经与存储单元内的数据一致,此次编程操作成功。
步骤104:NOR flash存储器从地址锁存器中读取锁存的验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据。
本发明实施例中,在地址锁存器锁存了验证未通过待编程数据的地址后,NORflash存储器从地址锁存器中读取锁存的验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据。例如地址2~地址8锁存在地址锁存器中,即表示地址2~地址8对应的待编程数据没有通过验证,NOR flash存储器从地址锁存器中读取出地址2~地址8,根据该地址确定对应于地址2~地址8的待编程数据。本发明实施例对此不作详细限定,可以根据实际情况进行设置。
步骤105:NOR flash存储器控制编程验证单元对验证未通过的待编程数据执行第二次编程验证操作。
本发明实施例中,确定了验证未通过的待编程数据之后,NOR flash存储器控制编程验证单元对验证未通过的待编程数据执行第二次编程验证操作,例如确定了地址2~地址8对应的待编程数据,NOR flash存储器控制编程验证单元对地址2~地址8对应的待编程数据执行第二次编程验证操作,即对地址2对应的待编程数据执行第二次编程验证操作,结束后对地址3对应的待编程数据执行第二次编程验证操作,结束后对地址4对应的待编程数据执行第二次编程验证操作,结束后对地址5对应的待编程数据执行第二次编程验证操作,结束后对地址6对应的待编程数据执行第二次编程验证操作,结束后对地址7对应的待编程数据执行第二次编程验证操作,结束后对地址8对应的待编程数据执行第二次编程验证操作。
可选地,参照图3,步骤105之后,控制NOR flash存储器编程验证的方法包括:
步骤106a:若第二次编程验证操作验证通过,则NOR flash存储器清除地址锁存器中第二次编程验证操作验证通过的待编程数据对应的地址。
本发明实施例中,在执行完第二次编程验证操作后,若是有验证通过的待编程数据,则NOR flash存储器清除地址锁存器中第二次编程验证操作验证通过的待编程数据对应的地址。例如第二次编程验证操作时,地址4和地址7对应的待编程数据通过了验证,则NOR flash存储器清除地址锁存器中的地址4和地址7。
步骤106b:若第二次编程验证操作验证未通过,则NOR flash存储器控制地址锁存器继续锁存第二次编程验证操作验证未通过的待编程数据对应的地址。
本发明实施例中,在执行完第二次编程验证操作后,若是有验证未通过的待编程数据,则NOR flash存储器控制地址锁存器继续锁存第二次编程验证操作验证未通过的待编程数据对应的地址。例如第二次编程验证操作时,地址4和地址7对应的待编程数据通过了验证,剩下的地址对应的待编程数据没有通过验证,此时地址锁存器中继续锁存地址2、地址3、地址5、地址6、地址8。
可选地,步骤106b之后,控制NOR flash存储器编程验证的方法还包括:
步骤106c:NOR flash存储器对第二次编程验证操作验证未通过的待编程数据执行编程加压操作。
本发明实施例中,在NOR flash存储器控制地址锁存器继续锁存第二次编程验证操作验证未通过的待编程数据对应的地址后,NOR flash存储器对第二次编程验证操作验证未通过的待编程数据执行编程加压操作。例如地址锁存器中第二次编程验证操作验证未通过的待编程数据对应的地址为地址2、地址3、地址5、地址6、地址8,则NOR flash存储器对地址2对应的待编程数据执行编程加压操作,NOR flash存储器对地址3对应的待编程数据执行编程加压操作,NOR flash存储器对地址5对应的待编程数据执行编程加压操作,NORflash存储器对地址6对应的待编程数据执行编程加压操作,NOR flash存储器对地址8对应的待编程数据执行编程加压操作。
步骤106d:NOR flash存储器控制编程验证单元对执行过编程加压操作的,第二次编程验证操作验证未通过的待编程数据执行第三次编程验证操作。
本发明实施例中,在对第二次编程验证操作验证未通过的待编程数据执行过编程加压操作后,NOR flash存储器控制编程验证单元对其执行第三次编程验证操作,例如地址2、地址3、地址5、地址6、地址8对应的待编程数据执行过编程加压操作后,NOR flash存储器控制编程验证单元对地址2、地址3、地址5、地址6、地址8对应的待编程数据执行第三次编程验证操作。
步骤106e1:若第三次编程验证操作验证通过,则NOR flash存储器结束编程操作指令对应的编程操作。
本发明实施例中,若执行第三次编程验证操作的待编程数据验证通过,则NORflash存储器结束编程操作指令对应的编程操作。例如地址2、地址3、地址5、地址6、地址8对应的待编程数据执行过第三次编程验证操作,并且验证通过,则NOR flash存储器结束编程操作指令对应的编程操作。
步骤106e2:若第三次编程验证操作验证未通过,则NOR flash存储器继续将第三次编程验证操作验证未通过的待编程数据对应的地址存到地址锁存器中。
本发明实施例中,若执行第三次编程验证操作的待编程数据有验证未通过的,则NOR flash存储器继续将第三次编程验证操作验证未通过的待编程数据对应的地址存到地址锁存器中。例如地址2、地址3、地址5、地址6、地址8对应的待编程数据执行过第三次编程验证操作,其中地址3和地址5通过了验证,地址2、地址6和地址8仍然没有通过验证,则NORflash存储器继续将地址2、地址6和地址8存到地址锁存器中,之后再对地址2、地址6和地址8对应的待编程数据执行第四次编程验证操作,重复以上过程,直到地址锁存器中没有任何地址。
参照图4,示出了本发明实施例NOR flash存储器编程操作的基本原理示意图,NORflash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,编程验证单元与数据锁存器、地址锁存器以及存储单元分别连接。NOR flash存储器接收由上位机发送的编程操作指令和待编程数据,其中待编程数据为本次编程操作需要写入存储单元的数据,编程操作是指从接收编程操作指令和待编程数据之后,到将待编程数据正确写入存储单元的整个过程。
NOR flash存储器将待编程数据输入到数据锁存器,待编程数据占用数据锁存器的多个地址,例如待编程数据大小为1Mbyte,其被输入到数据锁存器后,占用数据锁存器的地址从地址1~地址M;每个地址对应待编程数据的M分之一的数据在待编程数据锁存入数据锁存器后,NOR flash存储器控制编程验证单元对数据锁存器中多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到地址锁存器中。在上述编程验证操作全部结束后,NOR flash存储器将验证未通过的待编程数据对应的地址锁存到地址锁存器中,假设地址60~地址100未通过验证,则NORflash存储器将地址60~地址100锁存到地址锁存器中,即表示地址60~地址100对应的待编程数据没有通过验证,NOR flash存储器从地址锁存器中读取出地址60~地址100,根据该地址确定对应于地址60~地址100的待编程数据。
确定了验证未通过的待编程数据之后,NOR flash存储器控制编程验证单元对地址60~地址100对应的待编程数据执行第二次编程验证操作,在执行完第二次编程验证操作后,若是有验证通过的待编程数据,则NOR flash存储器清除地址锁存器中第二次编程验证操作验证通过的待编程数据对应的地址。例如第二次编程验证操作时,地址70~地址90对应的待编程数据通过了验证,则NOR flash存储器清除地址锁存器中的地址70~地址90。NOR flash存储器控制地址锁存器继续锁存地址60~地址69,地址91~地址100,NOR flash存储器对地址60~地址69,地址91~地址100对应的待编程数据执行编程加压操作,在对其执行过编程加压操作后,NOR flash存储器控制编程验证单元对其执行第三次编程验证操作,地址60~地址69对应的待编程数据验证通过,地址91~地址100对应的待编程数据验证未通过,则NOR flash存储器继续将地址91~地址100存到地址锁存器中。
NOR flash存储器控制编程验证单元对地址91~地址100对应的待编程数据执行编程加压操作,在对其执行过编程加压操作后,NOR flash存储器控制编程验证单元对其执行第四次编程验证操作,地址91~地址100对应的待编程数据验证通过,则NOR flash存储器结束编程操作指令对应的操作,并且编程成功。
需要说明的是,以上所例举的地址数据是为了更好的解释本发明实施例而例举的简单地址数据,并不代表实际NOR flash存储器中存储单元的地址数据。
本发明实施例一种控制NOR flash存储器编程验证的装置,NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,编程验证单元与数据锁存器、地址锁存器以及存储单元分别连接,控制NOR flash存储器编程验证的装置包括:
接收模块,用于NOR flash存储器接收编程操作指令和待编程数据;
输入模块,用于NOR flash存储器将待编程数据输入到数据锁存器,待编程数据占用数据锁存器的多个地址;
验证锁存模块,用于NOR flash存储器控制编程验证单元对数据锁存器中多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到地址锁存器中;
读取地址模块,用于NOR flash存储器从地址锁存器中读取锁存的验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据;
执行验证模块,用于NOR flash存储器控制编程验证单元对验证未通过的待编程数据执行第二次编程验证操作。
可选地,控制NOR flash存储器编程验证的装置还包括:
清除模块,用于若第二次编程验证操作验证通过,则NOR flash存储器清除地址锁存器中第二次编程验证操作验证通过的待编程数据对应的地址;
继续锁存模块,用于若第二次编程验证操作验证未通过,则NOR flash存储器控制地址锁存器继续锁存第二次编程验证操作验证未通过的待编程数据对应的地址。
可选地,控制NOR flash存储器编程验证的装置还包括:
执行加压模块,用于NOR flash存储器对第二次编程验证操作验证未通过的待编程数据执行编程加压操作。
可选地,控制NOR flash存储器编程验证的装置还包括:
加压验证模块,用于NOR flash存储器控制编程验证单元对执行过编程加压操作的,第二次编程验证操作验证未通过的待编程数据执行第三次编程验证操作;
结束继续锁存模块,用于若第三次编程验证操作验证通过,则NOR flash存储器结束编程操作指令对应的编程操作;还用于若第三次编程验证操作验证未通过,则NOR flash存储器继续将第三次编程验证操作验证未通过的待编程数据对应的地址存到地址锁存器中。
可选地,控制NOR flash存储器编程验证的装置还包括:
结束模块,用于若多个地址中每个地址对应的待编程数据都验证通过,则NORflash存储器直接结束编程操作指令对应的编程操作。
通过上述实施例,本发明在编程操作时,首先对数据锁存器中的所有待编程数据执行一次编程验证操作,对验证不通过的数据对应的地址锁存进地址锁存器中,再从地址锁存器中读取验证失败地址相对应的数据,对其执行第二次编程验证操作,对第二次编程验证操作验证不通过的待编程数据执行编程加压操作,之后再对执行过编程加压操作的待编程数据执行第三次编程验证操作,之后若是验证通过,则结束编程操作指令对应的操作,若还是有未通过的待编程数据,则继续重复上述过程。使用本发明的方案,在整个编程操作的过程中,只对没有通过编程验证操作的待编程数据执行编程验证操作,而不用每次都要对所有待编程数据执行编程验证操作,由此缩短了NOR flash存储器整个编程操作的时间,提高NOR flash存储器的编程性能。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种控制NOR flash存储器编程验证的方法,其特征在于,所述NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,所述编程验证单元与所述数据锁存器、所述地址锁存器以及所述存储单元分别连接,所述方法包括:
所述NOR flash存储器接收编程操作指令和待编程数据;
所述NOR flash存储器将所述待编程数据输入到所述数据锁存器,所述待编程数据占用所述数据锁存器的多个地址;
所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到所述地址锁存器中;
所述NOR flash存储器从所述地址锁存器中读取锁存的所述验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据;
所述NOR flash存储器控制所述编程验证单元对所述验证未通过的待编程数据执行第二次所述编程验证操作。
2.根据权利要求1所述的方法,其特征在于,在所述NOR flash存储器控制所述编程验证单元对所述验证未通过的的待编程数据执行第二次所述编程验证操作之后,所述方法还包括:
若第二次所述编程验证操作验证通过,则所述NOR flash存储器清除所述地址锁存器中第二次所述编程验证操作验证通过的待编程数据对应的地址;
若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址。
3.根据权利要求2所述的方法,其特征在于,若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址之后,所述方法还包括:
所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作。
4.根据权利要求3所述的方法,其特征在于,在所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作之后,所述方法还包括:
所述NOR flash存储器控制所述编程验证单元对执行过所述编程加压操作的,第二次所述编程验证操作验证未通过的待编程数据执行第三次所述编程验证操作;
若第三次所述编程验证操作验证通过,则所述NOR flash存储器结束所述编程操作指令对应的编程操作;
若第三次所述编程验证操作验证未通过,则所述NOR flash存储器继续将第三次所述编程验证操作验证未通过的待编程数据对应的地址存到所述地址锁存器中。
5.根据权利要求1所述的方法,其特征在于,在所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作之后,所述方法还包括:
若所述多个地址中每个地址对应的待编程数据都验证通过,则所述NOR flash存储器直接结束所述编程操作指令对应的编程操作。
6.一种控制NOR flash存储器编程验证的装置,其特征在于,所述NOR flash存储器包括:数据锁存器、地址锁存器、编程验证单元以及存储单元,所述编程验证单元与所述数据锁存器、所述地址锁存器以及所述存储单元分别连接,所述装置包括:
接收模块,用于所述NOR flash存储器接收编程操作指令和待编程数据;
输入模块,用于所述NOR flash存储器将所述待编程数据输入到所述数据锁存器,所述待编程数据占用所述数据锁存器的多个地址;
验证锁存模块,用于所述NOR flash存储器控制所述编程验证单元对所述数据锁存器中所述多个地址中每个地址对应的待编程数据分别执行第一次编程验证操作,并将验证未通过的待编程数据对应的地址锁存到所述地址锁存器中;
读取地址模块,用于所述NOR flash存储器从所述地址锁存器中读取锁存的所述验证未通过的待编程数据对应的地址,以确定对应的验证未通过的待编程数据;
执行验证模块,用于所述NOR flash存储器控制所述编程验证单元对所述验证未通过的待编程数据执行第二次所述编程验证操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
清除模块,用于若第二次所述编程验证操作验证通过,则所述NOR flash存储器清除所述地址锁存器中第二次所述编程验证操作验证通过的待编程数据对应的地址;
继续锁存模块,用于若第二次所述编程验证操作验证未通过,则所述NOR flash存储器控制所述地址锁存器继续锁存第二次所述编程验证操作验证未通过的待编程数据对应的地址。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
执行加压模块,用于所述NOR flash存储器对第二次所述编程验证操作验证未通过的待编程数据执行编程加压操作。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
加压验证模块,用于所述NOR flash存储器控制所述编程验证单元对执行过所述编程加压操作的,第二次所述编程验证操作验证未通过的待编程数据执行第三次所述编程验证操作;
结束继续锁存模块,用于若第三次所述编程验证操作验证通过,则所述NOR flash存储器结束所述编程操作指令对应的编程操作;还用于若第三次所述编程验证操作验证未通过,则所述NOR flash存储器继续将第三次所述编程验证操作验证未通过的待编程数据对应的地址存到所述地址锁存器中。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
结束模块,用于若所述多个地址中每个地址对应的待编程数据都验证通过,则所述NORflash存储器直接结束所述编程操作指令对应的编程操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356956.8A CN111863081A (zh) | 2019-04-29 | 2019-04-29 | 一种控制NOR flash存储器编程验证的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356956.8A CN111863081A (zh) | 2019-04-29 | 2019-04-29 | 一种控制NOR flash存储器编程验证的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111863081A true CN111863081A (zh) | 2020-10-30 |
Family
ID=72966650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910356956.8A Pending CN111863081A (zh) | 2019-04-29 | 2019-04-29 | 一种控制NOR flash存储器编程验证的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111863081A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409852A (zh) * | 2021-06-17 | 2021-09-17 | 芯天下技术股份有限公司 | 一种提高闪存编程效率的方法、装置、存储介质和终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6046936A (en) * | 1998-02-16 | 2000-04-04 | Hitachi, Ltd. | Semiconductor, memory card, and data processing system |
US6118703A (en) * | 1998-04-22 | 2000-09-12 | Nec Corporation | Nonvolatile storage device and control method therefor |
US20010050377A1 (en) * | 2000-04-27 | 2001-12-13 | Tamio Ikehashi | Nonvolatile semiconductor memory |
US20080205159A1 (en) * | 2007-02-27 | 2008-08-28 | Macronix International Co., Ltd. | Verification process of a flash memory |
US20170154677A1 (en) * | 2015-11-26 | 2017-06-01 | Bongsoon LIM | Nonvolatile memory device and storage device including nonvolatile memory device |
CN106856102A (zh) * | 2015-12-08 | 2017-06-16 | 北京兆易创新科技股份有限公司 | 一种Nand Flash的编程方法 |
-
2019
- 2019-04-29 CN CN201910356956.8A patent/CN111863081A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6046936A (en) * | 1998-02-16 | 2000-04-04 | Hitachi, Ltd. | Semiconductor, memory card, and data processing system |
US6118703A (en) * | 1998-04-22 | 2000-09-12 | Nec Corporation | Nonvolatile storage device and control method therefor |
US20010050377A1 (en) * | 2000-04-27 | 2001-12-13 | Tamio Ikehashi | Nonvolatile semiconductor memory |
US20080205159A1 (en) * | 2007-02-27 | 2008-08-28 | Macronix International Co., Ltd. | Verification process of a flash memory |
US20170154677A1 (en) * | 2015-11-26 | 2017-06-01 | Bongsoon LIM | Nonvolatile memory device and storage device including nonvolatile memory device |
CN106856102A (zh) * | 2015-12-08 | 2017-06-16 | 北京兆易创新科技股份有限公司 | 一种Nand Flash的编程方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409852A (zh) * | 2021-06-17 | 2021-09-17 | 芯天下技术股份有限公司 | 一种提高闪存编程效率的方法、装置、存储介质和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850292B2 (en) | Flash memory system and read method in flash memory system | |
TWI521513B (zh) | 讀取電壓設定方法、控制電路與記憶體儲存裝置 | |
JP3672435B2 (ja) | 不揮発性メモリ装置 | |
CN106373614A (zh) | 半导体存储器件及其操作方法 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
US9672914B1 (en) | Semiconductor memory device and operating method thereof | |
CN106373610A (zh) | 半导体存储器件及其操作方法 | |
CN111933199B (zh) | 基于存储器的数据读写方法、装置及存储介质 | |
CN101271731A (zh) | 存储器的擦除方法 | |
CN109273039B (zh) | 一种闪存器的擦除验证设备和方法 | |
CN106920571A (zh) | 一种Nand Flash的编程方法 | |
CN109473139A (zh) | 编程非易失性存储器的方法及存储器*** | |
CN111863081A (zh) | 一种控制NOR flash存储器编程验证的方法和装置 | |
CN109509503B (zh) | 编程非易失性存储器的方法及存储器*** | |
CN111951868B (zh) | 一种控制擦除的方法和装置 | |
CN107305792B (zh) | 一种测试存储器的方法和装置 | |
CN115472190A (zh) | 存储器读写验证方法 | |
CN111863087B (zh) | 一种控制编程性能的方法和装置 | |
CN105117330A (zh) | Cnn代码测试方法及装置 | |
CN106328202B (zh) | 闪存装置及数据擦除方法 | |
CN105278866A (zh) | 固态储存装置及其错误更正控制方法 | |
TWI635499B (zh) | 編程非揮發性記憶體的方法及記憶體系統 | |
CN101174472A (zh) | 缺陷存储单元的筛选方法 | |
CN111477258B (zh) | 半导体存储器装置、控制器以及两者的操作方法 | |
CN111951856B (zh) | 一种部分编程的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |
|
RJ01 | Rejection of invention patent application after publication |