闪存的数据写入方法与其控制装置

文档序号:1467571 发布日期:2020-02-21 浏览:19次 >En<

阅读说明:本技术 闪存的数据写入方法与其控制装置 (Data writing method of flash memory and control device thereof ) 是由 杨宗杰 于 2015-03-31 设计创作,主要内容包括:本发明公开了一种闪存的数据写入方法与其控制装置,所述闪存包括有多个多层单元,其中每一个多层单元可用来储存多个位,所述方法包括有:分别对所述多个多层单元中的每一个多层单元储存一第一位;判断所述每一个多层单元是否都分别储存了所述第一位;以及当所述每一个多层单元都分别储存了所述第一位时,分别对所述每一个多层单元储存一第二位。本发明可大幅减少所述闪存内满载数据被抹去的次数,并增加所述闪存内未满载数据被抹去的次数,以提高所述闪存的写入速度和使用寿命。(The invention discloses a data writing method of flash memory and a control device thereof, wherein the flash memory comprises a plurality of multi-layer units, each multi-layer unit can be used for storing a plurality of bits, and the method comprises the following steps: storing a first bit for each of the plurality of multi-level cells, respectively; judging whether each multi-layer unit stores the first bit or not; and storing a second bit for each of the multi-level cells when the first bit is stored for each of the multi-level cells. The invention can greatly reduce the times of erasing the full-load data in the flash memory and increase the times of erasing the non-full-load data in the flash memory so as to improve the writing speed and the service life of the flash memory.)

闪存的数据写入方法与其控制装置

本申请要求2015年03月31日提交的中国专利申请号201510148225.6的权利,所述专利文献进一步以中国台湾专利申请号103140545的申请日2014年11月21日作为优先权日,并且在此被完全引述作为参考。

技术领域

本发明涉及一闪存的数据写入方法与其控制装置,尤其涉及提高一闪存的使用寿命与操作速度的方法与其控制装置。

背景技术

一般而言,当一闪存控制电路将一数据写入一闪存内的一个记忆单元时,所述闪存控制电路会先将之前储存在所述记忆单元内的数据抹去,接着才将所述数据写入所述记忆单元内。然而此一作法将会拖慢所述闪存的数据写入速度,因为所述闪存控制电路必须要花时间来将之前储存在所述记忆单元内的数据抹去。再者,一般而言,一闪存的使用寿命是受限于所述闪存的写入与抹去次数。若所述闪存的写入与抹去次数越高,则所述闪存的使用寿命就越低。总言之,若所述闪存的写入与抹去次数越少,则所述闪存的使用寿命就越高。因此,如何同时提高所述闪存的数据写入速度以及使用寿命已成为此领域所亟需解决的问题。

发明内容

因此,本发明所公开的方法与其控制装置主要是提高一闪存的使用寿命与操作速度。

依据本发明的一第一实施例,其揭示了一种将数据写入一闪存的方法,其中所述闪存包括有多个多层单元,其中每一个多层单元可用来储存多个位,所述方法包括有:平均地将一组数据分别储存于所述多个多层单元中的每一个多层单元的一第n位,其中n是大于0的正整数;判断所述每一个多层单元的所述第n位是否都分别储存数据;以及当所述每一个多层单元的所述第n位都分别储存了所述第一位时,分别对所述每一个多层单元的第n+1位进行储存;其中,平均地将所述组数据分别储存于所述每一个多层单元的所述第n位的步骤包括针对所述每一个多层单元进行以下操作:判断要被写入所述多层单元的所述第n位的数据的数据极性,以决定是否对所述多层单元的注入电荷量;其中若所述数据极性为一第一极性,则不对所述多层单元的一浮栅注入一第一电荷量;以及若所述数据极性为一第二极性,则对所述多层单元的所述浮栅注入所述第一电荷量,所述第二极性不同于所述第一极性。

