CN109426616B - 字节编程方法以及页面编程方法 - Google Patents
字节编程方法以及页面编程方法 Download PDFInfo
- Publication number
- CN109426616B CN109426616B CN201710783560.2A CN201710783560A CN109426616B CN 109426616 B CN109426616 B CN 109426616B CN 201710783560 A CN201710783560 A CN 201710783560A CN 109426616 B CN109426616 B CN 109426616B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- byte
- array
- specific content
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2253—Address circuits or decoders
- G11C11/2255—Bit-line or column circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; 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/08—Address circuits; Decoders; Word-line control 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/24—Bit-line control 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/30—Power supply 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/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
- G11C7/1021—Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2263—Write conditionally, e.g. only if new data and old data differ
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种字节编程方法以及页面编程方法,字节编程方法用以将储存于页面暂存器的数据编程至非挥发性存储器阵列,包括:读取页面暂存器的选定的字节的数据,用以编程至选定的栏位址所对应的非挥发性存储器阵列中的存储器单元;判断是否依据选定的栏位址更新阵列栏位址,包括:判断选定的字节的数据是否符合特定内容;当选定的字节的数据符合特定内容时,不更新阵列栏位址;以及当选定的字节的数据不符合特定内容时,根据选定的栏位址更新阵列栏位址;以及判断选定的栏位址是否为最后栏位址。根据本发明,当页面暂存器的某一字节符合特定内容时,即不更新阵列栏位址,以减少位元线位址不必要的切换过程的电流损耗。
Description
技术领域
本发明是有关于一种非挥发性存储器的编程方法,特别是适用于操作在低电压下的快闪式存储器的一种字节编程方法以及页面编程方法。
背景技术
页面编程是允许一个字节至数个字节的数据,编程至已经预先抹除的快闪式存储器位址。尽管数据已经载入至快闪式存储器中,页面编程周期会持续进行直到所有的数据都被编程至对应阵列位址的存储器单元为止。为了降低页面编程的时间以及数据的正确性,需要判断被编程的数据是否需要被编程,以及验证已被编程的存储器单元的储存数据,以判断数据是否正确编程。
为了满足快闪式存储器的快速页面编程的需求,操作于低电压的快闪式存储器中的高压泵的效率大幅下降。在高压信号切换的过程中(即,字元线以及位元线的切换),高压泵会损耗许多电流,位元线位址切换过程中电流的损耗在低电压操作时会更明显,因而高压泵需要更大的电流驱动能力以及更快的恢复时间。
然而,增加高压产生电路的电流驱动能力或是预留高压产生电路的恢复时间都会造成成本增加,因此有需要一个更有效率的快速编程方法来降低位址的切换并且减轻高压产生电路的负担。
发明内容
有鉴于此,本发明提出一种字节编程方法,用以将储存于一页面暂存器的数据编程至一非挥发性存储器阵列,包括:读取上述页面暂存器的一选定的字节的数据,用以编程至一选定的栏位址所对应的上述非挥发性存储器阵列中的存储器单元;判断是否依据上述选定的栏位址更新上述阵列栏位址,包括:判断上述选定的字节的数据是否符合一特定内容;当上述选定的字节的数据符合上述特定内容时,不更新上述阵列栏位址;以及当上述选定的字节的数据不符合上述特定内容时,根据上述选定的栏位址更新上述阵列栏位址;以及判断上述选定的栏位址是否为一最后栏位址。
根据本发明的一实施例,上述判断是否更新上述阵列栏位址的步骤更包括:当上述选定的字节的数据不符合上述特定内容时,产生与回写一比对数据,其中上述产生与回写上述比对数据的步骤更包括:读取上述选定的栏位址对应的上述存储器单元的数据;比对上述选定的栏位址对应的上述存储器单元的数据以及上述选定的字节的数据而产生上述比对数据;以及将上述比对数据回写至上述选定的字节;以及判断上述比对数据是否符合上述特定内容;其中,当上述比对数据符合上述特定内容时,判断上述选定的栏位址是否为上述最后栏位址。
根据本发明的一实施例,上述判断上述选定的栏位址是否为上述最后栏位址的步骤更包括:当上述选定的栏位址并非为上述最后栏位址时,读取上述页面暂存器的下一个选定的字节的数据,并重复上述判断是否更新上述阵列栏位址的步骤;以及当上述选定的栏位址为上述最后栏位址时,停止上述字节编程方法。
根据本发明的一实施例,上述判断上述比对数据是否符合上述特定内容的步骤更包括:当上述比对数据不符合上述特定内容时,根据上述比对数据编程上述选定的栏位址对应的存储器单元;以及重复上述产生与回写上述比对数据的步骤。
根据本发明的一实施例,当上述选定的字节或比对数据符合上述特定内容,且上述选定的栏位址为最后栏位址时,停止上述字节编程方法。
本发明更提出一种页面编程方法,用以将储存于一页面暂存器的一页面的数据编程至一非挥发性存储器阵列,包括:执行一验证程序,其中上述验证程序包括:读取上述页面暂存器的一选定的字节的数据,用以编程至一选定的栏位址所对应的上述非挥发性存储器阵列中的存储器单元;判断上述选定的字节的数据是否符合一特定内容;当上述选定的字节的数据不符合上述特定内容时,根据上述选定的栏位址更新上述阵列栏位址,读取上述选定的栏位址所对应的上述非挥发性存储器阵列中的存储器单元的数据,比对上述选定的栏位址对应的上述存储器单元的数据以及上述选定的字节的数据而产生一比对数据,并将上述比对数据回写至上述选定的字节;当上述选定的字节的数据符合上述特定内容时,不更新上述阵列栏位址;以及判断上述选定的栏位址是否为一最后栏位址,当上述选定的栏位址为上述最后栏位址时,判断对应上述页面的全部上述比对数据是否均符合上述特定内容;以及当判断全部上述比对数据的任一者不符合上述特定内容时,执行一编程程序。
根据本发明的一实施例,上述编程程序包括:再次读取上述选定的字节;再次判断上述选定的字节的数据是否符合上述特定内容;当上述选定的字节的数据符合上述特定内容时,不更新上述阵列栏位址;当上述选定的字节的数据不符合上述特定内容时,更新上述阵列栏位址,并根据上述选定的字节,编程上述选定的栏位址对应的上述存储器单元;判断上述选定的栏位址是否为上述最后栏位址;当上述选定的栏位址并非为上述最后栏位址,自读取上述页面暂存器的下一个选定的字节的数据的步骤重复上述编程程序;以及当上述选定的栏位址为上述最后栏位址,回到上述验证程序。
根据本发明的一实施例,上述验证程序更包括:当上述选定的栏位址并非为上述最后栏位址时,读取上述页面暂存器的下一个选定的字节的数据;以及当判断对应上述页面的全部上述比对数据均符合上述特定内容时,结束上述页面编程方法。
根据本发明的一实施例,当选定的字节或比对数据符合特定内容,且选定的栏位址为最后栏位址时,停止本发明的页面编程方法。
根据本发明,当页面暂存器的某一字节符合特定内容时,即不更新阵列栏位址,以减少位元线位址不必要的切换过程的电流损耗。
附图说明
图1是显示根据本发明的一实施例所述的非挥发性存储器装置的方块图;
图2是显示根据本发明的一实施例所述的字节编程方法的流程图;
图3A、图3B是显示根据本发明的一实施例所述的页面编程方法的流程图。
具体实施方式
以下说明为本发明的实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以权利要求范围所界定者为准。
值得注意的是,以下所揭露的内容可提供多个用以实践本发明的不同特点的实施例或范例。以下所述的特殊的元件范例与安排仅用以简单扼要地阐述本发明的精神,并非用以限定本发明的范围。此外,以下说明书可能在多个范例中重复使用相同的元件符号或文字。然而,重复使用的目的仅为了提供简化并清楚的说明,并非用以限定多个以下所讨论的实施例以及/或配置之间的关系。此外,以下说明书所述的一个特征连接至、耦接至以及/或形成于另一特征的上等的描述,实际可包含多个不同的实施例,包括该等特征直接接触,或者包含其它额外的特征形成于该等特征之间等等,使得该等特征并非直接接触。
图1显示根据本发明的一实施例所述的非挥发性存储器装置的方块图。如图1所示,非挥发性存储器装置100包括控制单元101、高压产生电路102、输入位址闩锁/计数器103、阵列栏位址闩锁器104、列编码器105、列编码高压信号转换器105A、列解码器106、栏编码器107、栏编码高压信号转换器107A、栏解码器108、非挥发性存储器阵列109、页面暂存器位址编码器110、页面暂存器111、感测放大器112以及输入输出暂存器114。
根据本发明的一实施例,当控制单元101接收到编程指令CMD时,控制单元101利用致能信号EN致能高压产生电路102,使得高压产生电路102产生栅极电压VH_Gate以及汲极电压VH_Drain。输入位址闩锁/计数器103接收并闩锁来自输入输出暂存器114的输入位址ADD,并将输入位址ADD分成列位址RADD以及栏位址CADD。列位址RADD被传送至列编码器105,栏位址CADD被传送至阵列栏位址闩锁器104与页面暂存器位址编码器110。阵列栏位址闩锁器104根据控制单元101所发出的控制信号SC,将阵列栏位址SADD更新为栏位址CADD,并将阵列栏位址SADD传送至栏编码器107。页面暂存器位址编码器110将栏位址CADD编码为页面暂存器位址PADD,且页面暂存器111接收页面暂存器位址PADD及输入输出暂存器114所输出的写入数据Data。
列编码器105耦接至列编码高压信号转换器105A,栏编码器107耦接至栏编码高压信号转换器107A,且栅极高电压位准VH_Gate被提供至列编码高压信号转换器105A与栏编码高压信号转换器107A以产生列位址选择信号RSEL以及栏位址选择信号CSEL。列解码器106以及栏解码器108分别根据列位址选择信号RSEL以及栏位址选择信号CSEL,选择非挥发性存储器阵列109上对应输入位址ADD的存储器单元。
根据本发明的一实施例,控制单元101利用控制信号SC控制阵列栏位址闩锁器104解锁阵列栏位址SADD,更新为对应的栏位址CADD,使得读写感测放大器112根据阵列栏位址SADD,将页面暂存器111上对应输入位址ADD的页面暂存器位址PADD的字节(byte)的数据,编程至非挥发性存储器阵列109的栏位址CADD的存储器单元上。
根据本发明的一实施例,非挥发性存储器阵列109可为快闪式存储器阵列。根据本发明的一实施例,页面暂存器111可为静态随机存取存储器(SRAM)。根据本发明的其他实施例,页面暂存器111是其他任何类型的存储器或暂存器。
图2显示根据本发明的一实施例所述的字节编程方法的流程图。图2的字节编程方法200,用以将储存于页面暂存器111的页面逐字节编程至非挥发性存储器阵列109,以下将搭配图1进行说明。
如图2所示,当控制单元101接收到编程指令CMD(步骤S21)时,页面暂存器位址编码器110根据选定的栏位址CADD产生选定的页面暂存器位址PADD,控制单元101根据选定的页面暂存器位址PADD自页面暂存器111读取选定的字节的数据(步骤S22)。
随后,控制单元101判断选定的字节的数据是否符合特定内容(步骤S23)。根据本发明的一实施例,特定内容为十六进位的FF,亦即整个选定的字节内所储存的数据皆为逻辑1,用以代表不需对选定的字节进行编程。
当控制单元101判断选定的字节的数据不符合特定内容时,控制单元101利用控制信号SC使输入阵列栏位址闩锁器104的阵列栏位址SADD更新为选定的栏位址CADD,并使阵列栏位址闩锁器104输出等于选定的栏位址CADD的阵列栏位址SADD。于一些实施例中,在阵列栏位址闩锁器104中已锁定有栏位址的情况下,当控制单元101判断选定的字节区段的数据不符合特定内容时,阵列栏位址闩锁器104将解除对已锁定的栏位址的闩锁,以输入选定的栏位址CADD并输出阵列栏位址SADD(步骤S24)。接着,栏编码器107接收阵列栏位址SADD并经由栏编码高压信号转换器107A输出对应的栏位址选择信号CSEL,并利用感测放大器112根据对应的栏位址选择信号CSEL读取非挥发性存储器阵列109中对应阵列栏位址SADD的存储器单元的数据(步骤S25)。
随后,控制单元101比对对应阵列栏位址SADD的存储器单元的数据以及页面暂存器111中选定的字节的数据,而产生比对数据,并且将比对数据回写至页面暂存器111的选定的字节(步骤S26)。根据本发明的一实施例,比对数据表示对应阵列栏位址SADD的存储器单元中需要被编程的那些位元。
接着,控制单元101判断比对数据是否符合特定内容(步骤S27),当比对数据符合特定内容时,代表不需对对应阵列栏位址SADD的存储器单元进行编程,因此控制单元101接着判断选定的栏位址CADD是否为一最后栏位址(步骤S28)。
根据本发明的一实施例,当控制单元101判断选定的栏位址CADD为最后栏位址时,则结束字节编程方法200;当控制单元101判断选定的栏位址CADD并非为最后栏位址时,则输入位址闩锁/计数器103经由输入脉波Clock驱动进位至下一个栏位址,然后回到步骤S22,继续自页面暂存器111读取依据下一个栏位址而选定的字节。
回到步骤S27,当比对数据不符合特定内容时,代表需要对对应阵列栏位址SADD的存储器单元进行编程,因此控制单元101接着根据比对数据,编程上述阵列栏位址SADD对应的存储器单元(步骤S29)。随后,再次利用感测放大器112,读取阵列栏位址SADD对应的存储器单元数据(步骤S25),以及再次比对阵列栏位址SADD对应的存储器单元数据以及页面暂存器中111选定的字节的数据而产生比对数据并回写至选定的字节(步骤S26),直到于步骤S27判断比对数据符合特定内容为止。
根据本发明的一实施例,当步骤S25至步骤S27重复执行了一既定次数后,即使于步骤S27仍判断比对数据不符合特定内容,仍停止对选定的阵列栏位址对应的存储器单元进行编程。
回到步骤S23,当控制单元101判断选定的字节的数据符合特定内容时,控制单元101利用控制信号SC,控制阵列栏位址闩锁器104继续锁定目前栏位址(步骤S30),即不更新阵列栏位址SADD至选定的栏位址CADD。也就是,控制单元101不对非挥发性存储器阵列109的对应选定的栏位址的存储器单元进行编程,并前往步骤S28,判断选定的栏位址是否为一最后栏位址。
根据本发明的一实施例,当选定的字节的数据符合特定内容时,代表不需要对选定的栏位址所对应的存储器单元进行编程,因此控制单元101控制阵列栏位址闩锁器104启动或维持启动,以锁定目前栏位址,使阵列栏位址SADD不被更新。当需要对选定的栏位址所对应的存储器单元进行编程时,控制单元101才控制阵列栏位址闩锁器104解除对目前栏位址的锁定且将阵列栏位址SADD更新为与选定的栏位址相同。如此一来,将可避免因阵列栏位址SADD以及列位址选择讯号RSEL的快速切换所产生的瞬间电流所造成的栅极电压VH_Gate的电压下降而带来的效能降低。
由于字节编程方法200是根据页面暂存器111内的数据是否符合特定内容,来判断是否需要针对非挥发性存储器阵列109的存储器单元进行读取或编程,不仅可以减少不必要的读取或编程动作所耗费的时间,当判断不需对非挥发性存储器阵列109进行编程时,更可透过停止切换读取或栏位址而维持栅极电压VH_Gate的稳定,进而提升数据编程的有效性。
图3A、图3B显示根据本发明的一实施例所述的页面编程方法的流程图。图3A、图3B的页面编程方法300包括验证程序310以及编程程序320,用以将储存于页面暂存器111的页面逐页面编程至非挥发性存储器阵列109,以下将搭配图1进行说明。
如图3A所示,当控制单元101接收到编程指令CMD(步骤S311)时,控制单元101开始执行验证程序310。
首先,控制单元101自页面暂存器111读取选定的字节的数据(步骤S312)。接着,判断选定的字节是否符合特定内容(步骤S313)。根据本发明的一实施例,特定内容为十六进位的FF,亦即整个第一字节内所储存的数据皆为逻辑1,代表不需对对应阵列栏位址SADD的存储器单元进行编程。
当控制单元101判断选定的字节的数据不符合特定内容时,控制单元101利用控制信号SC,控制解除阵列栏位址闩锁器104对目前栏位址的锁定,使栏位址CADD更新为选定的栏位址且阵列栏位址闩锁器104输出等于选定的栏位址的阵列栏位址SADD(步骤S314),并利用感测放大器112读取非挥发性存储器阵列109中对应阵列栏位址SADD的存储器单元的数据(步骤S315)
随后,控制单元101比对阵列栏位址SADD的存储器单元的数据以及页面暂存器111中选定的字节的数据,而产生比对数据,并且将比对数据回写至页面暂存器111的选定的字节(步骤S316),并且控制单元101接着判断选定的栏位址是否为一最后栏位址(步骤S317)。根据本发明的一实施例,比对数据表示对应阵列栏位址SADD的存储器单元中需要被编程的那些位元。
回到步骤313,当控制单元101判断选定的字节的数据符合特定内容时,控制单元101利用控制信号SC,控制阵列栏位址闩锁器104继续锁定目前栏位址(步骤S319),即不更新阵列栏位址SADD,并前往步骤S317,判断选定的栏位址是否为一最后栏位址。若选定的栏位址并非为最后栏位址,则输入位址闩锁/计数器103经由输入脉波Clock驱动进位至下一个栏位址,然后回到步骤S312。
回到步骤S317,根据本发明的一实施例,当控制单元101判断选定的栏位址为最后栏位址时,控制器单元101判断页面暂存器111所储存的页面数据是否与非挥发性存储器阵列109对应的那些存储器单元的数据全部相符(步骤S318)。当所有比对数据均为特定内容时,判断页面暂存器111所储存的页面数据与非挥发性存储器阵列109对应的栏位址的那些存储器单元的数据相符,即页面暂存器111所储存的页面数据已经全部成功地编程至非挥发性存储器阵列109对应的存储器单元,因此无须进入页面编程程序320,结束页面编程方法300。
另一方面,当判断页面暂存器111所储存的页面数据与非挥发性存储器阵列109对应的每一存储器单元的数据包括不相符的结果时,即所有比对数据中的至少一者不为特定内容时,代表页面暂存器111所储存的页面数据尚未成功地编程至非挥发性存储器阵列109对应的存储器单元,因此必须前往执行编程程序320。在执行编程程序320之前,输入位址闩锁/计数器103将被重置以输出初始栏位址。
执行编程程序320时,栏位址闩锁器104锁定初始栏位址,控制单元101读取页面暂存器111的选定的字节的数据(步骤S321)。随后,控制单元101判断选定的字节的数据是否符合特定内容(步骤S322)。
当控制单元101判断选定的字节的数据不符合特定内容时,控制单元101利用控制信号SC,解除阵列栏位址闩锁器104对初始栏位址的锁定,使输入阵列栏位址闩锁器104的栏位址CADD更新为选定的栏位址,并使阵列栏位址闩锁器104输出等于选定的栏位址的阵列栏位址SADD(步骤S323)。控制单元101利用感测放大器112,根据选定的字节的数据编程阵列栏位址SADD对应的存储器单元(步骤S324)。
接着,控制单元101判断选定的栏位址是否为最后栏位址(步骤S325)。当选定的栏位址并非为最后栏位址,则输入位址闩锁/计数器103经由输入脉波Clock驱动进位至下一个栏位址,然后回到步骤S321,控制单元101读取页面暂存器111的下一个选定的字节。当选定的栏位址为最后栏位址,输入位址闩锁/计数器103将被重置以输出初始栏位址,并回到验证程序310的步骤S312。
回到步骤S322,当控制单元101判断选定的字节的数据符合特定内容时,代表不需对对应选定的栏位址的存储器单元进行编程,控制单元101利用控制信号SC,控制阵列栏位址闩锁器104不更新栏位址CADD至选定的栏位址(步骤S326)。于一些实施例中,在阵列栏位址闩锁器104接收选定的栏位址前已锁定有栏位址的情况下,当控制单元101判断选定的字节的数据符合特定内容时,阵列栏位址闩锁器104将维持对已锁定的栏位址的闩锁,使阵列栏位址SADD不被更新。
页面编程方法300用以先将所欲编程的页面数据与非挥发性存储器阵列109中将被编程的存储器单元的数据进行验证,当验证完成后才将页面暂存器111的数据编程至非挥发性存储器阵列109对应的存储器单元,其中当发现页面暂存器111的数据符合特定内容时,则使阵列栏位址SADD锁定于目前的阵列栏位址,即不依据选定的栏位址更新阵列栏位址SADD,用以避免阵列栏位址SADD快速的切换而造成高压产生电路102所产生的栅极电压VH_Gate发生电压下降的非理想效应,也减少了因栅极电压VH_Gate不稳定而需重复编程的时间或是造成存储器阵列验证时的错误判断,进而增加非挥发性存储器阵列的编程速度与稳定度。
由于本发明所提出的字节编程方法200以及页面编程方法300是利用避免存储器阵列栏位址高压讯号快速切换而造成的电流消耗,使得高压产生电路102所产生的栅极电压VH_Gate得以稳定。由于栅极电压VH_Gate的电压稳定,高压产生电路102就不需因提高电流驱动能力以及预留高压恢复时间而升高制造成本,快速页面编程时也不需一再重复编程因而增加电路效能。
以上所述为实施例的概述特征。所属技术领域中具有通常知识者应可以轻而易举地利用本发明为基础设计或调整以实行相同的目的和/或达成此处介绍的实施例的相同优点。所属技术领域中具有通常知识者也应了解相同的配置不应背离本创作的精神与范围,在不背离本创作的精神与范围下他们可做出各种改变、取代和交替。说明性的方法仅表示示范性的步骤,但这些步骤并不一定要以所表示的顺序执行。可另外加入、取代、改变顺序和/或消除步骤以视情况而作调整,并与所揭露的实施例精神和范围一致。
Claims (7)
1.一种字节编程方法,用以将储存于一页面暂存器的数据编程至一非挥发性存储器阵列,其特征在于,所述的方法包括:
读取所述的页面暂存器的一选定的字节的数据,用以编程至一选定的栏位址所对应的所述的非挥发性存储器阵列中的存储器单元;
判断是否依据所述的选定的栏位址更新一阵列栏位址,包括:
判断所述的选定的字节的数据是否符合一特定内容;
当所述的选定的字节的数据符合所述的特定内容时,不更新所述的阵列栏位址;以及
当所述的选定的字节的数据不符合所述的特定内容时,根据所述的选定的栏位址更新所述的阵列栏位址;以及
判断所述的选定的栏位址是否为一最后栏位址,
其中,判断是否更新所述的阵列栏位址的步骤更包括:
当所述的选定的字节的数据不符合所述的特定内容时,产生与回写一比对数据,其中所述的产生与回写所述的比对数据的步骤更包括:
读取所述的选定的栏位址对应的所述的存储器单元的数据;
比对所述的选定的栏位址对应的所述的存储器单元的数据以及所述的选定的字节的数据而产生所述的比对数据;以及
将所述的比对数据回写至所述的选定的字节;以及
判断所述的比对数据是否符合所述的特定内容;
其中,当所述的比对数据符合所述的特定内容时,判断所述的选定的栏位址是否为所述的最后栏位址,
其中,所述的判断所述的选定的栏位址是否为所述的最后栏位址的步骤更包括:
当所述的选定的栏位址并非为所述的最后栏位址时,读取所述的页面暂存器的下一个选定的字节的数据,并重复所述的判断是否更新所述的阵列栏位址的步骤;以及
当所述的选定的栏位址为所述的最后栏位址时,停止所述的字节编程方法。
2.如权利要求1所述的字节编程方法,其特征在于,所述的判断所述的比对数据是否符合所述的特定内容的步骤更包括:
当所述的比对数据不符合所述的特定内容时,根据所述的比对数据编程所述的选定的栏位址对应的存储器单元;以及
重复所述的产生与回写所述的比对数据的步骤。
3.如权利要求1所述的字节编程方法,其特征在于,当所述的选定的字节或比对数据符合所述的特定内容,且所述的选定的栏位址为最后栏位址时,停止所述的字节编程方法。
4.一种页面编程方法,用以将储存于一页面暂存器的一页面的数据编程至一非挥发性存储器阵列,其特征在于,所述的方法包括:
执行一验证程序,其中所述的验证程序包括:
读取所述的页面暂存器的一选定的字节的数据,用以编程至一选定的栏位址所对应的所述的非挥发性存储器阵列中的存储器单元;
判断所述的选定的字节的数据是否符合一特定内容;
当所述的选定的字节的数据不符合所述的特定内容时,根据所述的选定的栏位址更新阵列栏位址,读取所述的选定的栏位址所对应的所述的非挥发性存储器阵列中的存储器单元的数据,比对所述的选定的栏位址对应的所述的存储器单元的数据以及所述的选定的字节的数据而产生一比对数据,并将所述的比对数据回写至所述的选定的字节;
当所述的选定的字节的数据符合所述的特定内容时,不更新所述的阵列栏位址;以及
判断所述的选定的栏位址是否为一最后栏位址,当所述的选定的栏位址为所述的最后栏位址时,判断对应所述的页面的全部所述的比对数据是否均符合所述的特定内容;以及
当判断全部所述的比对数据的任一者不符合所述的特定内容时,执行一编程程序。
5.如权利要求4所述的页面编程方法,其特征在于,所述的编程程序包括:
再次读取所述的选定的字节;
再次判断所述的选定的字节的数据是否符合所述的特定内容;
当所述的选定的字节的数据符合所述的特定内容时,不更新所述的阵列栏位址;
当所述的选定的字节的数据不符合所述的特定内容时,更新所述的阵列栏位址,并根据所述的选定的字节,编程所述的选定的栏位址对应的所述的存储器单元;
判断所述的选定的栏位址是否为所述的最后栏位址;
当所述的选定的栏位址并非为所述的最后栏位址,自读取所述的页面暂存器的下一个选定的字节的数据的步骤重复所述的编程程序;以及
当所述的选定的栏位址为所述的最后栏位址,回到所述的验证程序。
6.如权利要求4所述的页面编程方法,其特征在于,所述的验证程序更包括:
当所述的选定的栏位址并非为所述的最后栏位址时,读取所述的页面暂存器的下一个选定的字节的数据;以及
当判断对应所述的页面的全部所述的比对数据均符合所述的特定内容时,结束所述的页面编程方法。
7.如权利要求4所述的页面编程方法,其特征在于,当所述的选定的字节或比对数据符合所述的特定内容,且所述的选定的栏位址为最后栏位址时,停止所述的页面编程方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710783560.2A CN109426616B (zh) | 2017-08-31 | 2017-08-31 | 字节编程方法以及页面编程方法 |
US16/117,406 US10593407B2 (en) | 2017-08-31 | 2018-08-30 | Fast programming methods for flash memory devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710783560.2A CN109426616B (zh) | 2017-08-31 | 2017-08-31 | 字节编程方法以及页面编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426616A CN109426616A (zh) | 2019-03-05 |
CN109426616B true CN109426616B (zh) | 2023-08-04 |
Family
ID=65435496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710783560.2A Active CN109426616B (zh) | 2017-08-31 | 2017-08-31 | 字节编程方法以及页面编程方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10593407B2 (zh) |
CN (1) | CN109426616B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115831198B (zh) * | 2023-01-06 | 2023-05-02 | 芯天下技术股份有限公司 | 片选使能控制装置、读取装置、擦写装置及快闪存储器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157680A (ja) * | 2001-11-21 | 2003-05-30 | Sony Corp | 不揮発性半導体メモリ装置とその検証方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557572A (en) * | 1992-04-24 | 1996-09-17 | Nippon Steel Corporation | Non-volatile semiconductor memory device |
US5966332A (en) * | 1995-11-29 | 1999-10-12 | Sanyo Electric Co., Ltd. | Floating gate memory cell array allowing cell-by-cell erasure |
KR100437461B1 (ko) * | 2002-01-12 | 2004-06-23 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법 |
US6850438B2 (en) * | 2002-07-05 | 2005-02-01 | Aplus Flash Technology, Inc. | Combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations |
AU2003303412A1 (en) * | 2002-12-30 | 2004-07-22 | Koninklijke Philips Electronics N.V. | Memory controller and method for writing to a memory |
US6775184B1 (en) * | 2003-01-21 | 2004-08-10 | Nexflash Technologies, Inc. | Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof |
DE102004019860B4 (de) * | 2004-04-23 | 2006-03-02 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Programmierung von CBRAM-Speicherzellen |
KR100606173B1 (ko) | 2004-08-24 | 2006-08-01 | 삼성전자주식회사 | 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치 |
JP2006065986A (ja) * | 2004-08-27 | 2006-03-09 | Fujitsu Ltd | 磁気抵抗メモリおよび磁気抵抗メモリ書き込み方法 |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
ITMI20071601A1 (it) * | 2007-08-02 | 2009-02-03 | Incard Sa | Metodo di scrittura di dati in un'unita di memoria non volatile. |
US7978518B2 (en) | 2007-12-21 | 2011-07-12 | Mosaid Technologies Incorporated | Hierarchical common source line structure in NAND flash memory |
JP2011060388A (ja) * | 2009-09-11 | 2011-03-24 | Toshiba Corp | 不揮発性メモリ装置 |
CN102331943B (zh) | 2011-09-08 | 2014-09-17 | 威盛电子股份有限公司 | 在线更新存储器系统与方法 |
US9690650B2 (en) | 2013-03-11 | 2017-06-27 | Macronix International Co., Ltd. | Storage scheme for built-in ECC operations |
US9711225B2 (en) * | 2013-10-16 | 2017-07-18 | Sandisk Technologies Llc | Regrouping and skipping cycles in non-volatile memory |
TWI587302B (zh) | 2014-12-09 | 2017-06-11 | 華邦電子股份有限公司 | 記憶體編程方法以及記憶體裝置 |
US9966124B2 (en) * | 2016-09-02 | 2018-05-08 | Toshiba Memory Corporation | Memory device |
KR102636091B1 (ko) * | 2016-10-14 | 2024-02-14 | 에스케이하이닉스 주식회사 | 저항성 메모리 장치, 이를 위한 선택적 쓰기 장치 및 동작 방법 |
-
2017
- 2017-08-31 CN CN201710783560.2A patent/CN109426616B/zh active Active
-
2018
- 2018-08-30 US US16/117,406 patent/US10593407B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157680A (ja) * | 2001-11-21 | 2003-05-30 | Sony Corp | 不揮発性半導体メモリ装置とその検証方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190066795A1 (en) | 2019-02-28 |
CN109426616A (zh) | 2019-03-05 |
US10593407B2 (en) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7539062B2 (en) | Interleaved memory program and verify method, device and system | |
CN1905070B (zh) | 能够存储多比特数据和单比特数据的闪存设备 | |
US7463520B2 (en) | Memory device with variable trim settings | |
US8375169B2 (en) | Memory controller | |
US8015370B2 (en) | Memory control method and memory system | |
US7466597B2 (en) | NAND flash memory device and copyback program method for same | |
US9524782B2 (en) | Nonvolatile memory device and method of writing data in nonvolatile memory device | |
KR20100033816A (ko) | 비휘발성 메모리 장치의 프로그램 방법 | |
JP2013069408A (ja) | 揮発性メモリ装置のマルチレベルセルプログラム方法 | |
KR20200132566A (ko) | 메모리 장치 및 이의 동작 방법 | |
US20240257885A1 (en) | Memory device and operating method of the memory device | |
CN109426616B (zh) | 字节编程方法以及页面编程方法 | |
US8275934B2 (en) | Nonvolatile memory device and cache read method using the same | |
KR100464523B1 (ko) | 비휘발성 반도체 메모리 및 그 자동 소거/기입 방법 | |
US20240127892A1 (en) | Memory device and operating method of the memory device | |
US11763858B2 (en) | Peak current reduction using dynamic clocking during charge pump recovery period | |
KR20140079913A (ko) | 불휘발성 메모리 장치 및 이의 프로그램 방법 | |
TWI646430B (zh) | 字節編程方法以及頁面編程方法 | |
KR20060018335A (ko) | 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치 | |
CN113971978A (zh) | 页缓冲器及其操作方法以及电路 | |
JP2004030849A (ja) | データの一部書き換え機能を有する半導体不揮発性メモリ | |
US11894076B2 (en) | Apparatus and method for programming and verifying data in non-volatile memory device | |
JP2009015977A (ja) | 不揮発性半導体メモリとそれを用いた記憶装置 | |
JP2012164072A (ja) | メモリコントローラ |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |