System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及用于将设备上的现有固件更新为新固件的系统和方法,并且更特别地,本公开涉及在保持设备上的状态数据和连接性的同时将设备上的现有固件更新为新固件。
技术介绍
1、设备(例如,存储设备)可以连接到外围组件快速互连(pcie)接口或其他接口。在设备的操作期间,当至少一个核心正在执行命令或指令时,处理器核心的固件可能需要被更新,这可能导致吞吐量低效。
技术实现思路
1、根据本公开,为在保持操作状态、数据和连接性的同时在设备上(诸如在固态驱动(ssd)设备上)操作的动态固件更新应用提供了系统和方法。例如,具有控制器、多核处理器、在处理器核心上的现有固件并且当前正在执行事务的ssd设备接收将现有固件更新为新固件的请求。动态固件更新应用可以使用软件、硬件或其组合至少部分地在控制器上实现。在一些实施例中,固件不能被更新,直到所有未完成(outstanding)的事务被执行,并且所有的核心都可用于被重置以加载新固件。这可能需要延长的时间段,并且因此在需要立即更新固件时出现问题。此外,更新处理器核心的固件可能引起在该处理器核心和其他处理器核心之间的兼容性问题。
2、根据本公开,在一些实施例中,当未完成的事务可以继续在第一处理器核心上执行时,动态固件更新应用搜索可以加载现有固件的可用处理器核心,以在第一处理器核心更新为新固件时充当独立处理器核心。在一些实施例中,动态固件更新应用进一步包括在继续进行固件更新之前确定第二处理器核心可用。诸如未完成的事务、操作状态和连接性状态之类的数据从第一
3、在一些实施例中,动态固件更新应用接收将第一处理器核心的现有固件更新为新固件的请求。动态固件更新应用然后将现有固件加载到第二处理器核心上,并将与第一处理器核心上的现有固件的操作状态相关联的数据迁移到第二处理器核心。在一些实施例中,动态固件更新应用进一步使第一处理器核心停止执行事务,同时使第二处理器核心使用现有固件代替第一处理器核心执行事务。在一些实施例中,动态固件更新应用进一步重启第一处理器核心,用新固件替换第一处理器核心上的现有固件,并将与第二处理器核心上的现有固件的操作状态相关联的数据迁移到第一处理器核心。在一些实施例中,动态固件更新应用进一步使第二处理器核心停止执行事务,并且使第一处理器核心利用新固件执行事务。
4、在一些实施例中,动态固件更新应用可以用于更新具有耦合到外围组件快速互连(pcie)接口的多个核心的任何合适设备的固件。在一些实施例中,该设备例如可以是任何合适的存储设备,其可以通过使用非易失性快速存储器(nvme)标准协议通过pcie接口进行通信。非易失性存储器快速(nvme)工业标准协议定义了用于主机系统的寄存器级接口,以通过外围组件快速互连(pcie)总线与设备(例如,ssd或hdd)通信。在一些实施例中,动态固件更新应用可以用于更新具有耦合到以太网接口的多个核心的任何合适的设备的固件。
5、在一些实施例中,将与第一处理器核心上的现有固件的操作状态相关联的数据迁移到第二处理器核心进一步包括将与第一处理器核心上的现有固件的操作状态相关联的数据加载到与第二处理器核心相关联的可用存储器区域上。在一些实施例中,与第一处理器核心上的现有固件和第二处理器核心上的新固件的操作状态相关联的数据包括多个未完成的事务、相应固件的状态和相应固件的输入/输出连接性状态,它们中的每一个都可以在处理器核心之间迁移。在一些实施例中,重启第一处理器核心发生在第二处理器核心开始执行事务之后,并且在替换第一处理器核心上的现有固件之前。
6、在一些实施例中,固态驱动(ssd)设备被提供为具有彼此通信耦合的处理器和控制器。在一些实施例中,处理器至少包括第一处理器核心和第二处理器核心。在一些实施例中,处理器是具有多于两个处理器核心的多核处理器。在一些实施例中,控制器被配置为接收将现有固件更新为新固件的请求,将现有固件加载到第二处理器核心上,将与第一处理器核心上的现有固件的操作状态相关联的数据迁移到第二处理器核心。控制器进一步被配置为使第一处理器核心停止执行事务,同时使第二处理器核心使用现有固件代替第一处理器核心执行事务,并且同时使第一处理器核心重启。在一些实施例中,控制器进一步被配置为用新固件替换第一处理器核心上的现有固件,将与第二处理器核心上的现有固件的操作状态相关联的数据迁移到第一处理器核心,使第二处理器核心停止执行事务,并且使第一处理器核心使用新固件执行事务。
本文档来自技高网...【技术保护点】
1.一种用于在继续执行事务的同时更新当前在第一处理器核心上操作的现有固件的方法,所述方法包括:
2.根据权利要求1所述的方法,其中第一处理器核心和第二处理器核心耦合到外围组件快速互连(PCIe)接口。
3.根据权利要求1所述的方法,其中第一处理器核心和第二处理器核心耦合到以太网接口。
4.根据权利要求1所述的方法,进一步包括确定第二处理器核心可用。
5.根据权利要求1所述的方法,其中将与第一处理器核心上的现有固件的操作状态相关联的数据迁移到第二处理器核心进一步包括将与第一处理器核心上的现有固件的操作状态相关联的数据加载到与第二处理器核心相关联的可用存储器区域上。
6.根据权利要求1所述的方法,其中与第一处理器核心上的现有固件的操作状态相关联的数据和与第二处理器核心上的新固件的操作状态相关联的数据分别包括:
7.根据权利要求1所述的方法,其中所述重启发生在第二处理器核心开始执行事务之后并且在替换第一处理器核心上的现有固件之前。
8.一种系统,包括:
9.根据权利要求8所述的系统,其中第一
10.根据权利要求8所述的系统,其中第一处理器核心和第二处理器核心耦合到以太网接口。
11.根据权利要求8所述的系统,其中所述控制电路进一步用于确定第二处理器核心可用。
12.根据权利要求8所述的系统,其中所述控制电路用于将与第一处理器核心上的现有固件的操作状态相关联的数据加载到与第二处理器核心相关联的可用存储器区域上。
13.根据权利要求8所述的系统,其中与第一处理器核心上的现有固件的操作状态相关联的数据和与第二处理器核心上的新固件的操作状态相关联的数据分别包括:
14.根据权利要求8所述的系统,其中所述控制电路用于在第二处理器核心开始执行事务之后并且在替换第一处理器核心上的现有固件之前重启第一处理器核心。
15.一种固态驱动(SSD)设备,包括:
16.根据权利要求15所述的SSD设备,其中第一处理器核心和第二处理器核心耦合到外围组件快速互连(PCIe)接口。
17.根据权利要求15所述的SSD设备,其中第一处理器核心和第二处理器核心耦合到以太网接口。
18.根据权利要求15所述的SSD设备,其中所述控制器进一步用于确定第二处理器核心可用。
19.根据权利要求15所述的SSD设备,其中所述控制器用于将与第一处理器核心上的现有固件的操作状态相关联的数据加载到与第二处理器核心相关联的可用存储器区域上。
20.根据权利要求15所述的SSD设备,其中与第一处理器核心上的现有固件的操作状态相关联的数据和与第二处理器核心上的新固件的操作状态相关联的数据分别包括:
21.根据权利要求15所述的SSD设备,其中所述控制器用于在第二处理器核心开始执行事务之后并且在替换第一处理器核心上的现有固件之前重启第一处理器核心。
...【技术特征摘要】
【国外来华专利技术】
1.一种用于在继续执行事务的同时更新当前在第一处理器核心上操作的现有固件的方法,所述方法包括:
2.根据权利要求1所述的方法,其中第一处理器核心和第二处理器核心耦合到外围组件快速互连(pcie)接口。
3.根据权利要求1所述的方法,其中第一处理器核心和第二处理器核心耦合到以太网接口。
4.根据权利要求1所述的方法,进一步包括确定第二处理器核心可用。
5.根据权利要求1所述的方法,其中将与第一处理器核心上的现有固件的操作状态相关联的数据迁移到第二处理器核心进一步包括将与第一处理器核心上的现有固件的操作状态相关联的数据加载到与第二处理器核心相关联的可用存储器区域上。
6.根据权利要求1所述的方法,其中与第一处理器核心上的现有固件的操作状态相关联的数据和与第二处理器核心上的新固件的操作状态相关联的数据分别包括:
7.根据权利要求1所述的方法,其中所述重启发生在第二处理器核心开始执行事务之后并且在替换第一处理器核心上的现有固件之前。
8.一种系统,包括:
9.根据权利要求8所述的系统,其中第一处理器核心和第二处理器核心耦合到外围组件快速互连(pcie)接口。
10.根据权利要求8所述的系统,其中第一处理器核心和第二处理器核心耦合到以太网接口。
11.根据权利要求8所述的系统,其中所述控制电路进一步用于确定第二处理器核心可用。
12.根据权利要求8所述的系统,其中所述控制电路...
【专利技术属性】
技术研发人员:T·哈利特,B·M·坎班,K·拉贾戈帕兰,M·戈文丹,M·菲茨帕特里克,S·波维勒斯,J·诺兰,J·M·休格斯,
申请(专利权)人:爱思开海力士存储器产品解决方案公司以Solidigm名称运营,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。