安全引导ROM补丁的系统及方法技术方案

技术编号:11164953 阅读:53 留言:0更新日期:2015-03-18 21:21
公开了一种安全引导ROM补丁的系统及方法。一种数据处理系统(100),包括:被配置成存储引导代码的引导只读存储器(ROM)(104);被配置成存储补丁指令的一次性可编程(OTP)存储电路(116);随机存取存储器(RAM)(110);以及,耦合于所述引导ROM、所述OTP存储电路和所述RAM的处理器。所述处理器被配置成:响应于所述数据处理系统的重置,将一个或多个补丁指令从所述OTP存储电路复制到所述RAM中,以及,在所述引导代码的执行期间,执行来自所述RAM的一个或多个所述补丁指令,以替代所述引导代码的指令。

【技术实现步骤摘要】
安全引导ROM补丁的系统及方法
本公开通常涉及半导体装置,更具体地说,涉及用于安全修补芯片上系统(SoC)装置的引导只读存储器。
技术介绍
处于开发中的芯片上系统(SoC)包括很多组件,例如处理器、存储器、外围装置和总线。一些SoC实现了芯片上引导只读存储器(R0M),而其它的未实现,却实现了芯片上闪存,或使用了芯片外存储器以用于存储引导处理器的指令。当考虑安全性并且芯片上闪存不是一种选择的时候,引导ROM是优选的,因为一旦SoC被制作,ROM不能被改变。引导ROM也可以作为验证在处理器上运行的软件的受信任代码。当处理器在断电或重置之后启动的时候,初始化过程可以包括利用指令和/或数据来修补SoC上ROM的区域,其中,所述指令和/或数据纠正已知问题或添加附加性能。出于安全考虑,现有芯片上ROM补丁机制对于支持安全引导的所有引导ROM是禁用的。根本问题是,如果修补不小心进行,它可以削弱ROM代码的受信任本质。如果保持启用,则由于可能未经认证的潜在问题并且引入未经测试的变化,现有补丁机制可以危害安全引导过程。 在不使用芯片上ROM中的补丁情况下,修复问题需要经过修改的电路掩模,以及利用收缩工艺技术,修改用于ROM修复的一个或多个掩模变得更加昂贵。例如,C40R0M掩模比C65硅晶片掩模贵两倍。这样的ROM修改也需要显著的发展、验证努力和客户整合,这就给产品投放增加了显著推迟,从而推迟了收入。非常期望具有安全芯片上ROM补丁机制来解决问题,并且一旦SoC已经被制作,在无需创建新的硅晶片掩模的情况下不断变化需求。 【附图说明】 本专利技术公开通过举例的方式说明并没有被附图所限制,在附图中类似的参考符号指示相同的元素。附图中的元素说明是为了简便以及清晰,不一定按比例绘制。 图1根据本专利技术公开,说明了芯片上系统(SoC)的一个实施例的方框图。 图2说明了可以被用于图1的SoC的只读存储器(ROM)控制器的一个实施例的方框图。 图3说明了用于在制作期间使用安全引导ROM性能配置图1的SoC的方法的流程图。 图4根据本专利技术公开,说明了用于修补图1的SoC的引导ROM的方法的流程图。 【具体实施方式】 公开了系统及方法的实施例,其提供了安全地修补芯片上系统(SoC)半导体装置中的芯片上只读存储器(ROM)的性能。在一些实施例中,ROM补丁代码或指令被安全地编程在一次性可编程(OTP)存储器电路中,例如在驻留于SoC上的电子熔丝中。该ROM补丁代码因而具有与现有引导ROM相同的安全属性,并且一旦SoC由制作商交付,锁定机制防止了 ROM补丁代码被修改。新的引导ROM代码问题可以被安全地修补,而不影响安全引导过程的完整性。正如本专利技术所公开,在不需要开发和准予用于SoC的新硅晶片掩模的情况下修补安全引导ROM代码的能力节省了成本,并提高了效率。 图1根据本专利技术公开,说明了芯片上系统(SoC)处理系统100的一个实施例的方框图,该芯片上系统(SoC)处理系统包括处理器102、具有ROM控制器(ROMC)配置指令106和补丁数据复制指令107的引导ROM 104、具有用于存储ROM锁定比特的寄存器109的ROM控制器108、具有存储器控制器111和补丁数据112的内部存储器110、一次性可编程(OTP)控制器114以及具有引导ROM补丁数据118的OTP存储元件116、R0MC配置数据120、以及用于存储OTP锁定比特122的寄存器或元件。 SoC 100是信息处理系统,其可以被设计成给一个或多个用户提供独立计算能力。SoC 100可以用于很多装置,包括但不限于大型机、小型机、服务器、工作站、个人计算机、笔记本、电子阅读器、个人数字助理、电子游戏机、汽车、飞机、机械、嵌入式系统、蜂窝电话和各种其它无线装置。SoC包括至少一个处理器102。SoC 100根据程序处理信息,并经由I/O装置产生结果输出信息。程序是一系列指令,例如特定应用程序和/或操作系统。计算机程序通常被内部存储在计算机可读存储介质上,或经由计算机可读传输介质传送到计算机系统。计算机程序通常包括执行(运行)程序或程序的部分、当前程序值和状态信息,以及由操作系统用来管理过程执行的资源。父过程可能产生其它子过程,以帮助执行父过程的整体功能。 SoC 100可以包括任何数量的分离集成电路或彼此互连的分离装置。例如,内部存储器110可以位于与处理器102相同的集成电路上。附加存储器可以位于分离集成电路上,或位于其它外围装置或与SoC其它元件离散地分离开的从属装置内。在一些实施例中,补丁数据112只存储在SoC 100内部的存储器中,以减小未经认证的篡改补丁数据112的可能性。 引导ROM 104可以使用任何合适类型的ROM实现,所述ROM可以利用数据一次性编程,并且在需要的时候进行读取。ROMC配置指令106包括读取ROMC配置数据120并编程ROM控制器108中的配置数据的处理器指令。除了其它信息之外,ROMC配置数据120还可以被用于配置内部存储器110中的目标地址,补丁可能会从该目标地址开始。补丁数据复制指令107包括可执行指令,所述可执行指令可以被处理器102使用,以复制引导ROM补丁数据118到内部存储器110的补丁数据112。 ROM控制器108是具有逻辑指令的处理单元,除了其它功能之外,所述逻辑指令还对寄存器109中的ROM锁定比特断言或解除断言。例如,当安全引导ROM补丁是可用的时候,ROM控制器108可以设置ROM锁定比特,以锁定ROM控制器108的配置。 内部存储器110可以是任何合适的随机存取存储器(RAM),其包括存储器控制器111和用于存储补丁数据112的存储元件。除了其它功能,存储器控制器111还控制对补丁数据112的写访问。 OTP控制器114包括处理模块或电路,除了其它功能,其还执行逻辑指令,以为了引导ROM补丁数据118、ROMC配置数据120以及OTP锁定比特122,而访问OTP存储元件116。OTP存储元件116可以使用一次性写入但可以在需要的时候进行读取的任何合适装置被实现。例如,OTP存储元件116可以使用电子熔丝或其它一次性可编程非易失性存储器被实现。 一旦引导ROM补丁数据118和ROMC配置数据120被写入OTP存储元件116,OTP锁定比特122可以被用于防止更改引导ROM补丁数据118和ROMC配置数据120。 图2说明了可以被用于图1的SoC的只读存储器(ROM)控制器108的一个实施例的方框图,该只读存储器(ROM)控制器108包括ROM控制逻辑202、ROM补丁地址比较逻辑204、复用器206以及ROMC寄存器208。ROM控制逻辑202从处理器102接收地址和控制信号、给引导ROM 104提供ROM地址、从引导R0M104接收ROM数据以及给处理器102发送“就绪”信号。一旦ROM控制器提供了指令地址,就绪”信号可以被用于启用处理器102,以开始执行。提供给ROM控制逻辑202的地址是引导ROM指令的起始地址。 ROMC寄存器208存储ROMC配置数据120,其包括与驻留在引导ROM 104中的指令地址相匹配的地址。 ROM补丁地址比较逻辑本文档来自技高网...