依据本发明的一第二实施例,其揭示了一种控制装置,其用来将数据写入一闪存,其中所述闪存包括有多个多层单元,每一个多层单元可用来储存多个位。所述控制装置包括写入电路以及一判断电路,所述写入电路用来平均地将一组数据分别储存于所述多个多层单元中的每一个多层单元的一第n位,其中n是大于0的正整数;以及所述判断电路用来判断所述每一个多层单元的所述第n位是否都分别储存了;其中若当所述每一个多层单元的所述第n位都分别储存了所述第一位时,分别对所述每一个多层单元的第n+1位进行储存。其中,所述写入电路包括有:一判断单元,用来判断要被写入所述多层单元的所述第n位的数据的数据极性,以决定是否对所述多层单元的注入电荷量;以及一写入单元,其中若所述数据极性为一第一极性,则所述写入单元不对所述多层单元的一浮栅注入一第一电荷量;以及若所述数据极性为一第二极性,则所述写入单元对所述多层单元的所述浮栅注入所述第一电荷量,所述第二极性不同于所述第一极性。

依据以上的实施例,本发明可大幅减少所述闪存内满载数据被抹去的次数,并增加所述闪存内未满载数据被抹去的次数,以提高所述闪存的写入速度和使用寿命。

附图说明

图1是本发明一种控制装置的一实施例示意图。

图2是本发明一多层单元的一实施例示意图。

图3是本发明一种将数据写入一闪存的方法的一实施例流程图。

图4是当本发明一闪存内的8192颗多层单元都被写入一个位的数据后的电荷分布的一实施例示意图。

图5是当本发明一闪存内的8192颗多层单元都被写入两个位的数据后的电荷分布的一实施例示意图。

图6是当本发明一闪存内的8192颗多层单元都被写入三个位的数据后的电荷分布的一实施例示意图。

图7是本发明将三个位的数据写入一闪存内的每一个多层单元的准则的一实施例示意图。

其中,附图标记说明如下:

100 控制装置

102 闪存

104 写入电路

106 判断电路

108 设定电路

110 读取电路

102_1-102_n 闪存分页

200 多层单元

202 控制栅

204 浮栅

206 氧化层

208 源极区域

210 漏极区域

212 P型基底

300 方法

302~324 步骤

402~404、502~508、602~616 曲线

具体实施方式

在说明书及后续的权利要求当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及后续的权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的「包括」是一开放式的用语,故应解释成「包括但不限定于」。此外,「耦接」一词在此是包括任何直接及间接的电气连接手段,因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电气连接于所述第二装置,或者通过其他装置或连接手段间接地电气连接至所述第二装置。

请参考图1。图1所示是依据本发明一种控制装置100的一实施例示意图。控制装置100是一闪存控制电路,因此图1另绘示出一闪存102。闪存102是包括有多个多层单元(multi-level cell),其中每一个多层单元可用来储存多个位的数据。举例来说,闪存102可以是一闪存区块(Block)或一闪存分页(Page)。在本实施例中,图1所示的闪存102是一闪存区块,所述闪存区块是包括有多个闪存分页102_1-102_n,其中多个闪存分页102_1-102_n是分别由多条字符线(Word line)WL_1-WL_n所控制。进一步而言,多个闪存分页102_1-102_n中的每一个闪存分页都会具有多个多层单元。例如,第一个闪存分页102_1中多个多层单元T1_1-T1_m的多个栅极(Gate)均耦接于第一条字符线WL_1,第二个闪存分页102_2中多个多层单元T2_1-T2_m的多个栅极均耦接于第二条字符线WL_2。此外,第n个闪存分页102_n中多个多层单元Tn_1-Tn_m的漏极(Drain)是本实施例闪存102的位线(Bit line)的输出,而第1个闪存分页102_1中多个多层单元T1_1-T1_m的源极(Source)是耦接于一特定电压,例如所述特定电压可以是一接地电压。请注意,本实施例所示的闪存102只是一个简化的闪存区块,在具体实施例中闪存102可能还包括有其他的控制电路来选择性地控制每一个位线的输出以及选择性地控制每一个源极的接地。由于所述电路并不是本发明的重点,因此在此不另赘述。

此外,所述多个多层单元中的每一个多层单元可视为一颗金属氧化物半导体场效晶体管(MOSFET),如图2所示。图2所示是依据本发明一多层单元200的一实施例示意图。多层单元200会包括有一控制栅202以及一浮栅(floating gate)204,其中控制栅202与浮栅204之间是由一氧化层206来区隔。为了方便叙述,本实施例的多层单元200是以一N型场效晶体管来加以实作,因此所述金属氧化物半导体场效晶体管的一源极区域208以及一漏极区域210都是N型区域,而源极区域208以及漏极区域210之间则是一P型基底(P-substrate)212。

