数据擦除方法与流程

文档序号:11546353阅读:877来源:国知局
数据擦除方法与流程

本发明是有关于一种数据擦除方法,特别是有关于一种用于闪存的数据擦除方法。



背景技术:

一般而言,闪存(例如nor闪存)在执行擦除操作时,会伴随着执行后编程(post-program)操作以消除擦除操作的过度擦除所导致在位线上的漏电现象。但是,当系统的电源在执行擦除或是后编程操作的期间关闭时,漏电现象将可能无法完全消除。因此,发展出通过减少每一扇区(sector)的擦除尺寸(即一次数据擦除所对应的字线数量)来降低漏电现象发生的机率。举例来说,一扇区包括16条字线,而每一次的数据擦除是通过4条字线来完成。如此一来,对于此扇区的擦除操作,则需要通过4次数据擦除来实现。然而,减少擦除尺寸将会延长了每一次擦除操作的时间。因此,如何能以适当的擦除尺寸来进行擦除操作并能减少漏电现象,在存储器装置的技术领域中是个重要的议题。



技术实现要素:

因此,本发明提供一种数据擦除方法,用于一存储器装置。此存储器装置包括配置成一存储器阵列的多个存储单元、多个字线(wordline)、以及多个位线(bitline)。每一存储单元耦接一组交错的字线与位线。存储单元划分成多个扇区,且每一扇区中的存储单元对应一既定数量的字线。此数据擦除方法包括以下步骤:初始设定关于擦除操作的字线数量;执行字线选取操作,以根据字线数量来选取目标扇区中一字线组来作为目标字线组;通过一擦除脉冲来对耦接目标字线组的存储单元进行擦除操作;选取目标字线组中一字线来做为目标字线,并依序对其所有字节所耦接的多个存储单元进行擦除验证;判断对目标字线的所有字节执行的擦除验证是否皆成功;当判断出 任一擦除验证未成功时,对存储器阵列的所有位线依序进行过度擦除验证;判断是否曾执行过未通过过度擦除验证而导致的软编程操作;当判断出尚未执行过软编程操作时,判断字线数量是否小于一最大数量;以及当判断出字线数量小于最大数量时,增加字线数量,以重新执行字线选取操作。

本发明提供另一种数据擦除方法,用于一存储器装置。此存储器装置包括配置成一存储器阵列的多个存储单元、多个字线、以及多个位线。每一存储单元耦接一组交错的字线与位线。存储单元划分成多个扇区,且每一扇区中的存储单元对应一既定数量的字线。此数据擦除方法包括以下步骤:初始设定关于擦除操作的字线数量;执行字线选取操作,以根据字线数量来选取目标扇区中一字线组来作为目标字线组;通过一擦除脉冲来对耦接目标字线组的存储单元进行擦除操作;选取目标字线组中的一目标字线,并依序对其所有字节耦接的多个存储单元进行擦除验证;判断对目标字线的所有字节执行的擦除验证是否皆成功;当判断出任一擦除验证未成功时,对存储器阵列的所有位线依序进行过度擦除验证;判断是否曾执行过未通过过度擦除验证而导致的软编程操作;当判断出尚未执行过软编程操作时,判断擦除脉冲的电压值是否小于一最大值或判断擦除脉冲的脉冲宽度是否小于一最大宽度;当判断出擦除脉冲的电压值小于最大值或判断出擦除脉冲的脉冲宽度小于最大宽度时,增加电压值或增加脉冲宽度,以重新执行擦除操作;当判断出擦除脉冲的电压值并非小于最大值或判断出擦除脉冲的脉冲宽度并非小于最大宽度时,判断字线数量是否小于一最大数量;当判断出字线数量小于最大数量时,增加字线数量,以重新执行字线选取操作。

本发明的擦除操作所采用的字线数量是可变的,可随着在位线上漏电状态而适应性的增加或减少。如此一来,不仅可降低擦除操作导致漏电现象的机率,也可让执行擦除操作所需的时间更能符合存储器装置的操作状态。

附图说明

图1表示存储器装置的一示范例。

图2a、图2b表示根据本发明一实施例,用于存储器装置的控制方法。

图3a、图3b表示根据本发明另一实施例,用于存储器装置的控制方法。

附图标号:

1~存储器装置;

10~存储器阵列;

11~地址解码器;

12~写入/读取电路;

13~控制器;

100~存储单元;

bl0-bly~位线;

s0~sn~扇区;

wl0-wlx~字线;

s200…s223~方法步骤;

s316…s323~方法步骤。

