用于重新编程可编程硬件设备的方法和系统技术方案

技术编号:9646083 阅读:154 留言:1更新日期:2014-02-07 10:12
可编程硬件设备在不需要系统停机时间的情况下被重新编程。为了重新编程设备,静默设备,保存与设备相关联的状态,加载更新,恢复状态,并且重新开始操作,除了可能的系统中的延迟之外,所有对于系统透明。

【技术实现步骤摘要】
【国外来华专利技术】用于重新编程可编程硬件设备的方法和系统
本专利技术的一个或者多个方面一般涉及可编程硬件设备,并且尤其涉及重新编程这种设备。
技术介绍
可编程硬件设备的示例是现场可编程门阵列(FPGA)。现场可编程门阵列是设计为在制造之后配置的集成电路。FPGA配置一般使用硬件描述语言(HDL)(类似于用于专用集成电路(ASIC)的硬件描述语言)规定。FPGA可以用于实现ASIC可以执行的任何逻辑功能。它们包含可编程逻辑组件(即,逻辑块)和允许多个块以各种配置相互连接的可配置互连的层次(hierarchy)。
技术实现思路
通过提供用于重新编程硬件设备的计算机程序产品克服现有技术的缺点并且提供附加优点。计算机程序产品包括计算机可读存储介质,该计算机可读存储介质由处理电路可读并且存储用于由处理电路执行以执行方法的指令。该方法例如包括:静默与要重新编程的可编程硬件设备相关联的一个或者多个实体;将与可编程硬件设备相关联的状态存储在可编程硬件设备外部的一个或者多个位置;重新加载可编程硬件设备,所述重新加载包括向可编程硬件设备提供更新;以及使用所存储的状态恢复与可编程硬件设备相关联的状态,其中,可编程硬件设备被重新编程而没有系统停机时间。这里还描述并且要求保护涉及本专利技术的一个或者多个方面的方法和系统。另外,涉及本专利技术的一个或者多个方面的服务也被描述并且可能在这里要求保护。通过本专利技术的技术实现附加特征和优点。本专利技术的其它实施例和优点在这里被详细描述并且被认为是要求保护的专利技术的一部分。附图说明本专利技术的一个或者多个方面被特别指出并且在说明书的结论处的权利要求中作为示例被明确地要求保护。从下面结合附图考虑的详细描述中,本专利技术的前面和其它目的、特征和优点是显而易见的,在附图中:图1描绘结合并且使用本专利技术的一个或者多个方面的通信环境的一个实施例;图2描绘根据本专利技术的一个方面的图1的通信环境的其它细节;图3描绘根据本专利技术的一个方面的、可以用于实现图1的通信环境的组件以及它们之间的接口的现场可编程门阵列设备和专用集成电路的示例;图4描绘根据本专利技术的一个方面的、用以重新编程可编程硬件设备的概述的一个实施例;图5A描绘根据本专利技术的一个方面的、用以静默实体并且保存与正在重新编程的可编程硬件设备相关联的状态的逻辑的一个实施例。图5B描绘根据本专利技术的一个方面的、用以静默与正在编程的可编程硬件设备相关联的接收路径的逻辑的一个实施例;图6描绘根据本专利技术的一个方面的、用以加载用于正在重新编程的可编程硬件设备的更新的逻辑的一个实施例;图7A描绘根据本专利技术的一个方面的、用以恢复和重新开始与正在重新编程的可编程硬件设备相关联的操作的逻辑的一个实施例;图7B描绘根据本专利技术的一个方面的、用以初始化并且启用与正在重新编程的具体可编程硬件设备相关联的特定状态的逻辑的一个实施例;以及图8描绘结合本专利技术的一个或者多个方面的计算机程序的一个实施例。具体实施方式根据本专利技术的一个方面,提供重新编程可编程硬件设备而不需要停机时间的能力。也就是,除了可能的延迟之外,不影响在外部但耦合到正在重新编程的设备的组件。那些组件不需要被关机(bringdown)、重新启动或者另外采取用于重新编程的动作。除了性能可能受延迟影响之外,重新编程对于那些组件是透明的。例如,如果要重新编程路由器的一个或者多个块,则除了(多个)适配器或者(多个)主机可能通知处理中的减低速度之外,在不影响耦合到路由器的(多个)适配器或者(多个)主机的情况下,发生重新编程。正在重新编程的可编程硬件设备例如是现场可编程门阵列,现场可编程门阵列可以包括在很多通信或者计算组件、系统、环境等中。在这里描述的具体示例中,正在重新编程路由器的一个或者多个现场可编程门阵列。然而,可以使用本专利技术的一个或者多个方面重新编程不同于路由器的组件、系统、环境等中的现场可编程门阵列或者其它可编程硬件设备。参考图1描述可以包括要重新编程的可编程硬件设备的通信环境的一个实施例。在一个示例中,通信环境100包括由国际商业机器公司(InternationalBusinessMachinesCorporation)提供的System服务器。System基于InternationalBusinessMachinesCorporation提供的关于的细节在名称为“z/Architecture-PrinciplesofOperation,”IBMpublicationNo.SA22-7832-08,第九版,2010年8月的publication中描述,其全部以引用的方式并入本文。System和是InternationalBusinessMachinesCorporation,Armonk,NewYork的注册商标。这里使用的其它名称可以是InternationalBusinessMachinesCorporation或者其它公司的注册商标、商标或者产品名称。在一个示例中,通信环境100包括耦合到网络适配器104和主机106的路由器102。网络适配器例如基于快速外围组件互连(PCIe)技术,其规范由PCI特别兴趣组(PCISIG)维护。主机可以包括一个或者多个虚拟机107,并且因此路由器102可以称为虚拟化路由器。然而,在其它实施例中,主机不包含虚拟机。在一个示例中,路由器102包括接收缓冲器108,接收缓冲器108从网络适配器104接收数据。该数据以一个或者多个分组的形式接收。解析器110耦合到接收缓冲器,解析器110检查每个分组的首部(例如,层2、层3等),并且执行测试,以确定是否确定接收到的分组的目的地连接。如果这样,则处理确定要求用以向例如与目的地连接对应的虚拟主机存储器109发送数据分组的一个或者多个特定连接的资源是否可用。如果一个或者多个特定连接的资源可以获取用于由诸如分配器112之类的资源分配机构来分配,则它们是可用的。例如,分配器112试图获取要求用以发送该分组到与目的地连接对应的虚拟机107的一个或者多个特定连接资源。(这里可互换地使用“虚拟机”和“虚拟主机”)。虽然图1的示例描绘一个虚拟机107,但是这是为了例示的目的。系统可以包括多个虚拟机。例如,系统可以包括数百或者数千个虚拟机。利用在单个物理主机上运行的数百或者数千个虚拟机,在任何给定时刻,可能对于虚拟机的某一小子集存在资源的分散不足(scatteredshortage)。在物理机内,管理程序可以向不同虚拟机分配不同资源。例如,某些虚拟机可能具有更高优先级,并且因此比其它虚拟机获得更多的时间切片。另一方面,某些虚拟机可能具有分配用于用作接收缓冲器的更多物理存储。。在一个实施例中,由于先前的资源不足,当相同连接的分组已经存在于弹性先入先出(FIFO)存储器118内时,本地引擎120阻止向新分组分配资源。如果分配器112在获取资源中是成功的,则发送引擎114向与虚拟机107相关联的虚拟主机存储器109写入分组。如果解析器110没有确定分组的目的地连接,则将分组传递到存储引擎116。如果分配器112试图获得要求的资源失败,这可能是因为资源不可用或者因为本地引擎当前对那些资源具有优先存取,则分配器112将分组传递到存储引擎116。对于要服务的每个分组,存储引擎116从弹性FIFO118获取自由分组缓本文档来自技高网...
用于重新编程可编程硬件设备的方法和系统