此外,为了更清楚描述本发明的精神所在,本实施例所述的多层单元是以三阶快闪记忆单元(TLC,Triple level cell)为例。然而,本发明并未以此为限,任何多阶的快闪记忆单元(MLC,Multi-level cell)均属于本发明的范畴所在。

依据本发明的所述实施例,控制装置100包括有一写入电路104、一判断电路106、一设定电路108以及一读取电路110。写入电路104是用来分别对闪存102内的所述多个多层单元(即T1_1-T1_m,…,Tn_1-Tn_m)中的每一个多层单元储存一第一位。判断电路106是用来判断所述每一个多层单元是否都分别储存了所述第一位。若判断电路106判断出所述每一个多层单元都分别储存了所述第一位时,写入电路104分别对所述每一个多层单元储存一第二位。接着,判断电路106会再次判断所述每一个多层单元是否都分别储存了所述第二位。若判断电路106判断出所述每一个多层单元都分别储存了所述第二位时,写入电路104分别对所述每一个多层单元储存一第三位。设定电路108是用来设定至少一个临界电压。读取电路110是用来依据所述至少一个临界电压来读取闪存102内所述多个多层单元所储存的位数据。

进一步而言,控制装置100的操作可以简化为图3所示的步骤。图3所示是依据本发明一种将数据写入闪存102的方法300的一实施例流程图。倘若大体上可达到相同的结果,并不需要一定照图3所示的流程中的步骤顺序来进行,且图3所示的步骤不一定要连续进行,也就是说其他步骤也可***其中。此外,以下针对本实施例技术特征的描述是假设闪存102内的所述多个多层单元于一开始并没有储存任何的数据位。因此,本实施例的方法300包括有:

步骤302:开始闪存102的数据写入操作;

步骤304:分别对所述多个多层单元中的每一个多层单元储存所述第一位;

步骤306:判断所述每一个多层单元是否都分别储存了所述第一位,若是,则跳至步骤308,若否,则跳至步骤304;

步骤308:判断是否还有数据要被写入闪存102,若是,则跳至步骤310,若否,则跳至步骤324;

步骤310:分别对所述多个多层单元中的每一个多层单元储存所述第二位;

步骤312:判断所述每一个多层单元是否都分别储存了所述第二位,若是,则跳至步骤314,若否,则跳至步骤310;

步骤314:判断是否还有数据要被写入闪存102,若是,则跳至步骤316,若否,则跳至步骤324;

步骤316:分别对所述多个多层单元中的每一个多层单元储存所述第三位;

步骤318:判断所述每一个多层单元是否都分别储存了所述第三位,若是,则跳至步骤320,若否,则跳至步骤316;

步骤320:判断是否还有数据要被写入闪存102,若是,则跳至步骤322,若否,则跳至步骤324;

步骤322:将数据写入另一个闪存或抹去(erase)闪存102的所述多个多层单元内的电荷以继续将数据写入闪存102;

步骤324:结束闪存102的数据写入操作。

首先,当闪存102还没有被写入数据位之前,闪存102的所述多个多层单元的浮栅并不具有电荷。接着,当有数据要被写入闪存102时,写入电路104就会开始分别对所述多个多层单元中的每一个多层单元储存一第一位(步骤304)。举例来说,若闪存102内一共有8192颗多层单元,则写入电路104在步骤304中会依序地对每一颗多层单元写入一个位的数据,一直到数据被写完或每一颗多层单元都储存了一个位的数据为止。进一步而言,针对所述每一个多层单元,判断电路106会先判断要被写入所述多层单元的所述第一位的一数据极性,若所述数据极性为一第一极性,则写入电路104不对所述多层单元的浮栅注入一第一电荷量。总言之,若所述数据极性为一第二极性,则写入电路104对所述多层单元的所述浮栅注入所述第一电荷量。请注意,在本实施例中,所述第一极性是位1,而所述第二极性是位0,然本发明并不以此为限。换句话说,所述第一极性是位0以及所述第二极性是位1也是属于本发明的范围所在。