具体实施方式

为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。

图1是表示根据本发明一实施例的存储器装置。参阅图1,存储器装置1包括存储器阵列10、地址解码器11、写入/读取电路12、以及控制器13。存储器阵列10包括多个字线wl0-wlx、多个位线bl0-bly、配置成多个行与多个列的多个存储单元100。字线wl0-wlx与位线bl0-bly相互交错,且每一存储单元100耦接一组交错的字线与位线。这些存储单元100划分成多个扇区(sector)s0~sn。每一扇区s0-sn包括耦接既定数量的字线的存储单元。举例来说,每一扇区s0-sn包括耦接16条字线上存储单元。地址解码器11接收到来自控制器13的地址信号时,写入/读取电路12则配合地址解码器11来将对选取的存储单元进行读取与写入操作。控制器13可根据过度擦除验证的结果来改变擦除操作的执行参数,以消除擦除操作的过度擦除所导致在位线上的漏电现象。在本发明实施例中,存储器装置1为一闪存。

图2a、图2b是表示根据本发明一实施例的数据擦除方法。此方式是当存储器装置1执行多个擦除操作时所采用的数据擦除方法。当控制器13选取一个扇区做为目标扇区时,是分次地通过至少一擦除脉冲来对耦接该扇区的存储单元进行数据擦除。举例来说,每一扇区包括16条字线,每一次的擦除操作是对耦接4条字线的存储单元进行数据擦除。因此,对于一扇区而言,需要执行4次擦除操作。在本发明实 施例中,上述每一次数据擦除所对应的字线数量n(即4条,n=4),则称为关于擦除操作的字线数量n(以下简称为字线数量n)。在其他实施例中,字线数量n可以为4条、8条、16条或以上。

请同时参阅图1、图2a、及图2b,首先,控制器13对存储器阵列10中的一目标扇区执行预编程操作(步骤s200),以将目标扇区中的所有存储单元编程为逻辑位准“0”。接着,控制器13也将字线数量n初始设定为预设值n0,且将用于擦除操作的擦除脉冲的电压值v初始设定为预设值v0并将擦除脉冲的脉冲宽度t初始设定为预设值t0(设定n=n0、v=v0、t=t0)(步骤s201)。在其他实施例中,步骤s200与s201可互相交换,即可以先执行步骤s201再执行s200。之后,控制器13根据地址信号addx以及字线数量n(此时n=n0)来执行一字线选取操作,以选取一目标扇区中的一目标字线组(即选取具有n0条字线的一组字线)(步骤s202)。控制器13根据电压值v(此时v=v0)与脉冲宽度t(此时t=t0)来对耦接目标字线组的所有存储单元进行擦除操作(步骤s203),也就是,控制器13通过写入/读取电路12而以具有电压值v与脉冲宽度t的擦除脉冲来将信号写入目标字线组所对应的多个存储单元,即将目标字线组所对应的多个存储单元编程为逻辑位准“1”。在对目标字线组进行擦除操作后,控制器13选取目标字线组中的第一条字线作为目标字线并控制写入/读取电路12以字节为单位依序对目标字线的所有字节所耦接的多个存储单元读取信号以执行擦除验证,并判断擦除验证是否成功(步骤s204)。当字节中的多个存储单元读出的信号皆为逻辑位准“1”时,控制器13则判断擦除验证成功。控制器13接着判断目标字线中的所有字节是否皆验证成功(步骤s205)。若目标字线中的所有字节皆通过擦除验证,控制器13接着判断目标字线的地址是否已经到达目标字线组的最后地址(步骤s206)。若尚未到达最后地址,控制器13则选取下一字线以作为目标字线(步骤s207),且方法回到步骤s204继续进行擦除验证。

若已经到达最后地址时,控制器13则对耦接目标字线组的所有存储单元执行后编程操作(步骤s208)以消除擦除操作的过度擦除所导致在位线上的漏电现象,即对目标字线组执行过度擦除验证以及软编程操作。之后,控制器13判断目标字线组的地址是否已到达目标扇区的最后地址(步骤s209)。若尚未到达最后地址,控制器13则设定addx=addx+n(步骤s210),且方法回到步骤s202来执行下一次的字线选取操作,以选取目标扇区中的另一字线组以作为目标字线组。若已到达最后地址, 则此方法结束(步骤s211)。

