CN102135894A - 一种多核在线补丁方法和装置 - Google Patents

一种多核在线补丁方法和装置 Download PDF

Info

Publication number
CN102135894A
CN102135894A CN2010105055144A CN201010505514A CN102135894A CN 102135894 A CN102135894 A CN 102135894A CN 2010105055144 A CN2010105055144 A CN 2010105055144A CN 201010505514 A CN201010505514 A CN 201010505514A CN 102135894 A CN102135894 A CN 102135894A
Authority
CN
China
Prior art keywords
patch
nuclear
global variable
variable
privately owned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105055144A
Other languages
English (en)
Other versions
CN102135894B (zh
Inventor
强鸿斐
雷镇
姚芳兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fengjie Dongyang Building Materials Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010505514.4A priority Critical patent/CN102135894B/zh
Priority to EP11777188.1A priority patent/EP2602713A4/en
Priority to PCT/CN2011/074094 priority patent/WO2011137769A1/zh
Publication of CN102135894A publication Critical patent/CN102135894A/zh
Priority to US13/847,344 priority patent/US9430399B2/en
Application granted granted Critical
Publication of CN102135894B publication Critical patent/CN102135894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种能够将补丁数据全部映射到共享内存补丁区的多核在线补丁方法和装置。本发明实施例的方法包括:分离补丁中的共享全局变量和私有全局变量;将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。本发明实施例可用于电信级软件的多核DSP系统中。

Description

一种多核在线补丁方法和装置
技术领域
本发明属于计算机技术领域,特别涉及一种多核在线补丁方法和装置。
背景技术
在线补丁是指程序运行中不重启程序而生效的补丁。对多核处理器,当前具有硬件内存管理单元(Memory Management Unit,MMU)的多核CPU已支持在线补丁功能。在多核CPU环境下,由主控核实现在线补丁的加载、激活等操作。
如图1所示,在多核CPU的补丁加载操作中,主控核获取补丁,并读取到高速缓存(cache),对补丁进行解析,提取补丁的代码段和数据段,按照逻辑地址进行加载,由硬件的MMU单元实现逻辑地址到物理地址的映射,将核私有数据映射到共享内存的补丁区的每个私有数据段上。
在实现本发明的过程中发明人发现,在MMU条件下,由于多核CPU中每个核访问相同的逻辑地址,并被映射到补丁区的不同物理地址上,因此使得多核CPU的共享全局变量无法被映射。
发明内容
本发明实施例提供一种多核在线补丁方法和装置,能够将补丁数据全部映射到共享内存的补丁区。
本发明实施例采用如下技术方案:
一种多核在线补丁方法,包括:
分离补丁中的共享全局变量和私有全局变量;
将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
一种多核在线补丁装置,包括:
变量分离单元,用于分离补丁中的共享全局变量和私有全局变量;
映射单元,用于将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
由本发明实施例的上述技术方案可知,通过分离补丁中的共享全局变量和私有全局变量,将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段,可以使得共享全局变量和私有全局变量同时得到映射,实现了将补丁数据全部映射到共享内存的补丁区。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍。
图1为现有技术的多核CPU的补丁加载操作过程示意图;
图2为本发明的补丁区的物理地址划分示意图;
图3为本发明提供的多核在线补丁方法实施例的流程图;
图4为本发明的补丁区加载过几次后的对外展示使用情况和实际使用情况对照图;
图5为本发明加载一个新补丁前的补丁区使用情况示意图;
图6为本发明加载一个新补丁后的补丁区使用情况示意图;
图7为本发明实施例提供的补丁激活操作过程示意图;
图8为本发明提供的多核在线补丁装置实施例的功能单元示意图;
图9为本发明提供的多核在线补丁装置实施例的另一功能单元示意图。
具体实施方式
为清楚地说明如何将补丁数据全部映射到共享内存的补丁区,参见图2,首先对补丁区的物理地址划分进行说明。在本发明中,将补丁区的物理地址划分成三个连续部分:共享区、私有区和备份区。
所述共享区,包括共享代码段和共享数据段,其中,共享代码段用于存放补丁的共享代码和补丁代码中的只读数据段,共享数据段用于存放补丁中定义的共享全局变量。对补丁共享区采用直接内存地址进行映射,也即是说,核在读取数据时,直接从内存里面获取,不经过高速缓存总线。
所述私有区,按照核个数等分成多个私有数据段,每个私有数据段的起始地址按照Cache Line(Cache的最小单位)大小对齐,每个私有数据段用于存放补丁中定义的私有全局变量。对补丁私有区采用用户指定变量地址进行映射,也即是说,可以采用高速缓存总线访问地址映射方式或采用直接内存地址映射方式进行映射。
所述备份区,用于备份核私有内存的函数指令和核私有数据,用于核初始化补丁状态的自恢复。
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图3所示,本发明提供的多核在线补丁方法实施例,包括:
S11,分离补丁中定义的共享全局变量和私有全局变量。
为确保补丁中私有全局变量的访问不受影响,本发明实施例对补丁中定义的私有全局变量采用如下定义形式:
将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据,这样补丁工具在做数据段提取时,搜索魔术字,只提取所述有效数据作为核私有数据;在补丁文件写作时,可以使用现有技术的pragma编程方式,将共享全局变量和私有全局变量放置在不同的数据段中。
S12,将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
其中,对所述私有全局变量采用用户指定变量地址映射方式进行映射具体可以为:提取所述私有全局变量的有效数据,并按照定义的结构体大小间隔,采用直接内存地址映射方式或者采用高速缓存总线访问地址映射方式分别映射到补丁区的每个核的私有数据段。
补丁工具对数据段进行解析,若为共享全局变量,则按照直接内存地址进行映射;若为私有全局变量,则按照用户指定的变量地址进行映射,并在数据段中搜索魔术字,将魔术字之前的有效数据记录到补丁文件中,将有效数据的大小加上每个核私有数据段的可用起始地址作为下次可用私有数据段的首地址,供下次补丁制作时使用。
若首次制作补丁,则从配置文件中获取补丁区的信息,否则从补丁文件中获取本次制作时的代码段与数据段的地址。根据累计使用有效数据的地址,对下次补丁制作时的起始地址进行定位,实现了补丁数据段空间的复用。
由此可知,通过分离补丁中定义的共享全局变量和私有全局变量,将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段,从而可以将补丁数据全部映射到共享内存的补丁区;另外由于对不同变量类型采用不同的映射方式,从而也实现了软件维护高速缓存的一致性,避免了高速缓存冲突。
进一步地,本发明实施例提供的多核在线补丁方法,还可以包括:
将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
为此,补丁管理端在做补丁加载操作时,针对核私有数据,除了加载到对应的补丁区的每个核的私有数据段之外,还需要向补丁区的数据备份区加载一次,以便在单个核复位之后,补丁状态恢复时,私有数据也能够恢复。
参见图4至图6的补丁区映射情况,图4的第一行描述了补丁区加载过几次后的对外展示使用情况,图4的第二行描述了补丁区加载过几次后的实际使用情况,其中灰度较深的部分为私有数据段实际使用的有效数据;图5描述了一个新的补丁需要加载,在各个段上方展示的空间为实际补丁文件中各个段的定义大小;图6为新增补丁加载完成之后补丁区的实际使用情况。由图4至图6可以看出,对于私有全局变量,补丁管理端在加载时,只是抽取了其有效数据,并按照变量定义大小间隔,分别加载给补丁区的每个核的私有数据段以及数据备份区。通过将私有全局变量定义为结构体变量,并使用魔术字,实现了私有全局变量的定义大小与维护大小分离。
在多核CPU环境下,高速缓存由硬件维护,并且由于硬件内存特性的限制,主控CPU核必须对所有代码段可写,需要主控核来完成补丁操作过程,且主控核必须是固定的,当某个核出现异常,例如挂死时,所有补丁功能操作将不能完成,并且为了实现补丁操作需要将所有的CPU进行复位。对于电信级软件的多核DSP而言,高速缓存由软件维护,每个核均有自己的私有内存。为实现在某些DSP核异常时也能够实现补丁功能,且在该异常核复位之后,能够自主恢复补丁状态。为此本发明实施例提供的多核在线补丁方法,还需要对同步掩码表做以下处理:
补丁初始化时,对所有核配置同映像的同步掩码表;在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志;在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表。从而补丁激活时,多核DSP的操作核根据最新的同步掩码表向在位的从核发起同步消息。
补丁激活是在线补丁生效的一个流程,在线补丁激活的基本原理是将原函数(待打补丁的函数)的入口处的指令替换为跳转指令,通过跳转指令将调用原函数的程序跳转到补丁区的补丁函数中执行,这涉及到核同步操作。为实现在某些核异常的情况下依然能实现补丁功能,在补丁激活时,可以由操作核根据最新的同步掩码表向在位的从核发起同步消息。
参见图7,本发明实施例的补丁激活操作过程具体如下:
S21,操作核获取需要替换的函数信息。
操作核根据需要激活的补丁获取补丁函数信息,获取的信息包括:原函数地址,补丁函数在补丁区的地址等。
S22,操作核设置临时内存传递核间信息。
操作核申请一段临时内存,用来传递核间信息,所述传递的信息包括:需要无效的函数个数、函数地址以及函数对应的数据段,以及处于核私有内存的函数个数以及对应的跳转指令等信息。
S23,操作核根据核在位情况发起同步。
操作核根据最新的同步掩码表,获取核在位情况,给对应的从核发起同步消息,然后进入同步等待状态。在位的从核收到同步消息后,进入同步状态。
S24,同步期间,操作核与从核执行各自的同步操作。
操作核执行共享内存跳转指令的替换,保存在核私有内存的函数信息,然后等待从核操作结束。
从核关闭中断、死循环,等待操作核操作结束,然后无效对应共享内存的指令Cache与数据Cache,执行核私有内存跳转指令的替换,并向本核搬移私有数据。
S25,同步结束,操作核与从核执行各自的业务。
S26,对同步异常的处理。
若有从核在补丁操作阶段异常,没有参与同步操作,那么在该异常核在复位之前,将从同步掩码表中去除自身的同步掩码标志,并在该异常核复位之后,读取补丁区的数据备份区来恢复补丁状态,并在补丁状态恢复成功之后,将自身的同步掩码标志重新添加至同步掩码表。
综上所述,本发明实施例提供的多核在线补丁方法,通过将私有全局变量定义为结构体变量,能够确保补丁中的私有全局变量的访问性能不受影响;通过分离补丁中定义的共享全局变量和私有全局变量,对不同变量类型采用不同的映射方式,能够将补丁数据全部映射到共享内存的补丁区,并可实现软件维护高速缓存的一致性,避免了高速缓存冲突。进一步地,通过备份核私有内存的函数指令和核私有数据,使得异常核在复位后,能够根据补丁区的数据备份区自主恢复补丁状态;通过对补丁初始化时的同步掩码表的处理,在补丁激活时使得操作核可以根据最新的同步掩码表向在位的从核发起同步消息,能够实现同映像的某个核出现异常时仍然能够执行补丁操作。
为此,本发明实施例解决了硬件不支持地址映射,硬件不维护高速缓存一致性,应用程序需要同时使用私有全局变量和共享全局变量等场景的多核补丁问题。另外本发明实施例还实现了在某个核出现异常时,无需复位所有核来进行补丁操作,并且还实现了在某个核复位之后,补丁状态自主恢复的功能。
可以理解的是,本发明实施例不仅适用于电信级软件的多核DSP系统中,对所有无MMU映射功能的多核处理器同样适用。
相应于本发明的多核在线补丁方法实施例,参见图8,本发明还提供一种多核在线补丁装置实施例,包括:
变量分离单元81,用于分离补丁中定义的共享全局变量和私有全局变量;
映射单元82,用于将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
其中,所述变量分离单元81包括:
结构体定义模块,用于将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;
魔术字分割模块,用于在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据;
放置模块,用于在补丁文件写作时,将补丁中的共享全局变量和所述私有全局变量放置在不同的数据段中。
通过变量分离单元81分离补丁中定义的共享全局变量和私有全局变量,映射单元82将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段,从而可以将补丁数据全部映射到共享内存的补丁区。并且由于对不同变量类型采用不同的映射方式,从而也实现了软件维护高速缓存的一致性,避免了高速缓存冲突。
进一步地,参见图9,本发明实施例的多核在线补丁装置还可以包括:
备份单元91,用于将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
为此,补丁管理端在做补丁加载操作时,针对核私有数据,除了加载到对应的补丁区的每个核的私有数据段之外,还由备份单元91将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区,从而补丁状态恢复时,私有数据也能够恢复。
进一步地,仍参见图9,发明实施例的多核在线补丁装置还可以包括:
掩码表处理单元92,用于补丁初始化时,对所有核配置同映像的同步掩码表,在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志;在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表。以及
同步单元93,用于补丁激活时,操作核根据最新的同步掩码表向在位的从核发起同步消息。
为此,通过掩码表处理单元92对补丁初始化时的同步掩码表的处理,同步单元93在补丁激活时使得操作核可以根据最新的同步掩码表向在位的从核发起同步消息,能够实现同映像的某个核出现异常时仍然能够执行补丁操作。
本领域普通技术人员可以理解,本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。其中,上述提到的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等等。
上述具体实施例并不用以限制本发明,对于本技术领域的普通技术人员来说,凡在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多核在线补丁方法,其特征在于,包括:
分离补丁中定义的共享全局变量和私有全局变量;
将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
2.根据权利要求1所述的方法,其特征在于,所述分离补丁中定义的共享全局变量和私有全局变量包括:
将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;
在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据;
在补丁文件写作时,将补丁中的共享全局变量和所述私有全局变量放置在不同的数据段中。
3.根据权利要求2所述的方法,其特征在于,所述将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段具体为:
提取所述私有全局变量的有效数据,并按照定义的结构体大小间隔,采用直接内存地址映射方式或者采用高速缓存总线访问地址映射方式分别映射到补丁区的每个核的私有数据段。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
补丁初始化时,对所有核配置同映像的同步掩码表;
在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志;
在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表;
补丁激活时,操作核根据最新的同步掩码表向在位的从核发起同步消息。
6.一种多核在线补丁装置,其特征在于,包括:
变量分离单元,用于分离补丁中定义的共享全局变量和私有全局变量;
映射单元,用于将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
7.根据权利要求6所述的装置,其特征在于,所述变量分离单元包括:
结构体定义模块,用于将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;
魔术字分割模块,用于在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据;
放置模块,用于在补丁文件写作时,将补丁中的共享全局变量和所述私有全局变量放置在不同的数据段中。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
备份单元,用于将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
掩码表处理单元,用于补丁初始化时,对所有核配置同映像的同步掩码表,在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志,在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
同步单元,用于补丁激活时,操作核根据所述掩码表处理单元处理的最新的同步掩码表向在位的从核发起同步消息。
CN201010505514.4A 2010-10-13 2010-10-13 一种多核在线补丁方法和装置 Active CN102135894B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201010505514.4A CN102135894B (zh) 2010-10-13 2010-10-13 一种多核在线补丁方法和装置
EP11777188.1A EP2602713A4 (en) 2010-10-13 2011-05-16 METHOD AND APPARATUS FOR MULTI-HEART ONLINE CORRECTION
PCT/CN2011/074094 WO2011137769A1 (zh) 2010-10-13 2011-05-16 一种多核在线补丁方法和装置
US13/847,344 US9430399B2 (en) 2010-10-13 2013-03-19 Multi-core online patching method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010505514.4A CN102135894B (zh) 2010-10-13 2010-10-13 一种多核在线补丁方法和装置

Publications (2)

Publication Number Publication Date
CN102135894A true CN102135894A (zh) 2011-07-27
CN102135894B CN102135894B (zh) 2015-11-25

Family

ID=44295687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010505514.4A Active CN102135894B (zh) 2010-10-13 2010-10-13 一种多核在线补丁方法和装置

Country Status (4)

Country Link
US (1) US9430399B2 (zh)
EP (1) EP2602713A4 (zh)
CN (1) CN102135894B (zh)
WO (1) WO2011137769A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461706A (zh) * 2014-11-24 2015-03-25 上海华为技术有限公司 一种将共享全局变量共享的方法和多处理装置
CN104636161A (zh) * 2013-11-15 2015-05-20 华为技术有限公司 一种多核系统的在线补丁方法及系统
CN108241516A (zh) * 2018-02-09 2018-07-03 深圳科立讯通信有限公司 嵌入式系统程序加载方法、装置、计算机设备和存储介质
CN108334420A (zh) * 2017-01-19 2018-07-27 中国科学院声学研究所 一种基于多核网络处理器系统的数据恢复方法
WO2018218848A1 (en) * 2017-06-02 2018-12-06 Huawei Technologies Co., Ltd. Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792112B2 (en) * 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
WO2015102631A1 (en) * 2014-01-02 2015-07-09 Hewlett Packard Development Company, L.P. Distributed kernel thread list processing for kernel patching
US9904538B2 (en) 2015-08-24 2018-02-27 International Business Machines Corporation Maintenance of multi-tenant software programs

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567195A (zh) * 2003-06-20 2005-01-19 华为技术有限公司 在嵌入式系统中实现引导程序热升级的方法
CN101106773A (zh) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 无线接入固定台软件升级后参数保持的方法
CN101178672A (zh) * 2007-11-29 2008-05-14 上海华为技术有限公司 多核处理器共享代码段补丁方法及装置
US20090064158A1 (en) * 2007-08-31 2009-03-05 Carter Stephen R Multi-core resource utilization planning
CN101794230A (zh) * 2010-04-07 2010-08-04 孙斌 用于多核的c语言扩充及编译系统支持方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699275A (en) * 1995-04-12 1997-12-16 Highwaymaster Communications, Inc. System and method for remote patching of operating code located in a mobile unit
US6088779A (en) * 1996-12-30 2000-07-11 Fujitsu Limited System and method for execution management of computer programs
US20040098715A1 (en) * 2002-08-30 2004-05-20 Parixit Aghera Over the air mobile device software management
US7784044B2 (en) * 2002-12-02 2010-08-24 Microsoft Corporation Patching of in-use functions on a running computer system
US7984434B1 (en) * 2003-05-21 2011-07-19 Altera Corporation Nondestructive patching mechanism
US8539469B2 (en) * 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US7814473B2 (en) * 2004-10-27 2010-10-12 Oracle International Corporation Feature usage based target patching
US8245216B2 (en) * 2005-10-11 2012-08-14 Oracle International Corporation Patch management system
GB0623276D0 (en) * 2006-11-22 2007-01-03 Transitive Ltd Memory consistency protection in a multiprocessor computing system
KR100887417B1 (ko) * 2007-04-11 2009-03-06 삼성전자주식회사 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
CN101425911A (zh) 2007-10-30 2009-05-06 沈阳 一种对移动终端投放精准广告的方法
US8839225B2 (en) 2008-01-23 2014-09-16 International Business Machines Corporation Generating and applying patches to a computer program code concurrently with its execution
US7979672B2 (en) * 2008-07-25 2011-07-12 International Business Machines Corporation Multi-core processors for 3D array transposition by logically retrieving in-place physically transposed sub-array data
CN101661397B (zh) * 2008-08-29 2012-09-12 宇龙计算机通信科技(深圳)有限公司 实现程序动态加载的方法和生成映射文件的方法及设备
US8131765B2 (en) * 2008-10-14 2012-03-06 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for caching writes by multiple clients to a virtualized common disk image
CN101582148A (zh) 2009-04-29 2009-11-18 深圳市世纪凯旋科技有限公司 一种投放广告信息的方法及装置
CN101561764B (zh) 2009-05-18 2012-05-23 华为技术有限公司 一种多核环境下的补丁方法与补丁装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567195A (zh) * 2003-06-20 2005-01-19 华为技术有限公司 在嵌入式系统中实现引导程序热升级的方法
CN101106773A (zh) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 无线接入固定台软件升级后参数保持的方法
US20090064158A1 (en) * 2007-08-31 2009-03-05 Carter Stephen R Multi-core resource utilization planning
CN101178672A (zh) * 2007-11-29 2008-05-14 上海华为技术有限公司 多核处理器共享代码段补丁方法及装置
CN101794230A (zh) * 2010-04-07 2010-08-04 孙斌 用于多核的c语言扩充及编译系统支持方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636161A (zh) * 2013-11-15 2015-05-20 华为技术有限公司 一种多核系统的在线补丁方法及系统
CN104636161B (zh) * 2013-11-15 2018-06-19 华为技术有限公司 一种多核系统的在线补丁方法及系统
CN104461706A (zh) * 2014-11-24 2015-03-25 上海华为技术有限公司 一种将共享全局变量共享的方法和多处理装置
CN104461706B (zh) * 2014-11-24 2019-03-26 上海华为技术有限公司 一种将共享全局变量共享的方法和多处理装置
CN108334420A (zh) * 2017-01-19 2018-07-27 中国科学院声学研究所 一种基于多核网络处理器系统的数据恢复方法
CN108334420B (zh) * 2017-01-19 2021-06-08 中国科学院声学研究所 一种基于多核网络处理器系统的数据恢复方法
WO2018218848A1 (en) * 2017-06-02 2018-12-06 Huawei Technologies Co., Ltd. Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update
US10528479B2 (en) 2017-06-02 2020-01-07 Huawei Technologies Co., Ltd. Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update
CN110892378A (zh) * 2017-06-02 2020-03-17 华为技术有限公司 在多版本异步动态软件更新期间通过虚拟存储器覆盖技术进行的全局变量迁移
CN110892378B (zh) * 2017-06-02 2022-05-24 华为技术有限公司 在多版本异步动态软件更新期间通过虚拟存储器覆盖技术进行的全局变量迁移
CN108241516A (zh) * 2018-02-09 2018-07-03 深圳科立讯通信有限公司 嵌入式系统程序加载方法、装置、计算机设备和存储介质
CN108241516B (zh) * 2018-02-09 2021-06-18 深圳科立讯通信有限公司 嵌入式系统程序加载方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2011137769A1 (zh) 2011-11-10
US20130219147A1 (en) 2013-08-22
CN102135894B (zh) 2015-11-25
EP2602713A1 (en) 2013-06-12
EP2602713A4 (en) 2013-09-18
US9430399B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
CN102135894A (zh) 一种多核在线补丁方法和装置
CN108234641B (zh) 基于分布式一致性协议实现的数据读写方法及装置
US9710396B2 (en) Sharing virtual memory-based multi-version data between the heterogeneous processors of a computer platform
EP1179770B1 (en) File system
CN102792276B (zh) 闪速复制级联中的缓冲磁盘
CN100495361C (zh) 维护存储器一致性的方法和系统
CN102567136B (zh) 一种计算机系统的备份、还原方法、装置及计算机系统
CN103827839A (zh) 用于在支持共享虚拟存储器的异构计算系统中的tlb关闭的方法和装置
CN109997118A (zh) 在永久存储器系统中以超高速一致地存储大量数据的方法
JP5821393B2 (ja) 情報処理装置、起動方法、プログラム
CN106155943B (zh) 一种双控存储设备的掉电保护的方法及装置
US20100115000A1 (en) Journaling Database Changes Using a Bit Map for Zones Defined in Each Page
CN103984768B (zh) 一种数据库集群管理数据的方法、节点及系统
CN101872306B (zh) 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN112000426B (zh) 一种数据处理方法及装置
US20090164840A1 (en) System and Method For Managing Root File System
CN104216802B (zh) 一种内存数据库恢复方法和设备
US8499133B2 (en) Cache management for increasing performance of high-availability multi-core systems
CN106250125A (zh) 获取日志的方法及装置
US10831369B2 (en) System and method for synchronizing caches after reboot
CN101815099A (zh) 双控磁盘阵列中双控制器配置信息同步的方法和装置
CN101086717B (zh) 存储瞬态信息的系统和方法
CN101770403A (zh) 一种多核平台上控制系统配置并发与同步的方法
JP2005122453A (ja) ストレージ装置のディスクコントローラ制御方式およびストレージ装置
US9003129B1 (en) Techniques for inter-storage-processor cache communication using tokens

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171206

Address after: 221300, Xuzhou, Jiangsu City, Pizhou province Pizhou Economic Development Zone on the north side of Liaohe Road, North Huashan Road West

Patentee after: Huang Shaowei

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20171206

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 headquarters building of Bantian HUAWEI base, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

CB03 Change of inventor or designer information

Inventor after: Duan Yuanbai

Inventor before: Qiang Hongfei

Inventor before: Lei Zhen

Inventor before: Yao Fangbing

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: The 404600 Chongqing city Fengjie County Zhenping on Village 7

Patentee after: FENGJIE DONGYANG BUILDING MATERIALS Co.,Ltd.

Address before: 221300, Xuzhou, Jiangsu City, Pizhou province Pizhou Economic Development Zone on the north side of Liaohe Road, North Huashan Road West

Patentee before: Huang Shaowei

TR01 Transfer of patent right