请参考图4,图4所示是当本发明闪存102内的8192颗多层单元都被写入一个位的数据后的电荷分布的一实施例示意图,其中曲线402代表一共有4096颗多层单元所储存的数据是位1,以及曲线404代表一共有4096颗多层单元所储存的数据是位0。请注意,图4所示的电荷分布仅是本发明的一实施例而已,本发明也不以此为限。换句话说,在本发明的其他实施例中,用来储存位1的多层单元的个数不一定是相等于用来储存位0的多层单元的个数。

此外,在本实施例中,由于当所述数据极性为位1时,写入电路104不对所述多层单元的浮栅注入所述第一电荷量,因此被写入位1的所述多层单元的浮栅所储存的电荷会比被写入位0的所述多层单元的浮栅所储存的电荷来得少。如此一来,在图4中位1所对应的电压会比位0所对应的电压来得低。因此,当读取电路110要读取闪存102内的一颗多层单元所储存的一数据时,只要将所述颗多层单元的字符线耦接至一临界电压Vth1即可,其中临界电压Vth1是由设定电路108所产生。进一步而言,当临界电压Vth1耦接至所述颗多层单元的栅极时,若所述颗多层单元会输出一电流信号于对应的字符线时,则所述颗多层单元所储存的数据就是位1。总言之,当临界电压Vth1耦接至所述颗多层单元的栅极时,若所述颗多层单元不会输出一电流信号于对应的字符线时,则所述颗多层单元所储存的数据就是位0。

另一方面,在步骤306中,若判断电路106判断出闪存102中还有多层单元没被写入了一个位的数据,则写入电路104就会继续对所述多层单元写入一个位的数据,一直到数据被写完或每一颗多层单元都储存了一个位的数据为止。若判断电路106判断出闪存102内的每一颗多层单元都被写入了一个位的数据后,依然还有数据要被写入闪存102(步骤308),此时写入电路104就会依序对所述多个多层单元中的每一个多层单元储存所述第二位,一直到数据写完或每一颗多层单元都储存了两个位的数据为止(步骤310)。

在步骤308中,若判断电路106判断出已经没数据要被写入闪存102中,则控制装置100就会结束闪存102的数据写入操作(步骤324)。

在步骤310中,写入电路104会对已经储存有一个位数据的所述多个多层单元继续写入一第二位,一直到数据写完或每一颗多层单元都储存了两个位的数据为止。进一步而言,针对所述每一个多层单元,判断电路106会先判断所述多层单元原本所储存的所述第一位的所述数据极性以及接着要写入的所述第二位的所述数据极性,若所述多层单元的所述第一位的所述数据极性为位1以及所述第二位的所述数据极性也是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第二电荷量。若所述多层单元的所述第一位的所述数据极性为位1以及所述第二位的所述数据极性是位0,则写入电路104就对所述多层单元的所述浮栅注入所述第二电荷量。若所述多层单元的所述第一位的所述数据极性为位0以及所述第二位的所述数据极性是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第三电荷量。若所述多层单元的所述第一位的所述数据极性为位0以及所述第二位的所述数据极性也是位0,则写入电路104就对所述多层单元的所述浮栅注入所述第三电荷量,其中所述第二电荷量是不同于所述第三电荷量。在本实施例中,所述第二电荷量是大于所述第三电荷量,如图5所示。

图5所示是当本发明闪存102内的8192颗多层单元都被写入两个位的数据后的电荷分布的一实施例示意图,其中曲线502代表一共有2048颗多层单元所储存的数据是位11,曲线504代表一共有2048颗多层单元所储存的数据是位01,曲线506代表一共有2048颗多层单元所储存的数据是位00,以及曲线508代表一共有2048颗多层单元所储存的数据是位10。请注意,图5所示的电荷分布仅是本发明的一实施例而已,本发明也不以此为限。换句话说,在本发明的其他实施例中,用来储存位11、01、00、10分别的多层单元的个数不一定是相等的,其分别的个数也可以是任意分配的。因此,从上述的写入操作可以得知,对一颗多层单元而言,第一次写入的所述第一位可以视为所述多层单元所储存数据的最高有效位(MSB),而第二次写入的所述第二位可以视为所述多层单元所储存数据的最低有效位(LSB)。