【技术保护点】
一种数据处理系统,包括:引导只读存储器ROM,所述引导ROM被配置成存储引导代码;一次性可编程OTP存储电路,所述OTP存储电路被配置成存储补丁指令;随机存取存储器RAM;以及处理器,所述处理器耦合于所述引导ROM、所述OTP存储电路和所述RAM,并且被配置成:响应于所述数据处理系统的重置,将一个或多个补丁指令从所述OTP存储电路复制到所述RAM中,以及在所述引导代码的执行期间,执行来自所述RAM的一个或多个所述补丁指令,以替代所述引导代码的引导指令。

【技术特征摘要】
2013.08.30 US 14/015,4291.一种数据处理系统,包括: 弓丨导只读存储器如1,所述引导被配置成存储引导代码; 一次性可编程01?存储电路,所述01?存储电路被配置成存储补丁指令; 随机存取存储器;以及 处理器,所述处理器耦合于所述引导如1、所述01?存储电路和所述狀1,并且被配置成: 响应于所述数据处理系统的重置,将一个或多个补丁指令从所述01?存储电路复制到所述中,以及 在所述引导代码的执行期间,执行来自所述的一个或多个所述补丁指令,以替代所述引导代码的引导指令。2.根据权利要求1所述的数据处理系统,还包括存储电路,所述存储电路被配置成存储尺01锁定比特,其中,所述处理器被配置成:在所述一个或多个补丁指令被从所述01?存储电路复制到所述狀1中之后,断言所述锁定比特。3.根据权利要求1所述的数据处理系统,还包括耦合于所述的控制器,其中所述01?被配置成存储801控制器配置数据。4.根据权利要求3所述的数据处理系统,其中,所述处理器还被配置成: 响应于所述数据处理系统的所述重置,使用所述控制器配置数据来配置所述尺01,其中,所述控制器配置数据指示在所述麵中所述补丁指令的位置。5.根据权利要求4所述的数据处理系统,其中,所述引导代码包括控制器配置指令,其中,所述处理器被配置成:响应于所述数据处理系统的所述重置,使用所述控制器配置数据,来响应于执行来自所述的所述控制器配置指令而配置所述控制器。6.根据权利要求1所述的数据处理系统,其中,所述处理器被配置成: 响应于所述数据处理系统的所述重置,确定用于所述引导代码的至少一个补丁指令是否是可用的,其中,响应于确定用于所述引导代码的至少一个补丁指令是可用的,执行所述一个或多个补丁指令从所述01?存储电路到所述的复制。7.根据权利要求1所述的数据处理系统,其中,所述处理器被配置成:如果没有补丁指令是可用的,则响应于所述数据处理系统的所述重置,禁用修补。8.根据权利要求1所述的数据处理系统,其中所述引导代码包括补丁复制指令,其中,所述处理器被配置成:响应于所述数据处理系统的所述重置,响应于执行来自所述的所述补丁复制指令来将所述一个或多个补丁指令从所述01?存储电路复制到所述中。9.在具有引导只读存储器801、一次性可编程01?存储电路和随机存取存储器的数据处理系统中,一种方法包括: 接收系统重置信号; 响应于所述系统重置信号,将至少一个补丁指令从所述01?存储电路复制到所述狀1中; 执行来自所述引导的引导代码,其中,在执行所述引导代码期间,执行所述中的所述至少一个补丁指令中的补丁指令,以替代所述引导代码的引导指令。10.根据权利要求9所述的方法,还包括: 响应于所述...

【专利技术属性】
技术研发人员:阿希姆·A·扎伊迪范崇斌法瑞杜丁·A·穆罕默德孙明勒格伦·G·维内克罗德尼·D·焦乌科夫斯基
申请(专利权)人:飞思卡尔半导体公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1