使用多个一次可编程位控制对资源的访问的集成电路设备的制作方法

文档序号:15575821发布日期:2018-09-29 05:29阅读:201来源:国知局

集成电路设备和产品通常采用测试和调试元件,该测试和调试元件提供对设备的电路和元件的不受限制的访问。当集成电路设备可用于客户或公众使用时,集成电路设备的制造商或开发商通常禁用对这些测试和调试元件的访问。

附图说明

图1a示出使用多个一次可编程(“otp”)位来控制对受保护资源的访问的示例集成电路设备。

图1b示出用于访问集成电路设备的资源的示例控制子系统。

图2示出用于控制对集成电路设备的受保护资源的访问的示例方法。

具体实施方式

示例包括使用多个一次可编程位来控制对集成电路设备的资源或一组资源的访问的集成电路设备。在一些示例中,集成电路设备利用多个otp位来启用和重新启用对可以嵌入或集成到设备上的评估和测试组件的访问。除了其它益处之外,这允许集成电路设备的评估和测试组件在下列两种情形可供开发商使用:(i)在集成电路设备被运送或部署以供使用之前,以及(ii)当集成电路设备或产品被返回以供调试、故障排除或评估时。然而,当集成电路设备处于使用时,示例利用otp位来保护评估和测试组件免于未经授权的使用。

尽管在集成电路设备的评估和/或测试组件的背景中描述了多个示例,但是示例提供了集成电路设备上的控制子系统,该控制子系统实现使用多个otp位来启用和禁用对给定资源的访问的多个实例。在评估和测试组件的背景中,资源可以与给定元件相对应,或者与提供对这些组件的访问的端口相对应。在其他背景中,资源可以与用于其他目的的组件或集成电路设备的组件(例如,用于存储受保护数据的存储器)相对应。

集成电路和产品(诸如专用集成电路(asic)和专用标准产品(assp))的制造通常涉及各种开发和故障排除功能的集成,这些开发和故障排除功能用于在产品或设备被运送给客户或用户之前对产品或设备进行测试和评估。在传统实践中,此类开发和故障排除功能向产品开发商提供对asic和assp的内部工作的访问。但是,为避免此类功能的未授权的访问或利用,制造商和开发商通常在运送产品以供使用之前永久禁用此类功能。

示例认识到,随着集成电路设备及其工作环境的日益复杂化,这些设备无法满足期望的目的或性能水平的可能性增加。示例进一步认识到,在这些设备已被部署在其工作环境中之后,由客户启用集成电路设备上的开发和故障排除功能可以提高制造商或开发商了解可以对设备进行哪些改进以提高可操作性和性能的能力。除其他益处外,示例还提供集成电路设备和产品,这些设备和产品可以安全地集成开发和故障排除功能,这些功能可以被禁用,然后被重新启用至少一次。当这些功能被禁用时,集成电路设备的产品可以被运送并且部署在客户环境中。如果产品被标记为进行故障排除或调试(例如,客户返回产品或请求现场服务),开发和故障排除功能可以重新启用至少一次。此外,在一些变型中,产品可以重新部署以便再次禁用开发和故障排除功能。

一些示例提供集成电路设备或产品,该集成电路设备或产品可以被操作以重新启用跟踪能力、内置自测试(bist)、jtag、性能监视器以及用于故障排除和测试功能的定制硬件。除其他益处之外,这些功能可以为集成电路设备或产品的硬件和软件功能性两者提供高水平的可控性和可观察性。在部署后测试和评估的背景中,这种开发和故障排除功能极大地增强了开发商针对特定工作环境诊断和调整集成电路或产品的能力。

根据一些示例,集成电路设备包括多个一次性可编程(“otp”)位、解码逻辑和用于控制对集成电路设备的受保护资源的访问的控制元件。解码逻辑确定用于otp位集合的集体状态的值。控制元件基于多个otp位的集体状态的值来控制对集成电路的受保护资源的访问。