此外,从上述的写入数据的操作可以得知,当所述多层单元的所述第一位的所述数据极性为位1以及所述第二位的所述数据极性也是位1时,写入电路104就不会对所述多层单元的所述浮栅注入任何电荷量;当所述多层单元的所述第一位的所述数据极性为位1以及所述第二位的所述数据极性是位0,写入电路104就只会对所述多层单元的所述浮栅注入所述第二电荷量;当所述多层单元的所述第一位的所述数据极性为位0以及所述第二位的所述数据极性是位1,写入电路104就只会对所述多层单元的所述浮栅注入所述第一电荷量;以及当所述多层单元的所述第一位的所述数据极性为位0以及所述第二位的所述数据极性也是位0,写入电路104就会对所述多层单元的所述浮栅注入所述第一电荷量与所述第三电荷量。因此,被写入数据为位11、01、00、10分别的所述多层单元的浮栅所储存的电荷会依序增加,如图5所示。如此一来,当读取电路110要读取闪存102内的一颗多层单元所储存的一数据时,只要将所述颗多层单元的字符线依序耦接至三个不同的临界电压(即临界电压Vth1、Vth2、Vth3)就可以区别出所述颗多层单元所储存的两个位的数据,其中临界电压Vth1、Vth2、Vth3是由设定电路108所产生。请注意,本发明并未限定读取电路110读取出闪存102内的多层单元所分别储存的两个位的数据的方法。由于此领域具有通常知识者可轻易依据临界电压Vth1、Vth2、Vth3来读取出一多层单元所储存的两个位的数据,因此读取电路110的细部操作在此不另赘述。

在步骤312中,若判断电路106判断出闪存102中还有多层单元没被写入了两个位的数据,则写入电路104就会继续对所述多层单元写入第二个位的数据,一直到数据被写完或每一颗多层单元都储存了两个位的数据为止。若判断电路106判断出闪存102内的每一颗多层单元都被写入了两个位的数据后,依然还有数据要被写入闪存102时(步骤314),此时写入电路104就会依序对所述多个多层单元中的每一个多层单元储存所述第三位,一直到数据写完或每一颗多层单元都储存了三个位的数据为止(步骤316)。

在步骤314中,若判断电路106判断出已经没数据要被写入闪存102中,则控制装置100就会结束闪存102的数据写入操作(步骤324)。

在步骤316中,写入电路104会对已经储存有两个位数据的所述多个多层单元继续写入一第三位,一直到数据写完或每一颗多层单元都储存了三个位的数据为止。进一步而言,针对所述每一个多层单元,判断电路106会先判断所述多层单元原本所储存的所述第一、二位的所述数据极性以及接着要写入的所述第三位的所述数据极性,若所述多层单元的所述第一、二位的所述数据极性为位11以及所述第三位的所述数据极性也是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第四电荷量。若所述多层单元的所述第一、二位的所述数据极性为位11以及所述第三位的所述数据极性是位0,则写入电路104就会对所述多层单元的所述浮栅注入所述第四电荷量。若所述多层单元的所述第一、二位的所述数据极性为位01以及所述第三位的所述数据极性是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第五电荷量。若所述多层单元的所述第一、二位的所述数据极性为位01以及所述第三位的所述数据极性是位0,则写入电路104就会对所述多层单元的所述浮栅注入所述第五电荷量。若所述多层单元的所述第一、二位的所述数据极性为位00以及所述第三位的所述数据极性是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第六电荷量。若所述多层单元的所述第一、二位的所述数据极性为位00以及所述第三位的所述数据极性是位0,则写入电路104就会对所述多层单元的所述浮栅注入所述第六电荷量。若所述多层单元的所述第一、二位的所述数据极性为位10以及所述第三位的所述数据极性是位1,则写入电路104就不对所述多层单元的所述浮栅注入一第七电荷量。若所述多层单元的所述第一、二位的所述数据极性为位10以及所述第三位的所述数据极性是位0,则写入电路104就会对所述多层单元的所述浮栅注入所述第七电荷量,其中所述第四电荷量、所述第五电荷量、所述第六电荷量与所述第七电荷量互为不同的电荷量。在本实施例中,所述第四电荷量、所述第五电荷量、所述第六电荷量与所述第七电荷量是逐渐递增,如图6所示。

