专利名称:半导体器件的制作方法
技术领域:
此处所公开的实施例涉及半导体器件。
背景技术:
近些年,安装有非易失性存储器的半导体器件已被用于各种领域。具体地,例如安装有诸如闪存之类的非易失性存储器的微控制器已被用于各种类型的家用电器和信息装置或汽车控制系统等。例如,在微控制器的闪存中,诸如用于控制微控制器的程序之类的信息由系统制造商写入,并且,为了保护写入到闪存中的信息免受来自恶意第三方的非法访问,已经开发了安全技术。
在另一方面,当未预期的故障出现在微控制器中时,微控制器制造商例如通过检查写入到安装在微控制器上的闪存中的信息来分析故障的原因是惯常做法。如上所述的安装有应用了安全技术的类型的非易失性存储器的微控制器已被在现有技术中提出,但是,在这种类型的存储器中,一旦安全被设置为开启,除了全擦除(total erasure)(芯片擦除)以外,在非易失性存储器上不允许其他操作。还可出现如下的情形例如,当最終用户正在使用本领域中的装配有微控制器的产品吋,发生某种类型的故障(失败),并且,该微控制器被返回到系统制造商,然后,被返回到微控制器制造商以用于分析故障。此处,如果例如故障的类型是当存储在非易失性存储器中的程序被执行但是一旦完成对非易失性存储器的芯片擦除则无法被检查时出现的故障,则不可能在微控制器制造商处分析故障。S卩,在根据现有技术融合了配备有安全功能的非易失性存储器的微控制器的情形中,由于一旦安全被设置为开启则除了芯片擦除外不允许在非易失性存储器上有其他操作,因此,微控制器制造商无法检查故障状況。在另一方面,在融合了未配备有这种安全功能的非易失性存储器的微控制器的情形中,可以在微控制器制造商处分析故障,但是,系统制造商趋向于避免使用这种微控制器,因为其不能提供对抗来自恶意第三方的非法访问的保护。在现有技术中,已经提出了各种类型的安装有应用了安全技术的非易失性存储器的微控制器。专利文献I :日本早期公开专利出版物No. H10-301855专利文献2 :日本早期公开专利出版物No. 2004-227509专利文献3 :日本早期公开专利出版物No. 2003-263368专利文献4 :日本早期公开专利出版物No. H07-271751专利文献5 :日本早期公开专利出版物No. H09-198316专利文献6 :日本早期公开专利出版物No. 2004-288257因此,实施例的ー个方面的目的是提供使能针对每个模式的安全级别的适当控制的半导体器件。
发明内容
根据实施例的ー个方面,半导体器件包括非易失性存储器以及被配置为传输去往和来自非易失性存储器的数据的接ロ。该接ロ包括安全逻辑单元,该安全逻辑单元根据多个预设安全码和写入到非易失性存储器的特定区域中的锁定码来控制写入到非易失性存储器的数据的安全级别。
图I是示出了半导体器件的一个示例的框图; 图2是用于说明安全开启/关闭状态是如何按照访问而定义的示图;图3是用于分别说明装运前的测试模式和用户操作正常模式的安全码的名称和其存储位置的示图;图4是用于说明在根据本发明的半导体器件中的测试模式、正常模式和安全开启/关闭状态之间的关系的示图;图5是示意性地示出了根据本发明的半导体存储器的框图;图6是用于说明当在图5中所示的半导体存储器包括多个非易失性存储器时的数据存储区域的芯片擦除序列的示图;图7是用于说明在图5中所描绘的半导体器件的上电重置期间的状态转换的示图;图8是用于说明在图5中所描绘的半导体器件中的上电重置之后所执行的操作的流程图;图9是示出了在图5中的虚线区域MP的第一个实施例的框图(第一部分);图10是示出了在图5中的虚线区域MP的第一个实施例的框图(第二部分);图11是用于说明作为ー个应用到图9和图10的半导体器件中的外部输出的示例的串行键输入影响模式切換的示图;图12是用于说明在图9和图10中所描绘的半导体器件的安全逻辑单元的操作的流程图;图13是示出了在图5中所描绘的半导体器件中的安全逻辑单元的第二个实施例的框图(第一部分);图14是示出了在图5中所描绘的半导体器件中的安全逻辑单元的第二个实施例的框图(第二部分);图15是用于说明在图13和图14中所描绘的半导体器件表中的安全逻辑单元的操作的流程图;图16是用于说明添加到在图13和图14中所描绘的半导体器件中的安全逻辑单元的第二个实施例中的功能的一个示例的示图;图17是用于说明可应用于本实施例的半导体器件的安全码的示例的示图;图18是用于说明可由系统制造商写入并可应用于本实施例的半导体器件的锁定码的示例和该锁定码的效果的示图19是用于分别说明根据本实施例的半导体器件的在正常模式和测试模式中的姆个锁定码示例的命令允许/拒绝状态的示图;图20是用于參照存储在根据本实施例的半导体器件的锁定码存储区域中的数据来分别说明在正常模式和测试模式中的安全开启/关闭状态的示图;以及图21A、图21B和图21C是用于以时序来说明在本实施例的半导体器件中所使用的安全码和锁定码的示图。
具体实施例方式在详细描述半导体器件的实施例之前,以下将參照图I和图2来描述半导体器件和与之相关联的问题。图I是示出了用于说明对非易失性存储器所做出的访问的种类和安全的意义的 半导体器件的ー个示例。图2是用于说明安全开启/关闭状态是如何关于访问而被定义的示图。在图I中,參考标号I是半导体器件(微控制器)、11是非易失性存储器、12是接ロ(I/F)、13iCPU(中央处理单元),而14是片上调试器(OCD)。因此,微控制器I包括非易失性存储器11、接ロ 12、CPU 13和O⑶14。非易失性存储器11例如是诸如闪存或EEPROM之类的半导体存储器件,并且,诸如用于控制微控制器I (CPU 13)的程序之类的信息由系统制造商将其写入。O⑶14是利用仿真控制、中断、追踪和其他嵌入到微控制器I的功能的调试器,并且,其可在调试时100%地利用目标资源。可对非易失性存储器11做出的访问的类型例如包括片上调试(O⑶)模式AM1、外部总线模式AM2、写入器模式AM3和CPU模式AM4。O⑶模式AMl是通过接管CPU 13来允许O⑶14自由访问的模式,而外部总线模式AM2是利用连接在微控制器I和外部电路之间的外部总线的模式。此处,如果例如存储器被布置在外部总线上,则变得可以从非易失性存储器11取回数据并将其布置到存储器中。写入器模式AM3是如下这样ー种模式其例如通过利用特定的并行写入器在没有CPU 13的干扰下允许数据被直接地写入到非易失性存储器11。CPU模式AM4是如下这样ー种模式其通过利用连接在内部电路之间的内部总线来访问非易失性存储器11,并且,允许对非易失性存储器11的无限制的访问。并行写入器可例如仅被用于场外写入(off-board writing)。如在图2中所示,一旦在将诸如用于控制CPU 13的程序之类的信息写入到非易失性存储器11中之后而安全被系统制造商设置为开启,除非在CPU模式AM4中,除了用于全擦除(芯片擦除)的访问之外,不允许其他访问(外部访问)。即,当安全是关闭时,针对任意擦除、读取和写入指令(擦除、读取和写入操作都是可能的),对非易失性存储器11的外部访问被接受,但是当安全是开启时,仅接受“芯片擦除”。针对从CPU 13到非易失性存储器11的访问,不管安全被设置为开启还是关闭,擦除、读取和写入操作都是可能的。结果,一旦安全已被设置为开启,如果故障例如出现在本领域中的配备有微控制器的产品中,并且微控制器被返回到微控制器制造商,则很难再现实际的故障状况并完全分析故障。在另一方面,如果配备有微控制器的产品没有将安全设置为开启而被投入到市场上,存储在非易失性存储器中的信息可被第三方自由地擦除、读取或写入,从系统制造商的观点来看,是不希望这样的,推销这种产品也是不现实的。以下,将參照附图详细描述半导体器件的实施例。图3是用于分别说明装运前的测试模式和用户操作正常模式的安全码的名称和其存储位置的示图。图4是用于说明在根据本发明的半导体器件中的测试模式、正常模式和安全开启/关闭状态之间的关系的示图。如在图3中所示,半导体器件(微控制器)I被设计为具有内嵌的安全码,诸如,用于装运前测试模式的测试安全码和用于系统制造商/最終用户操作正常模式的用户安全码。此处,安全码(测试安全码和用户安全码)被设置为在接ロ 12中的前缀预期值。S卩,测试安全码和用户安全码例如通过在制造时利用屏蔽物被烧入到接ロ 12,或者通过诸如保险丝熔断之类的供电钳位被物理地设置。通过将测试安全码和用户安全码与例如存储在非易失性存储器的特定区域(锁定码存储区域LCA)中的锁定码相比较,安全控制被执行。然后,用于在测试模式和正常模式之间进行切换的模式切换逻辑被构造。用于构造安全码和锁定码的比特的数量例如取决于微控制器。此处,用户安全码例如被微控制器系统制造商使用,该微控制器系统制造商将所创建的(开发的)程序写入到非易失性存储器11中。S卩,如在图4中所示的,在测试模式中,当安全码与锁定码相匹配时,安全被设置为开启,而当安全码不与锁定码相匹配吋,安全被设置为关闭。在另一方面,在正常模式中,当安全码与锁定码相匹配时,安全被设置为关闭,而当安全码不与锁定码相匹配吋,安全被设置为开启。在测试模式中,如刚刚所描述的,当安全码不与锁定码相匹配时,安全被设置为关闭;通过利用该特性,可以在非易失性存储器上执行读取/写入/擦除故障分析(初始分析)。锁定码被系统制造商写入到非易失性存储器11 ;如稍后将详细描述的,优选地将在非易失性存储器11的地址空间中的上次被擦除的地址的存储区域用作锁定码存储区域。通过这种方式,根据本发明的半导体存储器,通过从正常模式切換到测试模式,可以容易地选择在出现故障时是使能故障分析还是禁用故障分析,与现有技术中的系统相比,无需将安装在半导体器件上的非易失性存储器中所存储的数据的安全级别降低。S卩,可以适当地控制每个模式(正常模式和测试模式)的安全级别。图5是示意性地示出了根据本发明的半导体存储器的框图,而图6是用于说明当在图5中所示的半导体存储器包括多个非易失性存储器时的数据存储区域的芯片擦除序列的示图。 在图5中,由虚线所包围的区域MP对应于在图9和图10中所示的第一实施例的框图中所描绘的区域,或者对应于在稍后描述的图13和图14中所示的第二实施例的框图中所描绘的区域。如在图5中所示,半导体器件(微控制器)I包括非易失性存储器11、接ロ(I/F) 12、CPU 13、输入/输出(I/O)单元15,以及端ロ多路复用器16。接ロ 12包括安全逻辑单元20,其包括数据屏蔽单元21、安全控制单元22和多路复用器23,并且,数据屏蔽単元21包括命令屏蔽逻辑单元211和读出数据屏蔽逻辑单元212。此处的非易失性存储器11是嵌入式非 易失性存储器或闪存(eNVM),其一部分被分配为锁定码存储区域LCA,诸如系统制造商之类的用户利用该区域来控制安全。将在eNVM 11的地址空间中上次被擦除的地址区域设置为锁定码存储区域LCA是优选的。那是为了确保当锁定码被擦除时在非易失性存储器11中的其他地址处不存在剩下未被擦除的数据。更具体地,如在图6中所示,例如当非易失性存储器11具有多个闪存宏(例如,四个闪存宏,宏O至3)时,第一预编程((I)预-编程(Pre-PGM)和擦除((2)擦除脉冲)被应用到宏3。然后,(3)预编程和(4)擦除脉冲被应用到宏2,然后,(5)预编程和(6)擦除脉冲被应用到宏1,并且最后,(7)预编程和⑶擦除脉冲被应用到宏O ;LCA被提供在宏O的最后ー个区域中以被最后擦除。S卩,不具有LCA的宏(宏3至I)被首先擦除,并且,具有LCA的宏(宏O)被最后擦除。此处,能够检测预编程的完成的状态标志被监视,并且,在确认完成不具有LAC的宏(宏3至I)的预编码之后,发起对具有LCA的宏(宏O)的擦除操作。因此,在全擦除(芯片擦除)命令已经被发布到在安全开启状态中的第一宏3之后,如果处理已经由于例如在完成预编程之前的故障而停止,则LCA的出现用作确保安全。S卩,由于具有LCA的最后ー个宏O被擦除并且仅在确认对宏3至I的预编程完成之后安全才被解锁,针对宏3至I (宏3至O)的安全被确保。在模式信号“模式”的控制下,多路复用器23选择外部数据(来自非易失性存储器的数据或来自eNVM测试并行写入器的数据)或来自CPU 13的数据,并且,将所选择的数据提供给数据屏蔽单元21 (命令屏蔽逻辑单元211)。在另一方面,在模式信号“模式”的控制下,端ロ多路复用器16选择来自数据屏蔽単元21 (读出数据屏蔽逻辑单元212)的数据或来自CPU13的数据,并且,将所选择的数据提供到外部设备。此处,安全码(测试安全码和用户安全码)例如通过在制造时利用屏蔽物来被烧入接ロ 12,或者由诸如保险丝熔断之类的供电钳位被物理地设置。另外,如之前所描述的,用于构造安全码的比特数例如取决于微控制器。图7是用于说明在图5中所描绘的半导体器件的上电重置期间的状态转换的示图,而图8是用于说明在图5中所描绘的半导体器件中的上电重置之后所执行的操作的流程图。如在图7中所示,当功率从断电状态SI被开启时,上电重置初始化被在状态S2中执行,以便将安全设置为开启、读出锁定码和做出判決。
然后,根据在状态S2中所做出的判决结果,对安全开启状态S3或安全关闭状态S4进行转换。如在图8中所示,当上电重置被在步骤STll中执行时,对在ST12中的安全开启状态进行转换,并且,处理进行到步骤ST13,以读出存储在非易失性存储器11的锁定码存储区域LCA中的数据。处理进一步进行到步骤ST14,在该处,从LCA读出的数据(锁定码)被与前缀预期值(在接ロ 12中预设的安全码)相比较。然后,对状态ST15进行转换。在测试模式中,如果测试安全码与在步骤ST14中的锁定码相匹配,则安全被设置为开启,但是,如果测试安全码不与锁定码相匹配,则安全被设置为关闭。在另一方面,在正常模式中,如果在步骤ST14中用户安全码与锁定码相匹配,则 安全被设置为关闭,但是,如果用户安全码不与锁定码相匹配,则安全被设置为开启。图9和图10是示出了在图5中所示的虚线区域MP的第一实施例的框图,而图11是用于说明作为ー个应用到图9和图10的半导体器件中的外部输出的示例的串行键(serial key)输入影响模式切换的示图。在图9和图10中,除了非易失性存储器(eNVM) 11、命令屏蔽逻辑单元211和读出数据屏蔽逻辑单元212以外的组件元件构成安全控制单元22。如在图9和图10中所示,在图5中的安全控制单元22包括多个比较器131至137、或门141和142、异或门143、与门144、选择器145和146、触发器147,以及有限状态机150。在等待状态从重置状态变更到允许对非易失性存储器11的访问的状态之后,有限状态机150读出存储在LCA中的锁定码、检查安全状态、并且允许对非易失性存储器11的访问。如果对比结果指示匹配,则比较器131至137中的每ー个被配置为输出“I”。比较器132比较安全码A(第一安全码测试安全码)和从非易失性存储器11读出的锁定码。安全码A例如对应于0xl234h,其将參照图17被稍后描述。在另一方面,比较器133和134将安全码Cl和C2 (第二安全码用户安全码)分别与从非易失性存储器11读出的锁定码相比较。安全码Cl和C2例如分别对应于OxFFFFh和0xAA55h,其将參照图17被稍后描述。比较器131和132的输出被提供到与非门143 ;比较器133和134的输出被提供到或门141 ;比较器131的输出和或门141的输出被提供到与门144 ;并且,门143和144的输出被提供到选择器145。根据例如通过多个诸如在图11中所描绘的触发器FFl至FF4所生成的串行键Ql至Q4(模式信号“模式”),选择器145选择测试模式或正常模式。首先,串行数据被从数据输入(进入数据)应用到触发器FFl至FF4,以与时钟(时钟)同步的方式写入4比特的串行键Ql至Q4。然后,基于是选择了测试模式还是正常模式,存储在触发器FFl至FF4中的串行键Ql至Q4被读出并被作为模式信号“模式”应用。此处,将理解,串行键并不限于4比特结构,而是可使用各种其他的比特配置。选择器(多路复用器)146被选择器145的输出所控制,并且,选择器146的输出经由触发器147被作为安全标志SF提供到命令屏蔽逻辑单元211和读出数据屏蔽逻辑单元 212。命令屏蔽逻辑单元211包括与门112和选择器111,或门142的输出和安全标志SF被作为输入提供到与门112,选择器111被与门112的输出所控制。比较器135和136的输出被提供到或门142 ;此处,比较器135和136将经由命令输入终端提供的信号DIN[7:0]分别与信号OxAO和0x30相比较。选择器111将信号DIN[7:0]和OxR)作为输入接收,并且,在与门112的输出的控制下,将所选择的信号提供到非易失性存储器11。信号OxAO和0x30被分别提供到比较器135和136,并且,提供到选择器111的信号0が0假定使用JEDEC标准命令集,但是,其并不限于使用该特定集。读出数据屏蔽逻辑单元212包括与门122和选择器121,该与门122接收在其转换输入处的比较器137的输出和在其非转换输入处的安全标志SF,该选择器121被与门122 的输出所控制。比较器137将模式信号“模式”(例如,串行键)与CPU模式(AM4)相比较。在第一实施例的半导体器件中,当安全标志是“O”时,允许所有命令,因此,允许所有类型的对非易失性存储器11的访问,即,擦除、读取和写入。在另一方面,当SF是“I”吋,仅允许“芯片擦除”命令,其仅允许对非易失性存储器11的芯片擦除并禁止诸如读取和写入之类的其他类型的访问。串行键(模式信号“模式”)例如被微控制器制造商管理,并且,当希望将半导体器件(微控制器)设置为测试模式时,微控制器制造商从外部设备输入串行键。图12是用于说明在图9和图10中所描绘的半导体器件的安全逻辑单元的操作的流程图。首先,如果将要在步骤ST104中被验证的模式例如是测试模式,则串行键Ql至Q4被预先在重置状态中输入。当重置(上电重置)被执行时,处理在步骤STlOl中等待非易失性存储器11启动,并且,当确定在步骤ST102中非易失性存储器11已经启动时,处理进行到步骤ST103以从LCA读取锁定码。接下来,在步骤ST104中,确定操作模式是否是测试模式。如果在步骤ST104中确定操作模式是测试模式,则处理进行到步骤ST105以读出安全码A (测试安全码)。处理进一步进行到步骤ST106以确定安全码A是否与锁定码相匹配。如果在步骤ST106中确定安全码A与锁定码相匹配,则处理进行到步骤ST107以将安全设置为开启。此时,针对非易失性存储器11,仅接受“芯片擦除”命令,并且,不可以执行诸如从外部读取存储在非易失性存储器11中的数据之类的其他操作。即,在测试模式中,如果作为预设在接ロ 12中的测试安全码的相同代码被例如存储在非易失性存储器11的锁定码存储区域LCA中,则安全被设置为开启,其禁止除了“芯片擦除”之外所有类型的访问。在另一方面,如果在步骤ST106中确定安全码A并不与锁定码相匹配,则处理进行到步骤STllO以将安全设置为关闭。此时,变得可以接受所有类型的命令,诸如,针对非易失性存储器11从外部的读取、写入和擦除。如果在步骤ST104中确定操作模式不是测试模式,S卩,操作模式是正常模式,则处理进行到步骤ST108以读出安全码C(用户安全码)。
处理进一步进行到步骤ST109以确定安全码C是否与锁定码相匹配。如果在步骤ST109中确定安全码C与锁定码相匹配,则处理进行到步骤STllO以将安全设置为关闭。在另一方面,如果在步骤ST109中确定安全码C并不与锁定码相匹配,则处理进行到步骤ST107以将安全设置为开启。如上所述,当安全被在步骤ST107或STllO中被设置时,从CPU 13或从外部到非易失性存储器11的访问被相应地允许(或限制)。直到安全在步骤ST107或STllO中被设置之后,来自CPU或来自外部的访问才将被接受。通过这种方式,根据第一实施例的半导体器件(融合了非易失性存储器的微控制器),为了允许擦除、读取和写入操作被在由微控制器制造商所进行的装运前测试中执行,可做出供应,以防止安全在进行测试之前或测试期间中被设置为开启。例如,如果做出供应以使得当系统制造商将程序码写入到非易失性存储器中时不将相同的代码作为安全码A (测试安全码)写入到LCA,则安全可被防止被设置为开启。另外,在系统制造商已经将程序码写入到非易失性存储器之后,如果安全被设置为开启,g卩,如果作为安全码A (测试安全码)的相同代码被写入到LCA,则程序码将不被外部访问读出。因此,一旦安全被设置为开启,可做出供应,使得如果外部试图任意恶意操作,则安全将不会被解锁,除了“芯片擦除”以外。另外,一旦安全已被设置为开启,如果出现在现场更正程序码的需要,则系统制造商可被允许重写程序(在芯片擦除之后写入)并且之后将安全设置为开启。图13和图14是示出了在图5中所描绘的半导体器件中的安全逻辑单元的第二实施例的框图;所示出的部分对应于在图5中所描绘的虚线区域MP。如通过将图13和图14与之前给出的图9和图10相比较可看出的,第二实施例的半导体器件通过包含比较器138而不同,该比较器138将安全码B与从非易失性存储器11读出的锁定码相比较。安全码B (第三安全码初始分析安全码)例如对应于0x5678h,其将參照图17被稍后描述。第二实施例的半导体器件还包括比较器139和140,、异或门151、与门152和153、选择器154,以及触发器155。比较器139将测试模式、应用到非易失性存储器11的测试模式输入的信号与希望被用于初始分析的操作模式相比较,并且,将其输出提供到读出数据屏蔽逻辑单元212。比较器140用于将测试模式与串行键(模式信号“模式”)相比较,以查看其是否匹配,并且,将输出提供到三输入的与门153,比较器131和138的输出也被提供到该三输入的与门153。选择器154被与门153的输出所控制,并且,选择器154的输出经由触发器155被作为分析使能信号AES提供到命令屏蔽逻辑单元211和读出数据屏蔽逻辑单元212。 除了选择器121和与门122之外,读出数据屏蔽逻辑单元212包括与门123和或门124。与门123将分析使能信号AES和比较器139的输出作为其输入接收,并且,或门124将与门123的输出和比较器137的输出作为其输入接收。或门124的输出被提供到与门122的转换输入。
在第二实施例的半导体器件中,当安全标志是“O”并且分析使能信号AES是“O”时,允许所有命令。即,允许所有类型的对非易失性存储器11的访问,即,擦除、读取和写入(安全级别O)。在另一方面,当SF是“I”并且AES是“O”吋,仅允许“芯片擦除”命令,其仅允许对非易失性存储器11的芯片擦除(安全级别2)并禁止诸如读取和写入之类的其他类型的访问。另外,当SF是“I”并且AES是“I”吋,仅允许“芯片擦除”命令和希望被用于初始分析的命令(初始分析命令);即,仅允许对非易失性存储器11的芯片擦除和初始分析命令(安全级别I)。
通过这种方式,根据第二实施例的半导体器件,除了安全码A和C之外,通过提供安全码B,变得可以在测试模式中接受初始分析命令。此处,安全码B并不限于对应于ー个初始分析命令的安全码,而是多个安全码B可被提供,以便能够设置更大数目的安全级别。图15是用于说明在图13和图14中所描绘的半导体器件表中的安全逻辑单元的操作的流程图。图16是用于说明添加到在图13和图14中所描绘的半导体器件中的安全逻辑单元的第二个实施例中的功能的一个示例的示图。如从图15与之前给出的图12的对比很显然的,在图13和图14中所描绘的半导体器件的第二实施例中从步骤STlOl到STllO的处理与在第一实施例中的对应步骤本质上是相同的。此处,在步骤ST107中的安全开启状态对应于以上所定义的安全级别2,而在步骤STllO中的安全关闭状态对应于以上所定义的安全级别O。在之前所给出的图12中,如果在步骤ST106中确定安全码A不与锁定码相匹配,则处理进行到步骤STllO以将安全设置为关闭,但是在图15中,处理进行到步骤STlll。S卩,如果在步骤ST106中确定安全码A不与锁定码相匹配,则处理进行到步骤STlll以读出安全码B (初始分析安全码);然后,处理进行到步骤ST112。如果在步骤STl 12中确定安全码B与锁定码相匹配,则处理进行到步骤STl 13以将安全设置为开启(安全级别I)。安全级别I与在步骤ST107中的安全级别2(安全开启状态)的不同之处在于虽然安全级别2仅允许芯片擦除命令,但是,安全级别I也允许初始分析命令。S卩,在测试模式中,如果作为预设在接ロ 12中的安全码B(初始分析安全码)的相同代码被存储在例如非易失性存储器11的锁定码存储区域LCA中,则不仅芯片擦除可被执行,例如故障分析也可被执行。如果在步骤ST112中确定安全码B不与锁定码相匹配,则处理进行到步骤STllO以将安全设置为关闭(安全级别O)。当安全码B与锁定码相匹配时变得可接受的初始分析命令例如实现诸如在图16中所描绘的额外功能。S卩,通过在图16的示例中所描绘的功能,系统制造商不可能读出写入到非易失性存储器11的数据自身,但是,可允许系统制造商基于逐扇区(扇区O、扇区1,...)来获得存储单元的阈值电压Vt的分布。
更具体地,图16描绘了比特数和写入到扇区3的数据的阈值电压之间的关系,并且,如所示,例如基于带有针对数据“ I ”和“O”的阈值电压的存储单元的分布,故障分析被执行。例如,当安装有非易失性存储器的微控制器在现场发生故障并被返回到微控制器制造商时,如果作为安全码B(初始分析安全码)的相同代码被存储在非易失性存储器11的锁定码存储区域LCA中,则变得可以通过输入串行键来将模式切換到测试模式,并且,可在对非易失性存储器的芯片擦除之前,执行基于逐扇区的阈值电压分布的故障分析。当安全码B与锁定码相匹配时变得可接受的初始分析命令并不限于以上获得逐扇区阈值电压分布的初始分析命令,而是,在设计阶段,各种其他初始分析命令可被选择,并且,这种命令的数量并不限于I。
通过这种方式,根据第二实施例的半导体器件,除了通过前述第一实施例的半导体器件所获得的效果之外,还提供如下的效果如果出现非易失性存储器的现场故障,则允许系统制造商进行供应,以便使微控制器制造商能够基于所指定的初始分析命令来执行故障分析。S卩,微控制器制造商变得可以执行适于由系统制造商所规定(与允许)的初始分析安全码的故障分析。此处的故障分析意味着在存储器内定位故障比特,或例如通过执行擦除、读取或写入操作来找到故障电流。图17是用于说明可应用于本实施例的半导体器件的安全码的示例的示图,而图18是用于说明可由系统制造商写入并可应用于本实施例的半导体器件的锁定码的示例和该锁定码的效果的示图。图19是用于分别说明根据本实施例的半导体器件的在正常模式和测试模式中的每个锁定码示例的命令允许/拒绝状态的示图。图20是用于參照存储在根据本实施例的半导体器件的锁定码存储区域中的数据来分别说明在正常模式和测试模式中的安全开启/关闭状态的示图,并且更具体地,是用于通过利用图19的锁定码示例来说明正常模式和测试模式以及存储在锁定码存储区域中的数据之间的关系的示图。首先,如在图17中所示,当半导体器件是16比特微控制器时,安全码A(第一安全码测试安全码)被例如设置为0xl234h。安全码C(C1、C2 :第二安全码用户安全码)被例如分别设置为OxFFFFh或0xAA55ho安全码B (第三安全码初始分析安全码)被例如设置为0x5678h。安全码B也是测试安全码的实例,在某种意义上,其控制在测试模式中的安全。如之前所述的,这些安全码A、B和C例如通过在制造时利用屏蔽物被烧入到接ロ12中,或者由诸如保险丝熔断之类的供电钳位被物理地设置。此处,在安全码C的情形中,如果例如对非易失性存储器11的芯片擦除被执行,则在存储单元阵列中的所有数据都被清除为“1”,使得锁定码存储区域LCA也被清除到OxFFFFh。因此,优选的是将代码OxFFFFh设置为对应干“所有擦除数据”的用户安全码(第ニ安全码),使得在对非易失性存储器11的芯片擦除之后,安全将不会被设置为开启。另外,在封装微控制器之后所执行的装运前测试(FT测试最終测试)中,例如安全码C被看作是正常模式代码。因此,如果将LCA清除至0xAA55的样式被在FT测试中使用,则优选的是将对应的代码0xAA55设置为用户安全码。这用作防止安全在FT测试期间被设置为开启,并且因此,例如即便当处理进行到重新測量在测试过程期间所使用的样式时,省去了由执行芯片擦除所帯来的解锁安全的问题。针对安全码A和B,例如代码OxFFFFh是不可用的,因为通过在测试期间所执行的对非易失性存储器11的芯片擦除,安全将随后被设置为开启。例如,在处理之后,安全码A和B中的每ー个被设置为与对应于存储单元数据的值非常不同的值。例如,当非易失性存储器是闪存时,在处理之后的存储单元数据差不多处于接近全I的状态中,并且因此,在锁定码存储区域LCA中的值也接近OxFFFFh。S卩,如果接近OxFFFFh的值(例如,OxFFFFh)被设置在闪存的锁定码存储区域LCA中,则当执行测试时,在开始测试之后,测试安全码与锁定码相匹配的概率增加,并且因此,安全被设置为开启。因此,优选的是将例如安全码A和B中的每ー个设置为与OxFFFFh非常不同的值。图18示出了提供给用户(例如,系统制造商)的锁定码“a”到“ c”的示例,SP,用户在锁定码存储区域LCA中所设置的锁定码和安全/初始分析效果的示例。S卩,如在图18至图20中所示的,例如系统制造商(用户)被通知在图17中所描绘的安全码A至C,并且,将锁定码“a”到“c”写入到锁定码存储区域LCA。更具体地,在图17中所描绘的安全码A至C的示例中,首先,锁定码“a”(xl234h)被写入到LCA ;然后,由于其与安全码A相匹配,因此,不管在正常模式中还是在测试模式中,仅接受芯片擦除命令。 即,锁定码“a”提供最高的安全级别(级别2),并且,不仅在正常模式中还是在测试模式中,都不可以解锁安全;即便当由于故障而使微控制器被返回到微控制器制造商吋,仅可执行芯片擦除。接下来,当锁定码“b” (x5678h)被写入到LCA吋,由于其与安全码B相匹配,在正常模式中,仅接受芯片擦除命令,但是,在测试模式中,芯片擦除命令和初始分析命令二者都被接受。S卩,当由于故障而使微控制器被返回到微控制器制造商吋,锁定码“b”允许制造商通过将微控制器设置在测试模式而例如基于參照图16所描述的逐扇区阈值电压分布来执行故障分析,并且无需执行芯片擦除。另外,当锁定码“c”(0xFFFh、0xAA55h、或者非xl234h或x5678h的代码)被写入到LCA时,在正常模式中,仅接受芯片擦除命令,但是,在测试模式中,接受所有的写入、读取和擦除命令。S卩,锁定码“c”提供最低的安全级别(级别O),并且,当微控制器由于故障而被返回到微控制器制造商吋,锁定码“c”通过将微控制器设置在测试模式中而允许制造商执行完全的初始分析,并且,无需执行芯片擦除。此处,如之前所述的,例如通过微控制器制造商将串行键应用到微控制器,从正常模式到测试模式的切換可在上电重置时生效。图21A、图2IB和图2IC是用于以时序来说明在本实施例的半导体器件中所使用的安全码和锁定码的示图;即,到此为止所给出的描述被以时序方式分别针对微控制器制造商、系统制造商和最終用户进行总结。更具体地,图21A、图21B和图21C示出了系统制造商如何将程序码写入到安装在由微控制器制造商所制造的微控制器中的非易失性存储器中,以及配备有微控制器的产品是如何被提供给市场的。因此,在所示出的示例中,所提供的产品被传递给最終用户,程序码被系统制造商更正(更新),并且,如果出现产品故障,则安装在产品上的微控制器经由系统制造商被返回到微控制器制造商。首先,微控制器制造商执行从处理Pl (设计)到处理P5(装运)的处理,并且,将产品(安装有非易失性存储器的微控制器)传递给系统制造商。系统制造商在步骤P8中将程序码写入到非易失性存储器中,并且,在步骤P7中将安全设置为开启。此处,在步骤P7中,如之前參照图17至图19所述的,系统制造商将与将要设置的 安全级别相匹配的锁定码写入到非易失性存储器的锁定码存储区域LCA。安装有已由系统制造商写入程序码的非易失性存储器的微控制器作为最终产品(例如,配备有微控制器的家用电器、汽车等)在市场上被提供给最终用户。此处,如在步骤P8中所示的,如果锁定码“a”至“ c”中的任意一个已由系统制造商被写入,由于模式是正常模式并且安全是开启,则最终用户不能从外部读取或改变(写入)程序码。另外,如在步骤P9中所示的,当更正(更新)程序码时,系统制造商首先执行芯片擦除,然后写入新的程序码,并且之后将锁定码写入到LCA以将安全设置为开启。步骤PlO示出了如下这种情形配备有微控制器的最終产品现场出现故障并因此该呈现为有缺陷的微控制器被返回到系统制造商。步骤Pii示出了有缺陷的微控制器从系统制造商返回到微控制器制造商的情形。在该情形中,由于模式是正常模式并且安全是开启,如在步骤PlO中所示的,系统制造商没有选择,只能执行对擦除的芯片擦除,并且,不能检查故障状況。相反地,如在步骤Pll中所示的,可允许微控制器制造商例如通过从外部输入串行键并切換到测试模式来进行与由系统制造商所设置的安全级别相匹配的测试。更具体地,如之前參照图18至图20所描述的,在图17中所描述的安全码A至C的示例中,如果xl234h被写入到LCA,由于锁定码与安全码A相匹配,因此,即便在测试模式中,仅允许芯片擦除,并且,不可以检查故障状況。在另一方面,如果x5678h被写入到LCA,由于锁定码与安全码B相匹配,在测试模式中,不仅接受芯片擦除命令,还接受初始分析命令。因此,在测试模式中,变得可以例如基于逐扇区的阈值电压分布来执行故障分析,而无需执行芯片擦除。如果0xFFFFh、0Xaa55h、或者非xl234h或x5678h的代码被写入到LCA,则在测试模式中,安全被解锁。即,在测试模式中,接受所有写入、读取和擦除命令。在该情形中,在测试模式中,由系统制造商写入到非易失性存储器的程序码被微控制器制造商自由访问。即,通过同意写入到非易失性存储器的程序码被微控制器制造商自由访问,系统制造商将微控制器返回到微控制器制造商。在以上的描述中,非易失性存储器并不限于闪存,并且,可使用诸如EEPROM之类的其他类型的非易失性存储器。另外,半导体器件也不限于安装有非易失性存储器的微控制器。这里描述的所有示例和条件性语言都是说明目的,以帮助读者理解由发明人推动现有技术所贡献出的发明和概念,并且,将被理解为不限制到 这种具体叙述的示例和条件,在说明书中的这种示例的组织也不涉及对发明的优势和劣势的说明。虽然已经详细描述了本发明的实施例,但是,应当理解,在不偏离发明的精神和范围的前提下,可做出对其的各种变更、替代和改变。
权利要求
1.一种半导体器件,包括 非易失性存储器;以及 接ロ,该接ロ被配置为传输去往和来自所述非易失性存储器的数据,其中 所述接ロ包括安全逻辑单元,该安全逻辑单元根据多个预设安全码和写入到所述非易失性存储器的特定区域中的锁定码,来控制写入到所述非易失性存储器的数据的安全级别。
2.根据权利要求I所述的半导体器件,其中,所述安全码包括第一安全码和第二安全码,并且其中 在用于测试所述半导体器件的测试模式中,如果所述第一安全码与所述锁定码相匹配,则所述安全逻辑单元将安全设置为开启,并且,如果所述第一安全码不与所述锁定码相匹配,则所述安全逻辑单元将安全设置为关闭,并且 在用于操作所述半导体器件的正常模式中,如果所述第二安全码与锁定码相匹配,则所述安全逻辑单元将安全设置为关闭,并且,如果所述第二安全码不与所述锁定码相匹配,则所述安全逻辑单元将安全设置为开启。
3.根据权利要求2所述的半导体器件,其中,所述安全码还包括第三安全码,并且其中 在所述测试模式中,如果所述第一安全码不与所述锁定码相匹配,则在所述第三安全码与所述锁定码相匹配的情况中,除了某些功能之外,所述安全逻辑单元将安全设置为开启,而在所述第三安全码不与所述锁定码相匹配的情况中,所述安全逻辑单元将安全设置为关闭。
4.根据权利要求3所述的半导体器件,其中,如果所述第一安全码不与所述锁定码相匹配,而所述第三安全码与所述锁定码相匹配,则所述安全逻辑单元仅允许预定功能被执行。
5.根据权利要求4所述的半导体器件,其中,所述预定功能是用于所述半导体器件的故障分析的初始分析命令所执行的功能。
6.根据权利要求3至5中的任意一项所述的半导体器件,其中,所述第二安全码包括与通过所述非易失性存储器的全擦除而得到的数据相对应的代码。
7.根据权利要求6所述的半导体器件,其中,所述第一安全码和所述第三安全码中的每ー个被选择为和与通过所述非易失性存储器的全擦除而得到的数据相对应的代码不同的代码。
8.根据权利要求3至5中的任意一项所述的半导体器件,其中,所述第二安全码包括与所述非易失性存储器的装运前测试中所使用的测试样式相对应的代码。
9.根据权利要求8所述的半导体器件,其中,所述第一安全码和所述第三安全码中的每ー个被选择为和与所述非易失性存储器的装运前测试中所使用的测试样式相对应的代码不同的代码。
10.根据权利要求I至5中的任一项所述的半导体器件,其中,根据从外部设备输入预定代码,从所述正常模式到所述测试模式的切換生效。
11.根据权利要求I至5中的任一项所述的半导体器件,其中,所述特定区域是在所述非易失性存储器的地址空间中最后被擦除的区域。
12.根据权利要求11中所述的半导体器件,其中,所述非易失性存储器包括多个存储体,并且 所述特定区域被包含在所述多个存储体中的最后被擦除的存储体中。
13.根据权利要求I至5中的任一项所述的半导体器件,其中,所述安全码中的每ー个通过在制造时利用屏蔽物而烧入或者通过供电钳位而被预设在所述接口中。
14.根据权利要求I至5中的任一项所述的半导体器件,其中,在启动后的安全状态默认是开启。
15.根据权利要求I至5中的任一项所述的半导体器件,还包括CPU,并且其中 写入到所述非易失性存储器的数据是用于通过控制所述CPU来实现指定功能的程序码。
全文摘要
一种半导体器件,包括非易失性存储器;以及被配置传输去往和来自非易失性存储器的数据的接口。该接口包括安全逻辑单元,该安全逻辑单元根据多个预设安全码和写入到非易失性存储器的特定区域的锁定码来控制写入到非易失性存储器的数据的安全级别。
文档编号G06F12/14GK102693189SQ201110461288
公开日2012年9月26日 申请日期2011年12月30日 优先权日2011年1月21日
发明者柴田健一郎, 若松大树, 陶山宽子 申请人:富士通半导体股份有限公司