在一些实施方式中,集成电路设备包括三个otp位,并且用于三个otp位的集体状态的值可以是下列中的一个:(i)第一状态(0,0,0)-集成电路设备的初始状态,在该初始状态中控制元件启用对设备的集成开发和故障排除功能的访问;(ii)第二状态(0,0,1)-控制元件禁用对集成开发和故障排除功能的访问,以保护设备免受未授权的访问和使用;(iii)第三状态(0,1,1)-控制元件重新启用对集成开发和故障排除功能的访问;以及(iv)第四状态(1,1,1)-控制元素禁用集成开发和故障排除功能。在这样的实施方式中,第一状态可以用于设备的部署之前的评估、测试或调试阶段,第二状态可以用于客户或终端用户使用,第三状态可以在设备或产品被标记用于评估(例如,设备或产品被客户返回)时由制造商或开发商触发,并且第四状态可以再次用于客户或终端用户使用。

图1a示出用于使用多个一次性可编程(“otp”)位来控制受保护资源的访问的示例集成电路设备。根据一些示例,集成电路设备可以对应于asic或assp,具有集成的一个或多个开发和故障排除功能。参考图1的示例,设备100包括otp位集合(或阵列)105、解码逻辑110、控制元件120、评估和测试组件(“e/t组件”)130,以及编程模块140。e/t组件130可以表示集成电路设备100的一个或多个评估、测试、开发和故障排除功能。例如,e/t组件130可以包括用于实施跟踪能力、内置自测试(bist)、jtag、性能监视器以及定制硬件故障排除和测试功能的组件、功能和其他资源。

解码逻辑110接收多个otp位105的集体状态111,并对该集合进行解码以生成高(例如,启用)信号117a或低(例如,禁用)信号117b。解码逻辑110可以确定用于otp位集合105的集体状态111的值113,并且集体状态111的值113可以确定解码逻辑110是输出高(例如,启用)信号117a还是低(例如,禁用)信号117b。当otp位集合105是三位时,该集体状态的值可以包括四种可能的状态((0,0,0),(0,0,1),(0,1,1),(1,1,1)),其中启用信号和禁用信号117a、117b中的每个是四种状态中的两种状态的相应输出。

控制元件120从解码逻辑110接收启用信号117a或禁用信号117b。控制元件120可以基于来自解码逻辑110的输出来启用对e/t组件130的访问。例如,当控制元件120接收到启用信号117a时,或者可替换地,当控制元件120接收到禁用信号117b时,控制元件120可以启用对e/t组件130的访问。根据一些示例,控制元件120是启用或限制对e/t组件130的访问的门结构。例如,控制元件120可以被实施为and门,当使用启用信号117a发信号通知访问信号132时,该and门启用对e/t组件130的访问。可以从例如外部工具的接口发信号通知访问信号132。

编程模块140可以操作以翻转集合105中的各个otp位。基于otp位的物理结构,当各个位从“0”翻转(或切换)为“1”时,状态的改变是永久性的。编程模块140可以使用例如制造或开发商接口来触发各个otp位。在制造完成之后,otp位的集体状态可以对应于(0,0,0),使得解码逻辑110的输出信号为高(例如,启用)。控制元件120可以启用对各种e/t组件130的访问,该e/t组件130可以包括设备100的被专门设计用于开发和故障排除阶段中使用的嵌入和集成的组件。在这个阶段,开发商例如可以利用设备100上的多个嵌入和集成的组件进行测试、调试、评估等。

一旦开发和故障排除阶段完成,可以操作编程模块140以触发otp位的第一位变为“1”,从而导致解码逻辑110的输出信号被切换为低(例如,或禁用)。当解码逻辑110的输出信号切换时,控制元件120可以阻止对e/t组件130的访问。该切换可以在设备100的不安全部署或使用之前,例如当设备或产品被运送给客户以供使用时。

在返回设备100以进行进一步的故障排除或测试的情况下,编程模块140可以触发otp位的第二位变为“1”,从而导致解码逻辑110的输出信号切换为高(例如,或启用)。当解码逻辑110的输出信号切换时,控制元件120可以再次启用对e/t组件130的访问。该切换可以与例如制造后调试或评估阶段一致。当该阶段完成时,可以操作编程模块140以触发otp位的第三位变为“1”,从而导致解码逻辑110的输出信号切换为低(例如,或禁用)。在该阶段,可以重新部署设备100以用于不安全的使用(例如,设备可以被返回给客户)。