在一实施例中,当在步骤s205中控制器13判断出目标字线中的任一字节擦除验证未成功时,控制器13则逐一对存储器阵列10中的所有位线bl0-bly执行过度擦除验证,以检测位线bl0-bly上是否有漏电。详细而言,控制器13对存储器阵列10中的一目标位线执行过度擦除验证(步骤s212a)并判断验证是否成功(步骤s212b)。当控制器13判断出过度擦除验证不成功时,控制器13则进一步界定验证失败的存储单元,并对验证失败的存储单元执行软编程操作(步骤s212c),以调整该存储单元的临界电压值。在执行步骤s212c的软编程操作之后,方法回到步骤s212a,控制器13再次对目标位线执行过度擦除验证,并再次判断验证是否成功。当控制器13判断出过度擦除验证成功时,控制器13判断目标位线是否为最后一条位线(步骤s212d)。当控制器13判断出目标位线并非为最后一条位线时,控制器13选取下一位线以作为目标位线(步骤s212e),且方法回到步骤s212a。当控制器13判断出目标位线为最后一条位线时,控制器13则判断是否已执行过步骤s212c的软编程操作(步骤s215)。根据上述,控制器13逐一对所有位线执行过度擦除验证。当某一位线未通过过度擦除验证时,则进一步界定验证失败的存储单元,并对其执行软编程操作,以调整该存储单元的临界电压值。

当控制器13判断出曾执行过步骤s212c的软编程操作时,控制器13则判断目前的字线数量n是否大于最小值nmin(n>nmin?)(步骤s216)。当控制器判断出目前的字线数量n大于最小值nmin时,控制器13则减少字线数量n使其等于n2(n=n2)(步骤s217)。接着,方法回到步骤s202,控制器13再次执行字线的选取操作,以根据地址信号addx以及改变过的字线数量n(此时n=n2)来调整原本的目标字线组中的字线数量(即重新根据地址信号addx选取具有n2条字线的一字线组来做为目标字线组)。当控制器13判断出目前的字线数量n并非大于最小值nmin时,控制器13判断电压值v是否大于最小值vmin或判断脉冲宽度t是否大于最小值tmin(v>vmin或t>tmin?)(步骤s218)。当控制器13判断出电压值v大于最小值vmin或判断出脉冲宽度t大于最小值tmin时,控制器13则减少电压值v使其等于v2或者减少脉冲宽度t使其等于t2(步骤s219)。接着,方法回到步骤s202,控制器13先根据地址信号addx及字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据改变过的电压值v与脉冲宽度t(此时v=v2或者t=t2)来对目 标字线组的所有存储单元进行擦除操作(步骤s203)。此外,当控制器13判断出电压值v并非大于最小值vmin或判断出脉冲宽度t并非大于最小值tmin时,方法也回到步骤s202,此时,控制器13根据先根据地址信号addx及原字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据原电压值v与原脉冲宽度t(此时v=v0且t=t0)来对目标字线组的所有存储单元进行擦除操作(步骤s203)。

当控制器13判断出未执行过步骤s212c的软编程操作时,控制器13则判断目前的字线数量n是否小于最大值nmax(n<nmax?)(步骤s220)。当控制器13判断出目前的字线数量n小于最大值nmax时,控制器13则增加字线数量n使其等于n3(步骤s221)。接着,方法回到步骤s202,控制器13再次执行字线的选取操作,以根据地址信号addx以及改变过的字线数量n(此时n=n3)来调整原本的目标字线组中的字线数量(即重新根据地址信号addx选取具有n3条字线的一组字线来做为目标字线组)。当控制器13判断出目前的字线数量n并非小于最大值nmax,控制器13判断电压值v是否小于最大值vmax或判断脉冲宽度t是否小于最大值tmax(v<vmax或t<tmax?)(步骤s222)。当控制器13判断出电压值v小于最大值vmax或判断出脉冲宽度t小于最大值tmax时,控制器13则增加电压值v使其等于v3或者增加脉冲宽度t使其等于t3(步骤s223)。接着,方法回到步骤s202,控制器13先根据地址信号addx及字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据改变过的电压值v与脉冲宽度t(此时v=v3或者t=t3)来对目标字线组的所有存储单元进行擦除操作。此外,当控制器13判断出电压值v并非小于最大值vmax或判断出脉冲宽度t并非小于最大值tmax时,方法也回到步骤s202,此时,控制器13先根据地址信号addx及原字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据原电压值v与原脉冲宽度t(此时v=v0且t=t0)来对目标字线组的所有存储单元进行擦除操作(步骤s203)。

