用于对非易失性存储器中的数据进行编程的方法和装置的制作方法

文档序号:6772161阅读:87来源:国知局
专利名称:用于对非易失性存储器中的数据进行编程的方法和装置的制作方法
技术领域
本发明涉及对非易失性存储器中的数据进行编程。
背景技术
如今非常频繁地使用非易失性存储器(Non-Volatile Memory)——例如闪存、 EPROM、EEPROM等等——来存储数据。例如在数据处理单元、通信装置、以及例如用于监控和控制如车辆、火车等等之类的交通工具的监控或控制单元中,数据连续地生成并且存储在非易失性存储器中。非常常见的是,非易失性存储器具有带有场效应晶体管、例如MOS晶体管的存储单元,所述场效应晶体管除了控制栅以外还具有浮动栅,以便在那里存储电荷。通常将浮动栅理解成如下区域该区域可以吸收自由载流子、即电荷,并且通过氧化物与所有其他导电区域电隔离。在此,电荷在浮动栅上的存在或不存在对应于所存储的具有逻辑状态1或0 的数据值。在编程脉冲的情况下,电荷例如可以借助于热载流子效应或者i^owler-Nordheim 遂穿效应通过将相应电压施加到控制栅上而被带到浮动栅上。存储在浮动栅中的电荷在没有另外的能量输送的情况下停留在该栅上,但是其中通过小的电荷流出率电荷量随时间减小。因此,为了持久地对数据进行编程,需要将相应的最小量的电荷带到浮动栅上。通常例如要求非易失性存储器的数据具有最小数据保持时间。针对该最小数据保持时间,可以根据存储器类型或应用来设置不同的值,例如对于数据为5年、对于程序代码为20年。为了遵守这一点,在编程脉冲以后例如通过检查存储单元的启动电压来关于所施加的电荷进行检查。在确定电荷量不足的情况下,一次或多次地重复编程脉冲。

发明内容
本发明的任务在于,提供用于对非易失性存储器进行编程的改进方案。一种方法包括用第一编程模式将数据编程到非易失性存储器中,生成控制信号, 以及根据控制信号的出现切换到第二编程模式。另外,一种装置包括非易失性存储器以及控制单元,其中该控制单元被配置为基于控制信号的出现将对非易失性存储器的数据的编程从第一编程模式切换到第二编程模式。非易失性存储器的存储单元例如可以是具有浮动栅的场效应晶体管、例如具有浮动栅的M0SFET,以用于存储信息。在实施例中,非易失性存储器是闪存。在实施例中,在第二编程模式中的编程与第一编程模式相比具有较短的编程时间和较短的数据保持时间。另外,在第二编程模式中的编程与第一编程模式相比可以利用较小数目的编程脉冲和/或较高的编程电压来进行。在实施例中,可以在第一编程模式中对存储单元的编程进行检查并且必要时对各个存储单元进行再编程,其中在第二编程模式中,编程在不检查和再编程的情况下进行。
第一编程模式可以是如下的编程模式其中为了将数据值编程或写入到存储单元中,编程脉冲可以被重复一次或多次。当所编程的存储单元中的一个或多个未足够好地被编程以便满足预定义的数据保持时间时,在第一编程模式中执行编程脉冲的重复。第二编程模式是如下的编程模式其中为了对数据值进行编程仅仅执行一次编程脉冲。在一个实施例中,在第二模式中放弃检查电荷状态或检查数据保持时间和在未足够编程情况下对重新的编程脉冲的施加。由于数据被顺序地编程或写入,因此可以显著更快地将数据编程到非易失性存储器中或可以提高数据编程速率或数据写入速率。在实施例中,在出现控制信号时,终止(abbrechen)用于擦除存储单元的擦除过程 (ERASE),其中在第二编程模式中,擦除过程不再开始。通常,非易失性存储器具有瞬时活跃的和瞬时非活跃的存储器,其中非活跃的存储器包括较旧的数据。在此,擦除过程在瞬时非活跃的扇区上进行,以便为新数据提供空间。换言之,在这些实施例中,基于控制信号的出现中断(imterbrechen)瞬时非活跃的扇区上的擦除过程。在实施例中,输出信号由至少一个传感器元件来监控并且根据所监控的输出信号来确定是否存在第一状态。控制信号基于对存在第一状态的确定来生成。第一状态例如可以是紧急状态,也就是说,例如显示运输工具的相撞的状态。传感器元件例如可以是用于确定弹回或碰撞的出现的传感器元件。在一个实施例中,当例如错误地确定了第一状态的出现时,生成另外的控制信号。 然后,根据该另外的控制信号的出现再次转换到第一编程模式,其中根据该另外的控制信号的出现将在第二编程模式中写入存储单元中的数据标记为无效写入的数据。在一个实施例中,在第二编程模式中写入存储单元中的数据的数据值在切换到第一编程模式以后被重新编程。这保证了不再使用在第二编程模式中所编程的数据,该数据与在第一编程模式中所编程的数据相比具有小的数据保持时间。由于在切换到第一编程模式以后的出发点是,所编程的数据具有与第一编程模式相对应的较高的数据保持时间,因此在没有重新编程的情况下继续使用在第二编程模式中所编程的数据会导致在与第一编程模式相对应的数据保持时间期满以前以高的概率丢失这些数据。因此将不再保证数据安全性,这通过在第一编程模式中重新编程来避免。另外,如果在出现所述控制信号以前就终止了用于擦除存储单元的擦除过程,则基于所述另外的控制信号的出现重新执行所中断的用于擦除存储单元的擦除过程。


