保护集成电路免于错误操作的方法和装置的制作方法

文档序号:6784571阅读:205来源:国知局
专利名称:保护集成电路免于错误操作的方法和装置的制作方法
技术领域
本发明一般地涉及集成电路,更具体地,涉及用于保护集成电路免于错误操作的方法和装置。
背景技术
在嵌入式数据处理应用中广泛地使用了例如电可擦除可编程只读存储器(EEPROM)和快闪存储器的非易失性存储器。例如EEPROM和快闪存储器的很多非易失性存储器类型被使用片上电荷泵编程。遗憾的是,在这些存储器类型中存储的值可能遭受无意地更改。例如,所存储的存储器单元的状态可能因为电源电压暂降而被更改,导致例如错误的电路操作,无意地重新编程或者擦除所述单元。
已经使用低电压抑制(LVI,low voltage inhibit)电路来防止在电源电压较低时将电荷泵使能。但是,LVI电路一般要求消耗大量功率的参考电压发生器。当数据处理系统能够工作于低功率模式或者待机模式时,由于LVI电路所要求的功率量,该LVI电路一般被禁止(disable),从而使非易失性存储器面临无意编程或擦除操作的可能。因此,存在当电源电压下降时保护数据处理系统免于错误操作的需求。而且,需要即使在LVI电路被禁止的情况下也能保护非易失性存储器免于无意的数据损坏(data corruption)。