在逐一对存储器阵列的所有位线bl0-bly执行过度擦除验证的步骤s212a-s212e中,施加检测电压至被选取的字线组,此时,控制器13检测目标位线上是否具电流,藉以判断是否发生漏电现象。在本发明的实施例中,检测电压是大于0伏特的电压。由于存储器装置1可能在不同的环境(例如,不同的环境温度)下操作,同一检测电压在不同的操作环境下不一定都会导致漏电或者漏电程度不同。而大于0伏特的检测电压对于各种操作环境而言,相对地容易导致在位线上发生漏电。因 此,本案实施例采用大于0伏特的检测电压是为较严格的检测漏电的条件。

根据上述实施例,本案擦除操作所采用的字线数量是可变的,其可随着目前在位线上漏电状态而适应性的增加或减少。如此一来,不仅可降低擦除操作导致漏电现象的机率,也可让执行擦除操作所需的时间更能符合目前存储器装置1的操作状态。

图3a、图3b是表示根据本发明另一实施例的数据擦除方法。图3a、图3b的数据擦除方法与图2a、图2b的数据擦除方法中相同的步骤是以相同的符号来表示。除了判断是否曾执行的软编程操作(步骤s215)之后的步骤以外,图3a、图3b的数据擦除方法大致上具有与图2a、图2b的数据擦除方法相同的步骤。相同的步骤s200-s215在此省略叙述。请同时参阅图1、图3a、及图3b,当在步骤s215中判断出曾执行过步骤s212c的软编程操作时,控制器13判断电压值v是否大于最小值vmin或判断脉冲宽度t是否大于最小值tmin(v>vmin或t>tmin?)(步骤s316)。当控制器13判断出电压值v大于最小值vmin或判断出脉冲宽度t大于最小值tmin时,控制器13则减少电压值v使其等于v2或者减少脉冲宽度t使其等于t2(步骤s317)。接着,方法回到步骤s202,控制器13先根据地址信号addx及字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据改变过的电压值v与脉冲宽度t(此时v=v2或者t=t2)来对目标字线组的所有存储单元进行擦除操作。当控制器13判断出电压值v并非大于最小值vmin或判断出脉冲宽度t大于最小值tmin时,控制器13则判断目前的字线数量n是否大于最小值nmin(n>nmin?)(步骤s318)。当控制器13判断出目前的字线数量n大于最小值nmin,控制器13则减少字线数量n使其等于n2(步骤s319)。接着,方法回到步骤s202,控制器13再次执行字线的选取操作,以根据地址信号addx以及改变过的字线数量n(此时n=n2)来调整原本的目标字线组中的字线数量(即重新根据地址信号addx选取具有n2条字线的一组字线来做为目标字线组)。此外,当控制器13判断出目前的字线数量n并非大于最小值nmin时,方法也回到步骤s202,此时,控制器13先根据地址信号addx及原字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据原电压值v与原脉冲宽度t(此时v=v0且t=t0)来对目标字线组的所有存储单元进行擦除操作(步骤s203)。

当在步骤s215中控制器13判断出未执行过步骤s212c的软编程操作时,控制器13判断电压值v是否小于最大值vmax或判断脉冲宽度t是否小于最大值tmax (v<vmax或t<tmax?)(步骤s320)。当控制器13判断出电压值v小于最大值vmax或判断出脉冲宽度t小于最大值tmax时,控制器13则增加电压值v使其等于v3或者增加宽度t使其等于t3(步骤s321)。接着,方法回到步骤s202,控制器13先根据地址信号addx及字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据改变过的电压值v与脉冲宽度t(此时v=v3或者t=t3)来对耦接目标字线组的所有存储单元进行擦除操作。当控制器13判断出电压值v并非小于最大值vmax或判断出脉冲宽度t并非小于最大值tmax时,控制器13则判断目前的字线数量n是否小于最大值nmax(n<nmax?)(步骤s322)。当控制器13判断出目前的字线数量n小于最大值nmax时,控制器13则增加字线数量n使其等于n3(步骤s323)。接着,方法回到步骤s202,控制器13再次执行字线的选取操作,以根据地址信号addx以及改变过的字线数量n(此时n=n3)来调整原本的目标字线组中的字线数量(即重新根据地址信号addx选取具有n3条字线的一组字线来作为目标字线组)。此外,当控制器13判断出目前的字线数量n并非小于最大值nmax时,方法也回到步骤s202,此时,控制器13先根据地址信号addx及原字线数量n(此时n=n0)选取目标字线组后(步骤s202),再根据原电压值v与原脉冲宽度t(此时v=v0且t=t0)来对目标字线组的所有存储单元进行擦除操作(步骤s203)。

本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1