专利名称:用于防止错误的数据存储的产品和方法
技术领域:
本发明涉及一种包括电源,处理器和非易失性存储器的产品,其中处理器具有用于接收指示电源状态的断电信号的输入端和另一个连接到另一电源的输入端,非易失性存储器用于存储处理器所提供的数据。本发明还涉及一种防止产品中错误的数据存储的方法,该产品包括电源,处理器和用于存储处理器所提供的数据的非易失性存储器,其中处理器具有用于接收指示电源状态的断电信号的输入端和用于存储由处理器所提供的数据的非易失性存储器。
背景技术:
这样一个产品的实施例存在于US5,896,338。已知的产品具有一个电路,当通过发送信号到非易失性存储器来接收断电信号时,突然停止到非易失性存储器的写操作。
正像为所属技术领域的专业人员所公知的,在当前的产品中,许多重要的数据被存储在非易失性存储器(以下也称为NVM)中,其被处理器频繁访问。这将导致当NVM写发生在断电阶段期间时,NVM恶化的风险增加。因此,确保断电阶段期间NVM数据完整性对于该产品来说是一个非常紧要的问题。一旦断电信号具有相当于断电状态的值,作为采用SAA56XX类型处理器使用的标准软件解决办法将软件保持在无限循环等待。任何人可以料想到其后将不会发生NVM读/写动作。然而,实验表明,当另一个电源的电源电压降低到大约2.2V电平时,有发生NVM写的危险性。换句话说,该标准软件解决办法不能完全地防止NVM变得不可靠。
作为选择,该产品可以具有与已知产品相同的电路。然而,已知产品的缺点在于,当正在进行的从处理器到NVM的写操作被中断时,NVM中的数据变得不可靠。
发明内容
本发明的第一目的在于,提供一种在开始的段落里所描述的种类的产品,其具有简单又有效的装置,以消除断电阶段期间的NVM数据恶化。
本发明的第二目的在于,提供一种在开始段落里所描述的种类的方法,其消除断电阶段期间的NVM数据恶化。
第一个目的在处理器中被实现,其中该处理器包括一种算法,通过重复地检查断电信号来检测电源的断电状态,并且当检测到断电信号具有相当于断电状态的值时,完成正在进行的写操作并且停止数据存储。这样,处理器适合于在断电状态检测之后完成正在进行的写操作,由此避免可能导致数据恶化的突然中断。此后,在另一个电源的电源电压降到处理器操作不可靠的值时,停止到NVM的所有写入。
在第一实施例中,该算法包括一个启动处理器断电方式的步骤。该断电方式完全地停止处理器的操作,由此保证停止所有的可以在断电阶段期间引起NVM恶化的随机软件活动。
在第一实施例的修改中,用于放电另一个电源的放电电路被给出,其被设计成当断电信号具有相当于断电状态的值时导通。
当完全停止处理器操作时,不再从其电源得到电流。结果,处理器的电源电压只是慢慢地减少。如果功率再次被提供给该产品,同时处理器的电源电压还没有减少到预定电平,处理器不重新启动,直到已经完成足够长持续时间的断电阶段的随后的循环。预定电平可以是处理器的数据表中所提及的值或者通过实验确定的值。在修改中,放电电路保证另一个电源被容易地放电至低于预定电平,由此保证如果功率被再次提供到该产品,处理器重新启动。
如果放电电路包括电子开关将是有利的,其在断电阶段期间被导通。这个开关适合于传导电流,以对电源放电。
如果放电电路适合于当断电信号具有相当于断电状态的值时,传送预先确定的放电电流,将是进一步有利的。由此避免了高冲击电流。
在进一步的修改中,放电电流基本上等于处理器操作期间从电源得到的电流。在这个进一步的修改中,电源电压可能在断电阶段期间以与处理器继续操作时基本相同的速率下降到低于预定电平。
在作为第一实施例备选方案的第二实施例中,非易失性存储器具有设备代码,并且该算法包括在已经检测断电状态之后,选择偏离非易失性存储器设备代码的设备代码的步骤。结果,在断电阶段期间处理器到达未定义的阶段前,读/写动作被重定向到不存在的地址。
如果在第二实施例的修改中,该算法包括一个将处理器放入无限的等待循环中的步骤将是进一步有利的。在第二实施例和第二实施例的修改中,仅仅需要附加的软件。避免了用于电源放电的额外硬件成本,因为处理器在断电阶段期间继续操作,由此放电另一个电源。
该产品可以是提供非易失性存储器的任一产品,像电视,视频,音频,计算机或者通信产品。
由于该方法包括通过重复地检查断电信号来检测电源的断电状态,并且当检测到断电信号具有相当于断电状态的值时,完成正在进行的写操作并且停止数据存储的步骤,因此实现了本发明的第二个目的。这样,在断电状态检测之后,该方法完成正在进行的写操作,由此避免可能导致数据恶化的突然中断。此后,在另一个电源的电源电压降低到低于处理器操作不可靠的值之前,停止到NVM的所有写入。
附图描述参考附图,可以进一步解释和描述本发明的产品和方法的这些及其他方面,其中
图1示出产品的方框图;图2示出已知的产品的时序图;图3示出已知产品的波形;图4示出第一个实施例的波形;图5示出影响放电时间的电路和电流的简图;以及图6示出放电电路的一个实施例。
具体实施例详细描述图1的产品具有电源P2,作为本产品的主电源。处理器P经由输入端Q被连接到另一个具有电源电压Vs的电源。此外,用于存储处理器(P)提供的数据的NVMM被连接到另一个电源。经由连接C,数据,启动信号和时钟信号在处理器P和NVMM之间被传送。断电检测电路PDC被连接到电源P2,以检测电源P2的状态,并且将断电信号PDD发射到处理器P的断电输入端PDM。处理器还具有加电复位输入端Re,其在启动阶段期间将处理器P保持在有效,直到电源电压Vs达到确保处理器P的正常功能的值。
NVMM的典型工作范围是从2.5V到3.6V,而对于SAA56XX类型的处理器P,工作范围是从3.0到3.6V。然而,实验已经表明如果断电阶段期间在处理器P的加电复位输入端Re缺少或者延迟加电复位信号,直到2.2V处理器P还在工作。复位信号不能被用于在断电阶段期间停止处理器P的操作,因为没有允许软件活动正常的关闭,处理器P会停止操作过迟并且太突然。
正像图2中的电源电压Vs对时间t的图表中所示出的,如果数据在时间t1和t2之间被经由连接C从处理器P写入NVM M,NVM M内部的数据可以被破坏,因为处理器P低于3.0V不能可靠地操作。低于3.0V,该算法不能在处理器P中正确地工作,此外,数据可能被破坏,导致不希望有的错误数据写入NVM M的危险性。为了处理这个危险性,由处理器P提供的断电方式在电源电压Vs进入处理器P不能再可靠工作的区域之前完全停止软件活动。断电方式由断电信号PDD控制。如果电源P2正在工作,断电信号有一个加电值S1。如果电源P2停止,断电信号有断电值S0,指示电源P2处于断电状态。为了启动软件活动的正确停止,在时间tPD之后大约60ms的一段周期时间里,另一个电源适合于提供典型的工作电压,对于SAA56XX类型的处理器是3.3V,时间tPD是断电信号具有从加电值S1到断电值S0的跃迁时间。
该算法被并入该处理器,并且包括步骤-检查断电信号PDD是否具有断电值S0。
-如果有,在预定时间延迟,例如10ms之后完成第二个检查。如果没有,例行程序被重新启动。
-同时在第二个检查期间,如果断电值S0被检测到,随后当正在进行的写操作方式完成时,处理器P启动断电方式,包括将软件放入无限的等待循环并且此后停止处理器P的操作。如果断电值S0没有检测到,例行程序被重新启动。
断电方式的副作用是需要花费更长的时间来放电另一个电源,因为断电方式消费非常低的功率。图3和4示出利用断电方式的解决办法和不利用断电方式的解决办法之间的时间差。正像从处理器说明书中已知的,复位输入Re被连接到另一个电源。如果在时间t3之前电源P2重新启动,如图2中所示,即对于型号为SAA56XX的处理器,电源电压Vs已经降低到2.4V的值之前,加电复位输入端Re的复位信号将处理器P保持在断电方式。
在图3和4中,作为时间函数,自上而下地示出下列波形断电信号PDD,经由连接C发射的数据Dc,电源电压Vs,和电源P2的电压Vp2。
如图5中所示的额外放电电路D保证电压Vs快速地降到低于预定电平。电子开关S由断电信号PDD控制。如果断电信号PDD具有相当于断电状态的值S0,随后开关S被导通。放电电流Ib2由具有值R的电阻器Rb通过等式Ib2=Vs/R来确定。对在图5中示出的电流下列关系有效I=Ia+Ib,Ib=Ib1+Ib2,并且通常Ib>10×Ia。
当电源P2工作时,Ib1等于Ib,并且Ib2是0。当电源P2停止时,Ib1降低到非常低的值。当Ib2被设计成基本上等于Ib1,Ib2可以开始流动并且补偿Ib1的下降。结果,Ib保持在近似恒定,导致电源电压Vs下降与图3中所示出的值基本相同的值。
在图6的放电电路D中,晶体管Q2实现开关S的功能。晶体管Q1经由电阻器R3接收断电信号。
如果断电信号具有基本上零伏的断电值S0,晶体管Q1被关闭。结果,流过电阻器R2的电流将开启晶体管Q2。
如果断电信号具有加电值S1,晶体管Q1被开启并且传送来自电阻器R2的电流。因此,晶体管Q2不接收任何基极电流并且将被关闭。
在第二实施例中,利用以下事实,即在数据可能被写入NVM M之前,处理器P必须启动开始条件,以开始处理器P和NVM M之间的IIC通信,后面是7比特设备代码,以及1比特读/写指示符。只有当设备代码,以下还称为设备选择码与其自身的代码匹配时,NVM M进行响应。在断电阶段期间,如果设备代码有意改变为相当于不存在设备的代码,数据将不再被NVM M接受。通过这样做,断电阶段期间潜在的NVM M数据恶化能够被防止。
除最后的步骤之外,在处理器P的这个实施例中应用的算法与先前描述的算法相同。代替启动断电方式,用于定址于NVM的数据的设备选择码被重新定址于设备选择码零,作为用于不存在设备的代码。
在第二实施例的修改中,在数据重新定址之后,无限的等待循环被启动以在断电阶段期间提供额外的保护,消除不必要的写动作。
第二实施例已经在下列工作条件中采用两种产品进行了实验在30s加电阶段继之以30s断电阶段的循环中电源P2被接通和关闭。为了清楚地示出有效性,加电复位信号通过在断电阶段期间不产生复位信号的方式被修改。列表1中给出试验结果清楚地示出该算法的有效性。
列表1
第二实施例与第二实施例的修改相结合的算法经证明是一种消除NVM M数据恶化的非常简单和有效的装置。不需要附加的硬件电路,导致成本非常低而收效大的解决办法。
人们注意到以上实施例只是说明而不是限制本发明,而且本领域的技术人员不脱离附加权利要求的范围将能设计出许多替代的实施例。在权利要求中,任何放在括号内的参考符号将不会被看作是限制权利要求。动词“包括”的使用和它的动词的词形变化不排除除了权利要求中叙述的以外的部件或者步骤的出现。放在部件之前的冠词“一”不排除多个这样的单元的出现。本发明能够借助于包括几个分离的部件的硬件和借助于适合的程序控制式计算机来实现。在列举几个装置的设备权利要求中,这些装置部分能够通过一个硬件和相同的硬件产品来具体化。某一个方法在相互不同的从属的权利要求中叙述的纯粹的事实不表示这些方法的组合不能被用于有利情况。
权利要求
1.一种产品包括电源(P2);处理器(P),具有用于接收表示电源(P2)状态的断电信号的输入端(PDD),并且具有另一个连接到另一个电源的输入端(Q);以及非易失性存储器(M),用于储存处理器(P)提供的数据,其特征在于处理器(P)包括一种算法通过重复地检查断电信号来检测电源(P2)的断电状态,并且当检测到断电信号具有相当于断电状态的值(S0)时,完成正在进行的写操作并且停止数据存储。
2.如权利要求1所述的产品,其特征在于该算法包括启动处理器(P)的断电方式的步骤。
3.如权利要求2所述的产品,其特征在于进一步包括放电电路(D),用于放电另一个电源,其被设计成当断电信号具有相当于断电状态的值(S0)时被导通。
4.如权利要求3所述的产品,其特征在于放电电路(D)包括电子开关(S)。
5.如权利要求3所述的产品,其特征在于放电电路(D)适合于当断电信号具有相当于断电状态的值(S0)时,传送预定的放电电流。
6.如权利要求1所述的产品,其特征在于非易失性存储器(M)具有设备代码,并且该算法包括在已经检测断电状态之后,选择偏离非易失性存储器(M)设备代码的设备代码的步骤。
7.如权利要求6所述的产品,其特征在于该算法包括将处理器(P)放入无限的等待循环的步骤。
8.一种防止产品中的错误的数据存储的方法,该产品包括电源(P2);处理器(P),具有用于接收表示电源(P2)状态的断电信号的输入端(PDD);以及非易失性存储器(M),用于储存处理器(P)提供的数据,其特征在于该方法包括步骤通过重复地检查断电信号来检测电源(P2)的断电状态,并且当检测到断电信号具有相当于断电状态的值(S0)时,完成正在进行的写操作并且停止数据存储。
全文摘要
该产品具有电源(P2)以及处理器(P)。处理器(P)具有用于接收表示电源(P2)状态的断电信号的输入端(PDD),以及另一个连接到另一个电源的输入端(Q)。该产品还具有非易失性存储器(M),用于存储处理器(P)提供的数据。处理器(P)具有一算法,通过重复地检查断电信号来检测处理器(P2)的断电状态,并且当检测到断电信号具有相当于断电状态的值(S0)时,完成正在进行的写操作并且停止数据存储。该方法通过利用所提到的算法防止非易失性存储器中的错误的数据存储。
文档编号G11C16/20GK1639799SQ03805318
公开日2005年7月13日 申请日期2003年2月17日 优先权日2002年3月5日
发明者N·温, J·蔡, J·吉姆森, W·K·林 申请人:皇家飞利浦电子股份有限公司