CN104217757B - 非易失性存储器的编程方法 - Google Patents
非易失性存储器的编程方法 Download PDFInfo
- Publication number
- CN104217757B CN104217757B CN201310215332.7A CN201310215332A CN104217757B CN 104217757 B CN104217757 B CN 104217757B CN 201310215332 A CN201310215332 A CN 201310215332A CN 104217757 B CN104217757 B CN 104217757B
- Authority
- CN
- China
- Prior art keywords
- memory cell
- data
- buffer
- write
- bit data
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开了一种非易失性存储器的编程方法,适用于包括一页面的非易失性存储器,页面包括电性连接至一字线的多个存储单元,所述编程方法包括下列步骤。将非易失性存储器切换至一写入模式。在写入模式内,将一缓冲器内的多个比特数据写入至所述多个存储单元。将非易失性存储器切换至一验证模式。在验证模式内,验证所述多个存储单元,并依据验证结果选择性地更新缓冲器内的所述多个比特数据。依据缓冲器内的所述多个比特数据而决定是否继续编程非易失性存储器。本发明可降低非易失性存储器的编程时间。
Description
技术领域
本发明涉及一种非易失性存储器的操作方法,且特别涉及一种非易失性存储器的编程方法。
背景技术
非易失性存储器(例如:快闪存储器)可在无电源情况下保留数据,因此广泛应用在各类型的电子装置中。一般而言,非易失性存储器(memory)包括多个实体区块(physicalblock)。每一实体区块具有多个页面(page),且每一页面包括多个存储单元(memorycell)。在操作上,非易失性存储器的编程(program)通常是以页面为单元。例如,现有编程方法会逐一针对页面中的存储单元进行写入与验证处理。然而,现有编程方法会导致非易失性存储器的编程时间会随着存储器编程/抹除循环(program/erase cycle)次数的增加而大幅地提升。
举例来说,图1为用以说明现有编程方法的波形示意图。在此,以页面中连接至同一条字线的多个存储单元为例来看,其中SWL为供应至所述字线的偏压信号。如图1所示,偏压信号SWL的电平会不断地在写入电压VP与验证电压VF之间切换,以致使非易失性存储器可以被切换至写入模式(例如:PM1~PM3)与验证模式(例如:VF1~VF3)。其中,在切换至验证模式的过程中,偏压信号SWL的电平会在一下降时间T11内被下拉至验证电压VF。相对地,在切换至写入模式的过程中,偏压信号SWL的电平会在一上升时间T12内被上拉至写入电压VP。
在操作上,现有编程方法会通过写入模式PM1与验证模式VF1对第1个存储单元进行写入与验证处理。倘若在验证模式VF1中第1个存储单元验证成功时,则现有编程方法将通过写入模式PM2与验证模式VF2,对第2个存储单元进行写入与验证处理。反之,倘若第1个存储单元验证失败时,现有编程方法将通过写入模式PM2与验证模式VF2,持续地对第1个存储单元进行写入与验证处理。
值得一提的是,当非易失性存储器经过多次编程/抹除循环后,存储单元的写入操作将经常失败。因此,当非易失性存储器经过多次编程/抹除循环后,现有编程方法必须不断地对同一存储单元进行写入操作与验证操作,直到存储单元通过验证为止。此时,现有编程方法将不断地在写入模式与验证模式之间进行切换,且模式的切换每次都必须耗费一段时间(例如,下降时间T11或上升时间T12)来完成,故导致非易失性存储器的编程时间大幅地提升。
发明内容
针对现有技术中存在的问题,本发明提供一种编程方法,可降低写入模式与验证模式之间的切换次数,进而降低非易失性存储器的编程时间。
本发明的编程方法,适用于包括一页面的非易失性存储器,页面包括电性连接至一字线的多个存储单元,且编程方法包括下列步骤。将非易失性存储器切换至一写入模式。在写入模式内,将一缓冲器(buffer)内的多个比特数据写入至所述多个存储单元。将非易失性存储器切换至一验证模式。在验证模式内,验证所述多个存储单元,并依据验证结果选择性地更新缓冲器内的所述多个比特数据。依据缓冲器内的所述多个比特数据(bit linedata)而决定是否继续编程非易失性存储器。
在本发明的一实施例中,上述将缓冲器内的所述多个比特数据写入至所述多个存储单元的步骤包括:将所述多个比特数据划分成多个数据组;逐一选取所述多个数据组,以作为一特定数据组;以及,以一预设数据对比特定数据组,以决定是否进行与特定数据组相对应的存储单元的写入操作。
在本发明的一实施例中,上述验证所述多个存储单元,并依据验证结果选择性地更新缓冲器内的所述多个比特数据的步骤包括:逐一选取所述多个存储单元;验证所选取的存储单元;以及,依据所选取的存储单元的验证结果而决定是否更新缓冲器内与所选取的存储单元相对应的比特数据。
本发明的有益效果在于,基于上述,本发明的编程方法是在写入模式内,连续地对处在同一字线上的多个存储单元进行写入处理,并在验证模式内,连续地对处在同一字线上的多个存储单元进行验证处理。藉此,在对经过多次编程/抹除循环的非易失性存储器进行编程的过程中,写入模式与验证模式之间的切换次数也不会大幅度地增加,进而有效地降低非易失性存储器的编程时间。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为用以说明现有编程方法的波形示意图。
图2为依据本发明一实施例的编程方法的流程图。
图3为依据本发明一实施例的用以说明步骤S220的流程图。
图4为依据本发明一实施例的用以说明步骤S240的流程图。
其中,附图标记说明如下:
SWL:偏压信号
VP:写入电压
VF:验证电压
PM1~PM3:写入模式
VF1~VF3:验证模式
T11:下降时间
T12:上升时间
S210~S260:用以说明图2实施例的各步骤流程
S310~S360:用以说明图3实施例的各步骤流程
S410~S460:用以说明图4实施例的各步骤流程
具体实施方式
图2为依据本发明一实施例的编程方法的流程图。其中,所述的编程方法适用于一非易失性存储器,且所述非易失性存储器包括一页面。此外,页面包括电性连接至一字线(word line)的多个存储单元,且所述多个存储单元又各自电性连接至一位线(bit line)。换言之,图2实施例主要是用以列举处在同一字线上的多个存储单元的编程方法。
如步骤S210所示,非易失性存储器将被切换至一写入模式。就步骤S210的细部流程而言,此时供应至字线的偏压信号的电平将逐渐地被调整至一写入电压,以切换至写入模式。此外,如步骤S220所示,在写入模式内,将一缓冲器内的多个比特数据写入至所述多个存储单元。
举例来说,图3为依据本发明一实施例的用以说明步骤S220的流程图。如图3的步骤S310所示,所述多个比特数据将被划分成多个数据组,其中每一数据组包括2个以上的比特数据。此外,如步骤S320所示,将从所述多个数据组中选取其一,以作为一特定数据组。
值得一提的是,一般的抹除操作是将存储单元的状态设定为逻辑1,且写入操作是将存储单元的状态设定为逻辑0。换言之,当所要写入的比特数据为逻辑1时,存储单元无须进行写入操作即存有相应的比特数据。因此,在图3实施例中,将以一预设数据(例如,逻辑1)对比特定数据组,以决定是否进行与特定数据组相对应的所述存储单元的写入操作。
例如,如步骤S330所示,将判别特定数据组中的每一比特数据是否为一预设数据。倘若特定数据组中的所述多个比特数据其中之一并非为预设数据时,则如步骤S340所示,将进行与特定数据组相对应的所述存储单元的写入操作。此时,特定数据组中的所述多个比特数据将被写入至与特定数据组相对应的所述存储单元。相对地,倘若特定数据组中的每一比特数据为预设数据时,则如步骤S350所示,将略过与特定数据组相对应的所述存储单元的写入操作。
举例来说,在一实施例中,每一特定数据组包括3个比特数据,亦即写入操作是以3个存储单元为单位来进行。当特定数据组中的某一比特数据并非为预设数据时,则将对与特定数据组相对应的3个存储单元进行写入操作。反之,特定数据组中的3个比特数据皆为预设数据时,则将略过与特定数据组相对应的3个存储单元的写入操作。
接着,如步骤S360所示,将判别是否已逐一选取所述多个数据组。倘若尚未逐一选取所述多个数据组,则将回到步骤S320,以选取下一个数据组作为特定数据组。相对地,倘若所述多个数据组已逐一被选取,则将进行步骤S360。换言之,在写入模式内,将连续地对处在同一字线上的多个存储单元进行写入处理,以将每一数据组逐一地写入至相应的存储单元中。
当写入模式结束后,如步骤S230所示,非易失性存储器将被切换至一验证模式。就步骤S230的细部流程而言,此时供应至字线的偏压信号的电平将逐渐地被调整至一验证电压,以切换至验证模式。其中,验证电压小于写入电压。此外,如步骤S240所示,在验证模式内,将验证所述多个存储单元,并依据验证结果选择性地更新缓冲器内的所述多个比特数据。
举例来说,图4为依据本发明一实施例的用以说明步骤S240的流程图。如图4的步骤S410所示,将从所述多个存储单元中选取其一。此外,如步骤S420所示,将对所选取的存储单元进行验证。再者,如步骤S430所示,将进一步地判别所选取的存储单元是否验证成功。例如,此时将读取所选取的存储单元,并将从存储单元所读取到的数据与缓冲器内相应的数据比特进行对比。倘若对比结果为两者相同,则代表所选取的存储单元验证成功。反之,倘若对比结果为两者不相同,则代表所选取的存储单元验证失败。因此,在图4实施例中,将依据所选取的存储单元的验证结果,而决定是否更新缓冲器内与所选取的存储单元相对应的比特数据。
举例来说,当所选取的存储单元验证成功时,则代表无需再对所选取的存储单元进行写入操作。因此,如步骤S440所示,此时将以预设数据更新缓冲器内与所选取的存储单元相对应的比特数据。相对地,当所选取的存储单元验证失败时,则代表必须再对所选取的存储单元进行写入操作。因此,如步骤S450所示,此时将不更新缓冲器内与所选取的存储单元相对应的比特数据。
接着,如步骤S460所示,将判别是否已逐一选取所述多个存储单元。倘若尚未逐一选取所述多个存储单元,则将回到步骤S410,以选取下一个存储单元。相对地,倘若所述多个存储单元已逐一被选取,则将进行步骤S250。换言之,在验证模式内,将连续地对处在同一字线上的多个存储单元进行验证处理。
请继续参照图2。当验证模式结束后,如步骤S250所示,将判别缓冲器内的每一比特数据是否为一预设数据。当缓冲器内的所述多个比特数据其中之一并非为预设数据时,则代表存储单元仍然需要进行写入操作,故此时将回到步骤S210。相对地,当缓冲器内的每一比特数据为预设数据时,则如步骤S260所示,将停止编程非易失性存储器。换言之,当验证模式结束后,将依据缓冲器内的所述多个比特数据来决定是否继续编程非易失性存储器。
综上所述,本发明是在写入模式内,连续地对处在同一字线上的多个存储单元进行写入处理,并在验证模式内,连续地对处在同一字线上的多个存储单元进行验证处理。藉此,本发明将可降低写入模式与验证模式之间的切换次数,进而降低非易失性存储器的编程时间。特别是,在对经过多次编程/抹除循环的非易失性存储器进行编程的过程中,写入模式与验证模式之间的切换次数也不会大幅度地增加,进而有效地降低非易失性存储器的编程时间。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (9)
1.一种编程方法,适用于包括一页面的一非易失性存储器,该页面包括电性连接至一字线的多个存储单元,且该编程方法包括步骤:
将该非易失性存储器切换至一写入模式;
在该写入模式内,将一缓冲器内的多个比特数据写入至所述多个存储单元;
将该非易失性存储器切换至一验证模式;
在该验证模式内,验证所述多个存储单元,并依据验证结果选择性地更新该缓冲器内的所述多个比特数据;以及
依据该缓冲器内的所述多个比特数据而决定是否继续编程该非易失性存储器。
2.如权利要求1所述的编程方法,其中将该非易失性存储器切换至该写入模式的步骤包括:
将供应至该字线的一偏压信号的电平调整至一写入电压。
3.如权利要求2所述的编程方法,其中将该非易失性存储器切换至该验证模式的步骤包括:
将该偏压信号的电平调整至一验证电压。
4.如权利要求3所述的编程方法,其中该验证电压小于该写入电压。
5.如权利要求1所述的编程方法,其中将该缓冲器内的所述多个比特数据写入至所述多个存储单元的步骤包括:
将所述多个比特数据划分成多个数据组;
逐一选取所述多个数据组,以作为一特定数据组;以及
以一预设数据对比该特定数据组,以决定是否进行与该特定数据组相对应的所述多个存储单元的写入操作。
6.如权利要求5所述的编程方法,其中以该预设数据对比该特定数据组,以决定是否进行与该特定数据组相对应的所述多个存储单元的写入操作的步骤包括:
判别该特定数据组中的每一所述多个比特数据是否为该预设数据;
当该特定数据组中的所述多个比特数据其中之一并非为该预设数据时,进行与该特定数据组相对应的所述多个存储单元的写入操作,以将该特定数据组中的所述多个比特数据写入至与该特定数据组相对应的所述多个存储单元;以及
当该特定数据组中的每一所述多个比特数据为该预设数据时,略过与该特定数据组相对应的所述多个存储单元的写入操作。
7.如权利要求1所述的编程方法,其中验证所述多个存储单元,并依据验证结果选择性地更新该缓冲器内的所述多个比特数据的步骤包括:
逐一选取所述多个存储单元;
验证所选取的该存储单元;以及
依据所选取的该存储单元的验证结果而决定是否更新该缓冲器内与所选取的该存储单元相对应的该比特数据。
8.如权利要求7所述的编程方法,其中依据所选取的该存储单元的验证结果而决定是否更新该缓冲器内与所选取的该存储单元相对应的该比特数据的步骤包括:
当所选取的该存储单元验证成功时,以一预设数据更新该缓冲器内与所选取的该存储单元相对应的该比特数据;以及
当该存储单元验证失败时,不更新该缓冲器内与所选取的该存储单元相对应的该比特数据。
9.如权利要求1所述的编程方法,其中依据该缓冲器内的所述多个比特数据而决定是否继续编程该非易失性存储器的步骤包括:
判别该缓冲器内的每一所述多个比特数据是否为一预设数据;
当该缓冲器内的所述多个比特数据其中之一并非为该预设数据时,回到将该非易失性存储器切换至该写入模式的步骤;以及
当该缓冲器内的每一所述多个比特数据为该预设数据时,停止编程该非易失性存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310215332.7A CN104217757B (zh) | 2013-05-31 | 2013-05-31 | 非易失性存储器的编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310215332.7A CN104217757B (zh) | 2013-05-31 | 2013-05-31 | 非易失性存储器的编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104217757A CN104217757A (zh) | 2014-12-17 |
CN104217757B true CN104217757B (zh) | 2018-01-05 |
Family
ID=52099155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310215332.7A Active CN104217757B (zh) | 2013-05-31 | 2013-05-31 | 非易失性存储器的编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104217757B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190005447A (ko) * | 2017-07-06 | 2019-01-16 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 동작 방법 및 메모리 시스템 |
CN113409867B (zh) * | 2021-06-29 | 2023-12-15 | 芯天下技术股份有限公司 | 非易失性存储器编程方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502111A (zh) * | 2000-12-27 | 2004-06-02 | 英特尔公司 | 增强的特殊编程模式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101662271B1 (ko) * | 2009-06-29 | 2016-10-04 | 삼성전자주식회사 | 페이지 버퍼 및 이를 구비하는 비휘발성 반도체 메모리 장치 |
-
2013
- 2013-05-31 CN CN201310215332.7A patent/CN104217757B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502111A (zh) * | 2000-12-27 | 2004-06-02 | 英特尔公司 | 增强的特殊编程模式 |
Also Published As
Publication number | Publication date |
---|---|
CN104217757A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI425523B (zh) | 混合型快閃儲存裝置及其操作方法 | |
CN103843067B (zh) | 用于非易失性存储器的片上动态读取 | |
US9292432B2 (en) | Garbage collection method for flash memory | |
CN1856839B (zh) | 使用多进制存储器中的一些存储块作为二进制存储块的非易失性半导体存储器件 | |
CN111095226B (zh) | 具有动态高速缓冲存储器管理的存储器装置 | |
US8433844B2 (en) | Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof | |
JP2013518359A5 (zh) | ||
JP2006323981A (ja) | メモリーをアクセスする方法 | |
CN106484316A (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
TWI606339B (zh) | 資料儲存裝置及其資料維護方法 | |
TW201241831A (en) | Method and apparatus for leakage suppression in flash memory in response to external commands | |
CN104282339A (zh) | 读取电压设定方法、控制电路与存储器储存装置 | |
CN108766495A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104952486B (zh) | 数据储存方法、存储器控制电路单元以及存储器储存装置 | |
CN104850514A (zh) | 存取闪存的方法及相关的控制器与记忆装置 | |
US20110093649A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN106856102B (zh) | 一种Nand Flash的编程方法 | |
CN106445404B (zh) | 存储器编程方法、存储器控制电路单元与存储器存储装置 | |
CN104217757B (zh) | 非易失性存储器的编程方法 | |
CN105989883B (zh) | 存储器编程方法、存储器存储装置与存储器控制电路单元 | |
CN110444243A (zh) | 存储设备读错误纠错能力的测试方法、系统及存储介质 | |
CN107291377A (zh) | 数据储存装置及其数据维护方法 | |
CN104167220B (zh) | 数据读取方法、控制电路、存储器模块与存储器存储装置 | |
JP2012212487A (ja) | メモリシステム | |
CN105513635B (zh) | 编程方法、存储器存储装置及存储器控制电路单元 |
Legal Events
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 |