本发明被举例说明,并不受附图限制,在附图中,相同的标记指示类似的元件,并且其中图1以框图的形式示出了根据本发明的实施例的数据处理系统。
图2以框图的形式示出了图1的数据处理系统的非易失性存储器。
图3以部分框图和部分逻辑图的形式示出了图1和图2的数据处理系统的一些部分的更多细节。
本领域技术人员理解,为了简洁和清晰示出了附图中的单元,并且不一定按比例绘制。例如,为了帮助改善对本发明实施例的理解,附图中某些单元的尺寸被相对于其他单元夸大。
具体实施例方式
如这里所使用的那样,使用术语“总线”指示可被用来传输一个或更多个各种类型的信息的多个导体或者信号,所述信息例如数据、地址、控制或者状态。可以参考单个导体、多个导体、单向导体或者双向导体来说明或者描述这里所讨论的导体。但是,不同的实施例可以改变导体的实施方案。例如,可以使用单独的单向导体而非双向导体,反之亦然。而且,可以利用串行地或者以时间复用方式传输多个信号的单个导体替代所述多个导体。同样地,承载多个信号的单个导体可以被分离为承载这些信号的子集的各种不同导体。因此,对于传输信号来说存在很多选择。
总的来说,本发明提供了一种具有处理单元、电路和低电压检测电路的集成电路。所述电路,例如非易失性存储器,被耦合到所述处理单元,用于响应于从所述处理单元接收到控制信号,实施例如编程或擦除操作的第一预定的操作。低电压检测电路确定给所述集成电路提供的电源电压是否低于预定的电压电平。响应于在所述电路中执行了所述第一预定的操作,电压检测使能信号被提供,以便使能低电压检测电路的操作。如果电源电压低于所述预定的电压电平,则低电压检测电路导致在所述集成电路中开始第二预定的操作。例如,所述第二预定的操作可以是复位信号或者禁止用于提供编程电压的电荷泵的信号。
在另一个实施例中,本发明提供了用于当电源电压低于预定的电压电平时,使非易失性存储器的高电压电荷泵禁止并放电的电路。当电荷泵被禁止并放电时,编程和擦除所需的高电压将不存在,因此非易失性存储器的内容无法被无意地修改。
图1以框图的形式示出了根据本发明的实施例的数据处理系统10。数据处理系统10可以被实施为叫作微控制器的单个集成电路。数据处理系统10具有各种通过信息总线30双向耦合的板上外围设备。图1的具体实施例具有中央处理单元(CPU)12、低电压抑制电路14、模数转换器(ADC)16、串行电路18、定时器电路20、非易失性存储器22、静态随机访问存储器26,以及系统集成电路28,它们都被双向耦合到信息总线30。系统集成电路28可以通过输出端子(未示出)接收和传送数据处理系统10外部的信号。ADC16可以通过集成电路引脚36接收和传送数据处理系统10外部的信号。串行电路18能够通过集成电路引脚38接收和传送数据处理系统10外部的信号。定时器电路20能够通过集成电路引脚40接收和传送数据处理系统外部的信号。低电压抑制电路14给非易失性存储器22的输入端子提供标为“VDD有效”的信号,并从非易失性存储器22接收被标为“VDDDET EN”的信号。图1的实施例只示出了数据处理系统10的一个实施例。例如,数据处理系统10的其他实施例可能不具有ADC16、定时器电路20、串行电路18或静态随机访问存储器26。而且,数据处理系统10的其他实施例可以具有比图1中所示那些更少、更多或者与其不同的外围设备。
图2以框图的形式更详细地示出了图1的数据处理系统10的非易失性存储器22。非易失性存储器22包括阵列68、总线接口电路70、行解码电路64、高电压解码电路62、列解码/块选择电路66、数据I/O和编程电路60、控制寄存器76、电荷泵78,以及AND逻辑门104。单个快闪存储器单元阵列68被划分为多个块50-57。每一个块均从行解码电路64接收多条字线。行解码电路64和高电压解码电路62从总线接口电路70接收地址信号65。尽管在所示实施例中行解码电路64和高电压解码62接收地址信号A6-A14,但是在另外的实施例中,行解码电路64和高电压解码电路62可以接收更少、更多或者不同的地址信号。行解码电路64通过字线80耦合到阵列68。总线接口电路70耦合到信息总线30,以便允许非易失性存储器22与数据处理系统10中的其他部分电路通信。例如,总线接口电路70可以跨过信息总线30从CPU12接收地址和数据信号,并且总线接口电路70可以跨过信息总线30将数据信号传输回CPU12。总线接口电路70通过导体63将地址信号传输到列解码电路66。尽管在所示实施例中列解码电路66接收地址信号A0-A5,但是,在本发明另外的实施例中,列解码电路66可以接收更少、更多或者不同的地址信号。列解码/块选择电路66通过导体71给阵列68提供列选择信号。
总线接口电路70给控制寄存器76的第一输入提供被标为“地址控制”的地址和控制信号。同样地,总线接口电路70给数据I/O和编程电路60提供地址控制信号。总线接口电路70给控制寄存器76的第二输入提供被标为“数据信号”的数据信号。总线接口电路70将地址信号和控制信号传输到数据I/O和编程电路60。在读访问和编程期间使用列解码信号。在擦除和编程期间使用块选择信号61。
控制寄存器76给AND逻辑门104的第一输入提供被标为“HVEN”的高电压使能信号。AND逻辑门104的第二输入接收被标为“VDD有效”的用于指示电源电压VDD是否在预定的值之上的信号。AND逻辑门104的输出给电荷泵78的输入提供被标为“CPEN”的电荷泵使能信号。注意,AND逻辑门104仅仅旨在示出逻辑功能,并且可被使用一个或更多个其他的逻辑门来实施。电荷泵78是常规的电荷泵,并起到将被抬高的电荷泵电压81提供给阵列68用于编程和擦除操作的作用。在其他的实施例中,可以由数据处理系统10外部的来源提供电荷泵电压81。
在本发明的一个实施例中,控制寄存器76在导体82上接收地址和控制信号“地址控制”,在导体67上接收数据信号“数据信号”,并设置控制位的值以便在阵列68的存储器单元上执行读、擦除和编程操作。在所示的实施例中,阵列68包含快闪存储器单元阵列,但是在其他的实施例中,阵列68可以包含其他类型的要求被抬高的电压用于编程和擦除的非易失性存储器单元,例如EEPROM。
在非易失性存储器22的正常操作期间,在电荷泵78能够给阵列68提供电荷泵电压81之前,电荷泵使能信号CPEN必须被施加(assert)为逻辑高电压。为了使CPEN被施加为逻辑高,高电压使能信号HVEN和VDD有效信号都必须被施加。高电压使能信号HVEN指明,对于编程和擦除操作电荷泵78是需要的,并且必须被使能。VDD有效信号由低电压抑制电路14提供,以便指示数据处理系统10的电源电压高于用于正确操作的预定的值。任何时候发现电源电压比正确操作所需的低,则VDD有效信号是逻辑低电压,并且电荷泵78将被禁止和放电,并且HVEN信号将被解除(deassert)。当电源电压回到正常时,VDD有效信号又被施加,并且当HVEN信号被再次施加时电荷泵78能够被使能。
应该利用工作于较低的电源电压的电路实施AND逻辑门104,以保证AND逻辑门104能够在较低的电源电压下执行其使电荷泵78禁止的功能。而且,AND逻辑门104应该被实施得尽可能靠近电荷泵78,以便消除对不能工作于较低的电源电压下的额外逻辑的需要。在一个实施例中,可以主要使用具有相对较高的阈值电压(VT)的晶体管在集成电路上实施数据处理系统10,以便获取较低的待机功耗。可以使用低VT器件实施AND逻辑门104、OR逻辑门109和120以及相关的电路,以便取得对低电源电压更好的容限(colerance)。
一些系统被设计成利用多个电源电压工作。在较低电源电压下工作的系统在和工作于较高的电源电压下的系统相同的时钟频率下可能不能可靠地工作。在那些在多个电源电压上工作的系统中,可以有选择地确定时钟频率是否适于被选择的电源电压,并将所述确定作为输入提供给AND逻辑门104。而且,在其他的实施例中,在编程或擦除操作期间,任何其他不满足正确操作的条件可以被感知,并可以被用来产生对应的信号,以便保证不会发生非易失性存储器内容的意外损坏。例如,其他的不满足条件可以包括编程顺序错误、块保护违反错误,以及,错误时钟频率。此外,不满足条件(disqualifying condition)可以与数据处理系统10的CPU12或者其他的外部设备其中之一相关联。例如,不满足条件可以是违反安全性,例如未经授权企图访问数据处理系统。未经授权企图访问数据处理系统可能是通过当使得数据处理系统10工作于低电压模式或者节省功率模式时可获得的“后门(backdoor)”。在这种情况下,未经授权的企图被检测到,并且提供控制信号来使能低电压抑制电路14。然后,低电压抑制电路14导致系统复位,以防止未经授权的访问。
图3以部分框图部分逻辑图的形式更详细地示出了图1的低电压抑制(LVI)电路14和图2的控制寄存器76。LVI电路14包括LVI使能位108、OR逻辑门109、低电压检测(LVD)电路110、触发器112,以及AND逻辑门114和116。控制寄存器76包括控制寄存器118和OR逻辑门120。注意,图3中所示的逻辑门仅仅旨在示出逻辑功能,并且每一个逻辑门均可以被使用一个或更多个其他的逻辑门实施。
在LVI电路14中,由用户设置LVI使能位108以使能LVI电路14的操作或使其禁止。响应于由控制寄存器118开始编程(PROGRAM)或擦除(ERASE)操作,产生被标为“VDD DET EN”的电源检测使能信号。LVI使能位108被提供给OR逻辑门109的一个输入,并且电源检测使能信号VDD DET EN被提供给OR逻辑门109的第二输入。这两个信号中的任意一个均能使能LVD电路110的操作。当被使能时,LVD电路110在电源电压低于预定的值时提供被标为“VDD低”的第一输出。而且,LVD电路110将在第二输出提供VDD有效信号,以便指示电源电压处于预定的值或者在其之上。在所示的实施例中,当LVD电路110被使能时,VDD有效信号是“VDD低”信号的逻辑补。当LVD电路110被禁止时,VDD低和VDD有效信号都被解除。触发器112具有被标为“S”的用于接收VDD低信号的第一输入、被标为“R”的用于接收被标为“POR”的上电复位信号的第二输入,以及被标为“Q”的用于提供被标为“LVI错误标志”的信号的输出。LVI错误标志被提供给AND逻辑门114和116的输入。如果被标为“LVI INT EN”的LVI中断使能信号被施加,则响应于AND逻辑门114接收到逻辑高LVI错误标志,AND逻辑门114将提供逻辑高LVI中断信号LVI INT。同样地,如果被标为“LVI RESET EN”的LVI复位使能信号被施加,则响应于AND逻辑门116接收到逻辑高LVI错误标志,AND逻辑门116将提供逻辑高LVI RST信号。
如果电源电压高于预定的值,则VDD有效信号被施加,并且AND逻辑门104被使能。如上面所讨论的那样,响应于控制寄存器118确定对于编程或擦除操作需要电荷泵,AND逻辑门104从控制寄存器118接收信号HVEN。当电源电压有效并且HVEN被使能时,电荷泵78被使能,以便提供“电荷泵电压”81。在所示的实施例中,使用反相器106提供是CPEN信号的逻辑补的信号(CP DISCHARGE,电荷泵放电),以便在电源电压低于预定的值的情况下将电荷泵放电。注意,在其他的实施例中,可能不使用电荷泵放电信号。如果电源电压转换到预定的值以下,则VDD有效被解除,导致电荷泵78被禁止和放电,并且将停止当前的编程或擦除操作。被解除的VDD有效信号也被提供给控制寄存器118,并且控制寄存器118导致HVEN信号被解除。当电源恢复时,在电荷泵78能够被使能用于新的编程或擦除操作之前,HVEN信号必须首先被施加。
所公开的实施例起到无论用户是否设置LVI EN BIT 108来使能LVI电路14都保护非易失性存储器阵列68的内容的作用。如果用户选择使LVI电路14禁止,以便例如在待机操作模式期间节省功率,则响应于控制寄存器118命令编程或擦除操作,LVI电路14能够被使能。通过控制寄存器118施加PROGRAM或ERASE信号,LVI电路14的LVD电路110被使能。即使LVI使能位108未被设置,LVD电路110也被使能。在LVD电路110检测到低电压的情况下,VDD有效信号被施加为逻辑低电压,导致AND逻辑门104提供逻辑低CPEN信号以便将电荷泵78禁止或放电。只要低电压条件存在,则电荷泵将保持禁止和被放电,并且不能被使能,从而保护阵列68的内容免于被损坏。
在另一个实施例中,可以使用来自控制寄存器76的另一个控制信号而非编程或擦除信号来使能LVD电路110。例如,可以由监视模式位或者内部测试电路位提供VDD DET EN信号,以便防止对非易失性存储器或数据处理系统10的其他部分的未经授权的访问。而且,代替通过到AND逻辑门104的VDD有效信号将电荷泵放电,VDD有效信号可以被提供给例如AND逻辑门116的LVI RESET EN输入。然后,在未经授权的访问的情况下,LVD电路110将被使能,以便针对预定的条件导致系统复位操作。
在前面的说明中,已经参考具体实施例描述了本发明。但是,本领域普通技术人员理解,不偏离本发明的如在下面的权利要求中给出的范围,可以做出各种修改和变化。因此,应该以说明的意义而非限制的意义看待说明书和附图,并且预期将所有这些修改包括在本发明的范围内。
已经参考具体实施例描述了益处、其他的优点,以及问题的解决方案。但是,这些益处、优点,以及问题的解决方案和可以导致任何益处、优点,或解决方案发生或变得更为显著的任何元素不要被理解为任何或全部权利要求的关键的、必要的或必须的特征或元素。如这里所使用的,术语“一种”被定义为一个或多于一个。如这里所使用的,术语“包括”和/或“具有”被定义为包含(即开放式语言)。如这里所使用的,术语“包含”或其任何其他变化意在覆盖非排斥性包括,以使包含一系列元素的过程、方法、物品或装置不仅包括那些元素,还可以包括其他未被明确列出的元素或这些过程、方法、物品或装置固有的元素。
权利要求
1.一种集成电路,包含用于执行指令的处理单元;耦合到所述处理单元的电路,用于响应于从所述处理单元接收到控制信号,实施第一预定操作;和低电压检测电路,用于确定给所述集成电路提供的电源电压是否低于预定电压电平,其中,响应于在所述电路中执行所述第一预定操作,提供电压检测使能信号以便使能所述低电压检测电路的操作,并且如果所述电源电压低于所述预定电压电平,则所述低电压检测电路用于导致在所述集成电路中开始第二预定操作。
2.如权利要求1所述的集成电路,其中,所述电路是非易失性存储器,并且所述第一预定操作是所述非易失性存储器的编程操作或擦除操作其中之一,并且其中,所述第二预定操作导致所述第一预定操作被停止。
3.如权利要求2所述的集成电路,还包含耦合到所述非易失性存储器的电荷泵,其中,所述第二预定操作导致所述电荷泵被禁止。
4.如权利要求1所述的集成电路,其中,所述低电压检测电路包含第一逻辑电路,用于响应于编程和擦除信号提供第一检测使能信号;耦合到电源端子的电压检测电路,用于如果所述电源端子处的电压高于预定电平,则响应于所述检测使能信号施加电压有效信号;第二逻辑电路,用于响应于所述电压有效信号产生电荷泵使能信号;和电荷泵,响应于所述电荷泵使能信号未被施加,该电荷泵被放电。
5.如权利要求4所述的电路,其中,所述电压检测电路是低电压抑制电路的一部分。
6.如权利要求5所述的电路,其中,所述低电压抑制电路包含控制寄存器位,具有用于提供第二检测使能信号的输出;第三逻辑电路,用于接收所述第一检测使能信号和所述第二检测使能信号以及耦合到所述电压检测电路的输出;耦合到所述第三逻辑电路的所述电压检测电路;和耦合到所述电压检测电路的第四逻辑电路,用于提供低电压中断信号。
7.一种使电荷泵禁止的方法,包含响应于编程信号和擦除信号其中之一提供第一检测使能信号;如果电源端子处的电压高于预定电平,则响应于所述第一检测使能信号提供电压有效信号;和响应于所述电压有效信号未被施加,使所述电荷泵禁止。
8.如权利要求7所述的方法,其中,所述禁止的特征还在于当高电压使能信号未被施加时,响应于所述高电压使能信号使所述电荷泵禁止。
9.如权利要求8所述的方法,其中,响应于下列条件中的一个或更多个,所述高电压使能信号不被施加块保护信号被施加;发生编程或擦除控制序列错误;复位信号被施加;和所述电压有效信号未被施加。
10.如权利要求7所述的方法,还包含响应于所述电源电压端子处的电压低于所述预定的电压产生电压低信号,并响应于产生所述电压低信号而产生低电平中断信号。
全文摘要
数据处理系统(10)具有嵌入式非易失性存储器(22),通过使用由电荷泵(78)提供的高电压来编程或擦除所述非易失性存储器(22)。为了防止在低电源电压条件期间非易失性存储器(22)被无意地编程或擦除,电荷泵(78)在电源电压下降到预定值以下时被禁止并放电。这通过响应于开始编程或擦除操作来使能低电压检测电路(110)实现。只有在接收到电源有效信号时控制寄存器(76)才会给电荷泵(78)提供高电压使能信号。在另一个实施例中,通过另外的条件可以使能低电压检测电路(110),以便保护数据处理系统(10)免于未经授权的访问。
文档编号G11C5/14GK101023491SQ200580031462
公开日2007年8月22日 申请日期2005年8月30日 优先权日2004年9月22日
发明者詹姆斯·M.·西比格特罗斯, 乔治·L.·埃斯皮诺尔, 布鲁斯·L.·莫顿, 迈克尔·C.·伍德 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1