【技术保护点】
一种用于重新编程可编程硬件设备的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质由处理电路可读并且存储用于由处理电路执行以执行方法的指令,所述方法包括:静默与要重新编程的可编程硬件设备相关联的一个或者多个实体;将与可编程硬件设备相关联的状态存储在可编程硬件设备外部的一个或者多个位置;重新加载可编程硬件设备,所述重新加载包括向可编程硬件设备提供更新;以及使用所存储的状态恢复与可编程硬件设备相关联的状态,其中,可编程硬件设备被重新编程而没有系统停机时间。

【技术特征摘要】
【国外来华专利技术】2011.06.01 US 13/151,0791.一种用于重新编程可编程硬件设备的计算机系统,所述计算机系统包括:用于静默与要重新编程的可编程硬件设备相关联的一个或者多个实体的装置,其中,可编程硬件设备是通信环境的路由器的一部分;用于将与可编程硬件设备相关联的状态存储在可编程硬件设备外部的一个或者多个位置的装置;用于重新加载可编程硬件设备的装置,所述重新加载包括向可编程硬件设备提供更新;以及用于使用所存储的状态恢复与可编程硬件设备相关联的状态的装置,其中,可编程硬件设备被重新编程而没有系统停机时间,并且其中,所述用于使用所存储的状态恢复与可编程硬件设备相关联的状态的装置被配置用于:执行可编程硬件设备的配置;重新加载除了涉及路由器的一个或者多个描述符表的状态之外的与可编程硬件设备相关联的所存储的状态;初始化并且启用路由器的至少一个描述符表管理器;以及恢复涉及路由器的所述一个或者多个描述符表的状态。2.如权利要求1所述的计算机系统,其中,用于静默与要重新编程的可编程硬件设备相关联的一个或者多个实体的装置被配置用于静默从路由器到耦合到路由器的适配器的发送路径和来自适配器的路由器的接收路径。3.如权利要求2所述的计算机系统,其中,静默路由器的接收路径包括停止路由器的接收路径并且等待路由器成为空闲。4.如权利要求3所述的计算机系统,其中,停止路由器的接收路径包括静默用于接收路径的描述符表管理器,并且执行静默适配器的接收路径或者停止到路由器的通信量中的至少一个。5.如权利要求4所述的计算机系统,其中,停止路由器的接收路径包括静默用于接收路径的描述符表管理器,并且停止到路由器的通信量,停止到路由器的通信量包括:抑制对路由器的访问;将路由器的描述符访问重新映射到数据存储;对于没有完成的一个或者多个描述符,扫描用于接收路径的描述符表管理器的描述符表,并且在数据存储中指示没有完成所述一个或者多个描述符;以及将一个或者多个描述符表从用于接收路径的描述符表管理器复制到数据存储。6.如权利要求1所述的计算机系统,其中,初始化和启用至少一个描述符表管理器包括:抑制对路由器的访问;恢复与所述一个或者多个描述符表相关联的状态;将一个或者多个描述符表的本地数据存储副本复制到路由器的至少一个描述符表管理器;恢复所述一个或者多个描述符表中的一个或者多个指针;将一个或者多个分组id入队列到路由器的队列;启用路由器的至少一个描述符表管理器;允许对路由器的访问;以及启用与路由器相关联的一个或者多个路径。7.如权利要求1所述的计算机系统,其中,可编程硬件设备是通信环境的路由器的一部分,并且其中,恢复状态包括初始化和启用路由器的描述符表管理器,初始化和启用包括:抑制对路由器的访问;恢复一个或者多个描述符表和与其相关联的控制;启用描述符表管理器;以及基于启用描述...

【专利技术属性】
技术研发人员:N哈吉克J特纳CA本德尔HM海尼JC汉斯科姆
申请(专利权)人:国际商业机器公司
类型:
国别省市:

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2015年04月13日 18:28
    “勿以恶小而为之,勿以善小而不为”。不要因为是件较小的坏事就去做,不要因为是件较小的善事就不去做。
    0
1