图1b示出用于访问集成电路设备的资源的示例控制子系统。具体地,示例提供利用otp位来启用对集成电路设备的评估和故障排除组件的访问。在图1b的示例中,编程模块140包括至少一个安全触发器,用于选择性地触发otp位中的至少一个。在一种实施方式中,编程模块140触发三个otp位中的每一个。对于这样的实施方式,示例认识到第二otp位是潜在的易受攻击源,因为未授权的用户可以通过使用编程模块140触发第二otp位来获得对e/t组件130的访问。为了防止这种事件,编程模块140可以利用多层安全协议或功能,包括防止未授权的用户访问编程模块140或触发各个otp位的软件和/或硬件功能。

在一些示例中,编程模块140包括至少一个触发机制141,该触发机制141可以使相应的触发信号151能够将otp位中的一些或全部切换为“1”。在一些变型中,第二或第三触发机制142、143可以使相应的触发信号152、153能够分别切换相应的第二和第三otp位。在这样的示例中,第一、第二和第三触发机制141、142、143中的每一个可以包括相同的安全功能,用于生成相应的触发信号151、152、153。在变型中,第一、第二和第三触发机制141、142、143可以具有不同的要求、功能、安全级别或来源(例如,制造商、客户、第三方供应商等)。因此,例如,第二触发机制142(用于触发第二otp位)可以具有添加的安全功能,和/或可以包括为特定客户、使用环境或其他考虑因素指定的定制。

虽然所描述的一些示例提供了otp位集合105具有三个位,但是在变型中,可以使用更多otp位,以便提供启用或禁用对e/t组件130的访问的附加事件。例如,otp位集合105可以包括5个位,以便提供启用和禁用对e/t组件130的访问的附加实例。可以提供单独的触发机制145,用于触发第四otp位(重新启用对e/t组件130的访问)和/或第五(重新禁用对e/t组件130的访问)otp位。

更进一步地,在其他变型中,解码逻辑110的输出可以包括附加的输出信号119,以提供附加的启用/禁用信号,该附加的启用/禁用信号可以与控制元件120或不同的组件120一起使用,以启用对不同变化或不同类型的安全资源的访问。例如,可以通过第二控制机制使一些评估或调试功能可用,该第二控制机制可以被绑定到第二输出信号119。解码逻辑110可以例如默认地将119设置为低(例如,禁用),并且响应于otp位的集体状态(1,1,1,1,0)而将第二输出119切换为高。

图2示出用于控制对集成电路设备的受保护资源的访问的示例方法。诸如图2所示和所描述的示例方法可以使用诸如图1a所描述的集成电路设备的组件来实施。因此,为了说明用于执行所描述的步骤或子步骤的合适的组件或元件,可以参考图1a和图1b的元件。

参考图2的示例,集成电路设备100可以利用otp位集合105来控制对诸如e/t组件130的资源的访问。编程模块140可以与该otp位集合105接口连接,以便控制对e/t组件130的访问(210)。如通过其他示例所描述的,该otp位集合105使开发商(例如,制造商,调试商等)能够多次禁用对e/t组件130的访问。

根据示例,触发otp位中的第一位进行改变,以便禁用对e/t组件130的访问(220)。在一种实施方式中,编程模块140包括触发机制141,用于在例如集成电路装置100被运送时触发第一位进行改变。可以禁用e/t组件130以便阻止客户或未授权的用户访问e/t组件130。

可以触发otp位105中的第二位进行改变,以便重新启用对e/t组件130的访问(230)。开发商可以操作编程模块140,以便在集成电路设备100部署之后被返回以进行故障排除时触发第二位。在一些示例中,编程模块140可以利用第二触发器机制142以便触发第二位。第二触发机制可以例如实现附加的安全层或协议,以确保开发商或其他授权的个人访问e/t组件130。

开发商可以操作编程模块140以触发对otp位集合中的第三位的改变,以便重新禁用对e/t组件130的访问(240)。例如,开发商可以将集成电路设备100重新部署或运送给客户或公众。

尽管本文已经参考附图详细描述了说明性实施例,但是本公开涵盖对具体实施例和细节的变化。本文描述的实施例的范围意在由权利要求及其等同物限定。此外,能够预期的是,所描述的特定功能(无论是被单独地描述还是作为实施例的一部分被描述)可以与其他单独描述的功能或其他实施例的部分进行组合。因此,没有描述组合不应排除发明人对这种组合要求保护的权利。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1