图6所示是当本发明闪存102内的8192颗多层单元都被写入三个位的数据后的电荷分布的一实施例示意图,其中曲线602代表一共有1024颗多层单元所储存的数据是位111,曲线604代表一共有1024颗多层单元所储存的数据是位011,曲线606代表一共有1024颗多层单元所储存的数据是位001,曲线608代表一共有1024颗多层单元所储存的数据是位101,曲线610代表一共有1024颗多层单元所储存的数据是位100,曲线612代表一共有1024颗多层单元所储存的数据是位000,曲线614代表一共有1024颗多层单元所储存的数据是位010,以及曲线616代表一共有1024颗多层单元所储存的数据是位110。请注意,图6所示的电荷分布仅是本发明的一实施例而已,本发明也不以此为限。换句话说,在本发明的其他实施例中,用来储存位111、011、001、101、100、000、010、110分别的多层单元的个数不一定是相等的,其分别的个数也可以是任意分配的。因此,从上述的写入操作可以得知,对一颗多层单元而言,第一次写入的所述第一位可以视为所述多层单元所储存数据的最高有效位(MSB),第二次写入的所述第二位可以视为所述多层单元所储存数据的第二有效位,以及第三次写入的所述第三位可以视为所述多层单元所储存数据的最低有效位(LSB)。

此外,从上述的写入数据的操作可以得知,当所述多层单元的所述第一、二位的所述数据极性为位11以及所述第三位的所述数据极性是位1时,写入电路104就不会对所述多层单元的所述浮栅注入任何电荷量;当所述多层单元的所述第一、二位的所述数据极性为位11以及所述第三位的所述数据极性是位0,写入电路104就只会对所述多层单元的所述浮栅注入所述第四电荷量;当所述多层单元的所述第一、二位的所述数据极性为位01以及所述第三位的所述数据极性是位1,写入电路104就只会对所述多层单元的所述浮栅注入所述第一电荷量;当所述多层单元的所述第一、二位的所述数据极性为位01以及所述第三位的所述数据极性是位0,写入电路104就会对所述多层单元的所述浮栅注入所述第一电荷量与所述第六电荷量;当所述多层单元的所述第一、二位的所述数据极性为位00以及所述第三位的所述数据极性是位1时,写入电路104就只会对所述多层单元的所述浮栅注入所述第一电荷量和所述第三电荷量;当所述多层单元的所述第一、二位的所述数据极性为位00以及所述第三位的所述数据极性是位0时,写入电路104就只会对所述多层单元的所述浮栅注入所述第一电荷量、所述第三电荷量和所述第七电荷量;当所述多层单元的所述第一、二位的所述数据极性为位10以及所述第三位的所述数据极性是位1,写入电路104就只会对所述多层单元的所述浮栅注入所述第二电荷量;当所述多层单元的所述第一、二位的所述数据极性为位10以及所述第三位的所述数据极性是位0,写入电路104就只会对所述多层单元的所述浮栅注入所述第二电荷量和所述第五电荷量。因此,被写入数据为位111、011、001、101、100、000、010、110分别的所述多层单元的浮栅所储存的电荷会依序增加,如图6所示。如此一来,当读取电路110要读取闪存102内的一颗多层单元所储存的一数据时,只要将所述颗多层单元的字符线依序耦接至六个不同的临界电压(即临界电压Vth1、Vth2、Vth3、Vth4、Vth5、Vth6)就可以区别出所述颗多层单元所储存的三个位的数据,其中临界电压Vth1、Vth2、Vth3、Vth4、Vth5、Vth6是由设定电路108所产生。请注意,本发明并未限定读取电路110读取出闪存102内的多层单元所分别储存的三个位的数据的方法。由于此领域具有通常知识者可轻易依据临界电压Vth1、Vth2、Vth3、Vth4、Vth5、Vth6来读取出一多层单元所储存的三个位的数据,因此读取电路110的细部操作在此不另赘述。