另外的扩展方案和改进方案是从属权利要求的主题,或者参考附图在下面的详述描述中予以阐述,其中
图1示出根据一个实施例的装置的示意图; 图2示出根据一个实施例的装置的示意图;以及图3示出根据一个实施例的流程图。
具体实施例方式参考图1,现在阐述具有装置100的实施例,该装置100具有非易失性存储器102 和控制单元或控制器104。非易失性存储器102例如可以具有带有场效应晶体管的存储单元作为存储数据的单元。非易失性存储器例如可以是闪存。在一个实施例中,非易失性存储器102是闪存。如上面已经提到的那样,闪存是可以通过对具有浮动栅的场效应晶体管进行编程来存储信息的存储器。具有浮动栅的场效应晶体管通常具有一个或多个高电压泵,以便产生为了编程所需的电压。对闪存的编程例如可以从其中所有单元都具有逻辑0 的擦除状态(Erase状态)出发来进行。但是能够理解,在其他实施例中,编程也可以从其中所有单元都具有逻辑1的擦除状态出发来进行。非易失性存储器102可以划分成一个或多个块,所述块又可以分成多个子单元,例如页、扇区或块。在闪存的情况下,通常对整个页进行编程并且对整个块或扇区执行擦除过程。控制单元104被配置为控制非易失性存储器102。另外,控制单元104还可以提供另外的功能,所述功能可以涉及非易失性存储器102或者也可以处于非易失性存储器102 之外。控制单元104可以由多个单元组成,这些单元另外还可以在空间上彼此分离。在一个实施例中,控制单元104可以具有一个或多个具有相应功能的接口。控制单元104可以借助于软件或固件来编程或者可部分编程,或者纯粹地按硬件来构造,例如以状态机的形式来构造。在实施例中,控制单元104可以具有一个或多个寄存器,以便存储信息。控制单元可以被配置为生成用于擦除存储单元、对存储单元中的数据进行编程或者读出数据的电压和/或电流。另外,控制单元104可以确定上述功能的时间流程并且承担非易失性存储器102的其他的控制或运行功能。控制单元104被配置为基于控制信号执行非易失性存储器102的第一编程模式到第二编程模式的切换。在此,可以将控制信号既理解成预先确定的信息或数据值——在其例如在寄存器中出现时进行编程模式的切换——又理解成任何其他类型的合适信号。在一个实施例中,控制单元104被配置为能够在第一编程模式中执行用于将数据值编程到存储单元中的多次编程过程,其方式是,例如在每个编程脉冲以后,检测所施加的电荷或者指示所施加的电荷的测量值,并且基于此执行编程脉冲的一次或多次重复。在该实施例中,在切换到第二编程模式中以后,仅仅施加一个唯一的编程脉冲,而与是否对于所有所编程的存储单元来说都利用该唯一的编程脉冲达到相应的标称数据保持时间无关。在一个实施例中,在第二编程模式中,不执行对所施加的电荷的检查。同样在一个实施例中,也不执行在第一编程模式中执行或部分执行的另外的编程步骤。由于数据被顺序地编程或写入,因此可以由此显著更快地将数据编程到非易失性存储器102中或者可以提高数据编程速率或数据写入速率,因为与第一编程模式不同,在第一编程脉冲以后,结束对数据的编程输入,并且不必等待对存储单元的重新编程或再编程,这与利用一个唯一的编程脉冲的写入相比将对于数据的编程时间提高了相应的因数。当出现例外状态或紧急状态时上述处理方式例如是特别有利的,在所述例外状态或紧急状态的情况下,给上边布置有非易失性存储器的组件或其他单元的外部电能供给不再可用。在这样的情况下,大多需要或期望的是,在完全失灵以前在非易失性存储器102 上存储具有特定数据量的特定数据。这样的情况例如可以在一个对象与另一对象相撞(碰撞)时,例如在诸如两个车辆之类的两个交通工具相撞时出现,其中交通工具的供给电池破裂并且因此仅仅在少量的剩余时间内通过组件上的内电容器或电容为非易失性存储器102 提供能量供给。在这种情况下,由于技术和/或安全原因需要或期望的是,在非易失性存储器102上存储关于交通工具的行为的特定数据、例如关于气囊的触发的特定数据,以便允许在相撞以后从非易失性存储器102中读出并且分析或评估该数据。相应地,当数据处理装置或计算机从高处坠落并且在此电池破裂或损坏时,例如可能出现其他的紧急状态。在此,利用仅仅一个编程脉冲的编程为几乎所有存储单元实现了最小数据保持时间,该最小数据保持时间足以保证最少在特定时期内读出数据。由此,在出现紧急情况时、 例如在由于相撞造成能量供给故障时,在第二编程模式中对数据进行快速的编程,但是其中保证至少在特定时期内从存储单元中读出所编程的数据。因此,在紧急情况下保证能够写入并且在稍后读出特定数据。由于在紧急情况以后,数据通常在紧急情况之后不久例如被读出以用于分析或评估,因此在第二模式中的数据写入以及与此相联系的减小的数据保持时间完全足以保证在出现紧急情况时应当写入的数据的数据安全性。上述处理方式尤其是还使得能够使用节能的编程脉冲、例如Rwler-Nordheim编程脉冲,其中在第一编程模式中,为了达到标称数据保持时间通常需要对存储单元的一次或多次重新编程并且由此出现直至15ms的长编程时长,并且之后在出现紧急状态时切换到第二编程模式,其中每存储单元仅仅执行一个唯一的编程脉冲,由此尽管减小数据保持时间或不再能够达到最小数据保持时间,但是可以在时间窗内对相应数据量进行显著更快的编程,该时间窗通过缺少的外部能量供给以及到具有小容量的内部能量供给的切换来得出。由此例如实现了,对于在紧急情况下需要快速编程的诸如气囊应用之类的应用来说,也可以使用诸如i^owler-Nordheim编程方法之类的编程方法,所述编程方法是节能的,但是在“正常”编程模式中为了满足标称数据保持时间需要更长的编程时间或对单个存储单元的多次的再编程。在其他实施例中,在第二编程模式中,替代于用一个唯一的编程脉冲进行编程,编程可以利用一个以上的编程脉冲来进行,其中第二编程模式中的编程脉冲的数目少于第一编程模式中的编程脉冲的数目。另外,在一个实施例中,在第二编程模式中,编程可以进行为使得为了编程所施加的电压不同于在第一模式中编程时所施加的电压。因此,通过提高编程电压同样可以达到较快的编程。在实施例中,编程电压的提高可以与编程脉冲数目的减少相组合。例如在一个实施例中,可以在第二编程模式中用一个唯一的编程脉冲和提高的编程电压进行编程。在实施例中,在出现控制信号时终止用于擦除存储单元、例如用于擦除页的擦除过程(ERASE),其中在第二编程模式中,不再自动开始该擦除过程。在具有场效应晶体管作为数据存储器的非易失性存储器、例如闪存的情况下,需要擦除过程,以便能够擦除存在的编程以及执行重新的编程。在闪存的情况下,擦除过程按页(或者按块/按扇区)执行,也就是说,在擦除过程中,始终对整个页进行删除或将其置入擦除状态。该擦除过程的立即终止一方面使得能够避免在紧急状态下为了不一定需要的过程的电能损耗,并且另一方面使得能够快速地写入数据。在此与公知方法不同,擦除过程不中断,而是终止,也就是说,不尝试再次开始擦除过程。这所具有的优点是,在第二编程模式中,在两个对数据进行编程的任务之间,控制单元104不浪费时间和能量来再次开始擦除过程,而是在第二编程模式中对要编程的数据的编程执行时间和能量优化。在实施例中,编程状态、即例如擦除或编程可以存储在特殊的存储区域、例如未擦除扇区中的特殊的状态页中,由此擦除过程的终止不是关键的。在不在未擦除扇区中进行这样的记录的其他实施例中,也可以考虑,由于擦除过程的
7终止存储单元可以具有被称为无效的状态,也就是说,其中不存储关于存储单元或存储单元区域是被擦除还是被编程的信息。根据一个实施例,在第二编程模式期间被编程输入的数据是涉及紧急状况的数据,例如与测量的相撞相关联的数据、例如涉及气囊的数据。在一个实施例中,仅仅对涉及紧急状况的数据进行编程。在一个实施例中,当例如发现错误地认定了紧急状态时,例如当没有相撞发生、而是仅仅轻度刮擦到路边石棱时,或者仅当短时中断能量供给时,才重复终止的擦除过程,以便保证非易失性存储器102不具有拥有不规律或非法状态的存储单元。同样将在第二编程模式期间所编程的数据标记为无效的,因为由于未检查电荷而不确保所编程的数据能够在标称数据保持时间(例如可能为5年)内保持。在实施例中,基于传感器的测量参量或测量信号来执行用于切换的控制信号。在相撞时进行切换的上述实施例中,所述测量参量例如可以是在决定触发气囊时所考虑的相同测量值或测量参量。这样的测量参量例如包括加速度传感器、力传感器等等的测量参量。 在此,控制单元104例如同样可以承担用于控制气囊的功能。也就是说,当控制单元104确定应触发气囊时,基于该触发同样生成用于从第一编程模式切换到第二编程模式的控制信号。参考图2,现在阐述一个实施例,其中控制单元104由多个单个的控制单元200和 204构成,这些控制单元通过接口 202连接。在图2所示的实施例中,控制单元200与非易失性存储器102耦合,以便能够执行对存储器功能的相应控制,例如选择存储单元、生成编程或擦除电压、读出数据等等。控制单元200的输出端与接口 202之一耦合。另外,接口 202与控制单元204耦合,以便从控制单元204接收命令或信息。控制装置204例如可以是可以实施一种或多种功能的微控制器。 控制单元204例如可以是气囊控制单元,其执行用于控制和监控气囊的功能。在运行中,控制装置204向接口 202发送命令或信息。在一个实施例中,接口 202 实现解释器功能,以便将从控制装置204接收的命令或信息转换成可以被控制单元200解释的命令或信息。由接口 202实施的功能例如可以通过软件或以其他方式来编程。控制单元200和204同样可以通过软件或以其他方式来编程。接口 202的设置提高了灵活性并且实现了,控制单元204可以被其他类型的控制单元204更换,而不必改变控制单元200中的命令功能。于是,仅需要接口 202中的匹配。 控制单元204例如可以是一般的微控制器或者专用于特定任务的微控制器、例如气囊控制器。控制单元200另外同样可以被构造成控制器或者可编程接口等等。在一个实施例中,控制信号在控制单元中直接从控制装置204传输给控制单元 200。这例如可以如此进行,即使得预定的信息或数据值被控制单元204生成并且通过接口 202写入控制单元200的一个或多个寄存器中。在一个实施例中,可以为每个存储模块、例如每个闪存模块设置相应的寄存器。预定信息在寄存器中的存在不断地由控制单元200检查,并且在寄存器中存在预定值时执行从第一模式到第二模式的切换。在一个实施例中,实现在控制单元204上运行的软件与控制单元200的直接通信。另外,在一个实施例中可以设置从控制单元204发送给接口 202的特殊命令,以便引起从第一编程模式到第二编程模式的切换。
参考图3,现在描述根据本申请的一个实施例的流程图300。在步骤302,首先在表示“正常”编程模式的第一编程模式中执行对数据的编程。 在304检查是否出现用于切换到第二编程模式的控制信号。如果情况不是这样,则在步骤302中继续在第一编程模式中编程。在306决定例如对于非易失性存储器102的扇区是否存在运行的擦除过程。如果存在擦除过程,则在308终止该擦除过程并且在310执行到编程模式的切换。如果在306中不存在运行的擦除过程,则直接跳转到步骤310并且执行到第二编程模式的切换。在切换以后,在312在第二编程模式中对例如碰撞数据的数据进行编程。在数据在312中被编程以后,在314检查是否存在另外的控制信号。在此,该另外的控制信号是例如显示错误地或有误地认定了紧急状况的控制信号。如果情况不是这样,则该系统保持在第二编程模式中。但是如果出现该另外的控制信号,则在316中确定是否已经在308进行了擦除过程的终止。如果已经进行了这样的擦除过程,则在318重新执行擦除过程,在320切换到第一编程模式,并且将在第二编程模式期间被编程输入的数据标记为无效。如果在316确定 未曾终止运行的擦除过程,则直接跳转到步骤320,并且切换到第一编程模式,并且在322 将在第二编程模式期间被编程输入的数据说明为无效。在此应当指出,所示流程的许多修改是可能的,包括交换顺序或插入附加步骤。例如可以在320切换到第一编程模式以后,将在第二编程模式中写入存储单元中的数据值在切换到第一编程模式以后重新编程到其他存储区域、例如其他页中。于是,这些数据具有足够的编程数据保持时间,因为这些数据被检查并且必要时被再编程。
权利要求
1.一种方法,具有下列步骤用第一编程模式将数据编程到非易失性存储器(102)中;生成控制信号;以及根据控制信号的出现切换到第二编程模式。
2.根据权利要求1所述的方法,其中在第二编程模式中的编程与第一编程模式相比具有较短的编程时间和较短的数据保持时间。
3.根据权利要求1或2所述的方法,其中在第二编程模式中的编程与第一编程模式相比利用较小数目的编程脉冲和/或较高的编程电压来进行。
4.根据前述权利要求之一所述的方法,其中在第一编程模式中对存储单元的编程进行检查并且必要时对各个存储单元进行再编程,并且其中在第二编程模式中,编程在不检查和再编程的情况下进行。
5.根据前述权利要求之一所述的方法,其中第一编程模式是如下的编程模式其中为了将数据值编程到存储单元中,编程脉冲能够被重复一次或多次,并且其中第二编程模式是如下的编程模式其中为了对数据值进行编程仅仅施加一次编程脉冲。
6.根据前述权利要求之一所述的方法,其中所述非易失性存储器(102)的存储单元具有带有浮动栅的场效应晶体管以用于存储信息。
7.根据权利要求6所述的方法,其中用于将数据值编程到存储单元中的编程过程具有 Fowler-Nordheim 隧穿。
8.根据权利要求6或7所述的方法,其中所述非易失性存储器(102)是闪存。
9.根据权利要求8所述的方法,其中在出现控制信号时,终止用于擦除存储单元的擦除过程,其中在第二编程模式中,擦除过程不开始。
10.根据前述权利要求之一所述的方法,其中该方法还具有下列步骤监控至少一个传感器元件的输出信号;根据所监控的输出信号来确定是否存在第一状态;以及基于对存在第一状态的确定来生成控制信号。
11.根据权利要求10所述的方法,其中第一状态显示运输工具的相撞。
12.根据前述权利要求之一所述的方法,其中该方法还具有下列步骤生成另外的控制信号;根据该另外的控制信号的出现切换到第一编程模式;以及根据该另外的控制信号的出现将在第一编程模式中写入存储单元中的数据标记为无效写入的数据。
13.根据权利要求12所述的方法,其中在第二编程模式中写入存储单元中的数据的数据值在切换到第一编程模式以后被重新编程。
14.根据权利要求12或13之一所述的方法,其中基于控制信号的出现终止用于擦除存储单元的擦除过程,并且其中基于所述另外的控制信号的出现重新执行所中断的用于擦除存储单元的擦除过程。
15.一种装置(100),具有下列特征非易失性存储器(102);以及控制单元(104),其中该控制单元(104)被配置为基于控制信号的出现将非易失性存储器(102)的数据的编程从第一编程模式切换到第二编程模式。
16.根据权利要求15所述的装置(100),其中在第二编程模式中的编程与第一编程模式相比具有较短的编程时间和较短的数据保持时间。
17.根据权利要求15或16所述的装置(100),其中在第二编程模式中的编程与第一编程模式相比利用较小数目的编程脉冲和/或较高的编程电压来进行。
18.根据权利要求15至17之一所述的装置(100),其中装置(100)被设置为在第一编程模式中对存储单元的编程进行检查以及必要时对各个存储单元进行再编程,并且在第二编程模式中在不检查和再编程的情况下执行编程。
19.根据权利要求15至18之一所述的装置(100),其中第一编程模式是如下的编程模式其中为了将数据值编程到存储单元中,编程脉冲能够被重复一次或多次,并且其中第二编程模式是如下的编程模式其中为了对数据值进行编程仅仅施加一次编程脉冲。
20.根据权利要求15至19之一所述的装置(100),其中所述非易失性存储器(102)的存储单元具有带有浮动栅的晶体管以用于存储信息。
21.根据权利要求20所述的装置(100),其中所述非易失性存储器(102)被配置为使得利用Rwler-Nordheim隧穿对非易失性存储器(102)的存储单元编程。
22.根据权利要求20所述的装置(100),其中所述非易失性存储器(102)是闪存。
23.根据权利要求15至22之一所述的装置(100),其中控制单元(104)被配置为在出现控制信号时终止用于擦除非易失性存储器(102)的存储单元的擦除过程,而不在第二编程模式期间再次开始该擦除过程。
24.根据前述权利要求之一所述的装置(100),其中所述控制单元还被配置为根据至少一个传感器元件的输出信号生成控制信号。
25.根据权利要求M所述的装置(100),其中控制单元(104)被配置为在识别出运输工具的相撞时生成控制信号。
26.根据前述权利要求之一所述的装置(100),其中控制单元(104)还被配置为生成另外的控制信号并且根据该另外的控制信号的出现切换到第一编程模式并且将在第一编程模式中写入存储单元中的数据标记为无效写入的数据。
27.根据权利要求沈所述的装置(100),其中控制单元(104)被配置为在切换到第一编程模式以后对在第二编程模式中写入存储单元中的数据的数据值进行重新编程。
28.根据权利要求沈或27之一所述的装置(100),其中控制单元(104)被配置为基于控制信号的出现终止用于擦除非易失性存储器(102)的存储单元的擦除过程并且基于所述另外的控制信号的出现重新执行所中断的用于擦除存储单元的擦除过程。
29.一种气囊系统,具有下列特征用于触发气囊的设备;以及根据权利要求15至28之一所述的装置(100)。
全文摘要
用于对非易失性存储器中的数据进行编程的方法和装置。一种装置(100)具有非易失性存储器(102)以及控制单元(104),其中该控制单元(104)被配置为基于控制信号的出现将对非易失性存储器(102)的数据的编程从第一编程模式切换到第二编程模式。
文档编号G11C16/02GK102403036SQ20111027524
公开日2012年4月4日 申请日期2011年9月16日 优先权日2010年9月16日
发明者斯亚森 J., 克恩 T., 贝克豪森 U. 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1