在步骤318中,若判断电路106判断出闪存102中还有多层单元没被写入了三个位的数据,则写入电路104就会继续对所述多层单元写入第三个位的数据,一直到数据被写完或每一颗多层单元都储存了三个位的数据为止。若判断电路106判断出闪存102内的每一颗多层单元都被写入了三个位的数据后,依然还有数据要被写入闪存102时(步骤320),此时写入电路104就会将数据写入另一个闪存或抹去(erase)闪存102的所述多个多层单元内的电荷以继续将数据写入闪存102,并重复上述的步骤302-322。

在步骤320中,若判断电路106判断出已经没数据要被写入闪存102中,则控制装置100就会结束闪存102的数据写入操作(步骤324)。

从上述方法300的操作步骤可以得知,当写入电路104要将位1写入一颗多层单元时,写入电路104就不会将电荷注入所述多层单元的浮栅内,而当写入电路104要将位0写入所述多层单元时,写入电路104就会将电荷注入所述多层单元的浮栅内,如图7所示。图7所示是依据本发明将三个位的数据写入闪存102内的每一个多层单元的准则的一实施例示意图。因此,在第一次写入所述多层单元时,若所述数据的位是1,则不注入电荷,若所述数据的位是0,则注入所述第一电荷量。在第二次写入所述多层单元时,若所述数据的位是11或01,则不注入电荷;若所述数据的位是10,则注入所述第二电荷量;若所述数据的位是00,则注入所述第三电荷量。在第三次写入所述多层单元时,若所述数据的位是111、101、011或001,则不注入电荷;若所述数据的位是110,则注入所述第四电荷量;若所述数据的位是100,则注入所述第五电荷量;若所述数据的位是010,则注入所述第六电荷量;若所述数据的位是000,则注入所述第七电荷量。

请注意,虽然上述本实施例是以可储存三个位的三阶快闪记忆单元为例,但是此领域具有通常知识者在阅读完本实施例的操作特征后应可理解本发明的数据写入方法也适用于任何多阶的快闪记忆单元,因此其也属于本发明的范畴所在。

依据本发明的方法300,控制装置100可以具有至少两种不同的数据写入操作。第一,如果有大量的数据要被写入闪存102时,控制装置100就会将闪存102内的每一个多层单元都会先被写满一个位的数据后,才会开始写入第二个位的数据,当闪存102内的每一个多层单元都被写满两个位的数据后,最后才会开始写入第三个位的数据。当闪存102内的每一个多层单元都被写满三个位的数据后,控制装置100才会将数据继续存入另一个闪存中。第二,如果每一次都只有少量的数据要被写入闪存102时,例如所述少量的数据只会写入闪存102内的每一个多层单元的一或两个位,此时控制装置100就可以在每一次新的数据要被写入闪存102之前将对闪存102进行抹去的操作,以将前一次写入所述多层单元的一或两个位的数据抹去。接着,控制装置100才将新的数据要被写入闪存102。

从上述的两种不同的数据写入操作可以得知,第一种数据写入操作至少是在闪存102内的每一个多层单元都被写满三个位的数据后,控制装置100才会对闪存102进行抹去的操作。因此,第一种数据写入操作可以大幅减少三位的数据(即满载的数据)的抹去的次数,进而提高了闪存102的写入速度和使用寿命。第二种数据写入操作是在数据写入闪存102内的每一个多层单元的一或两个位后,控制装置100就会对闪存102进行抹去的操作。虽然第二种数据写入操作所造成的数据抹去次数比较多,但是控制装置100只是对闪存102内的一或两个位的数据(即未满载的数据)进行抹去的操作,而不是对三位的数据进行抹去的操作。因此,第二种数据写入操作也是可以提高闪存102的使用寿命。

综上所述,本发明所公开闪存控制电路的控制方法是先利用一闪存内的每一个多层单元的较低位来写入数据,待所述较低位都被写入数据后才将数据写入所述每一个多层单元的较高位。如此一来,本发明就可以大幅减少所述闪存内满载数据被抹去的次数,并增加所述闪存内未满载数据被抹去的次数,以提高所述闪存的写入速度和使用寿命。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于补偿电阻存储器设备的劣化的方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类