CN105302765A - 一种系统级芯片及其内存访问管理方法 - Google Patents

一种系统级芯片及其内存访问管理方法 Download PDF

Info

Publication number
CN105302765A
CN105302765A CN201410350601.5A CN201410350601A CN105302765A CN 105302765 A CN105302765 A CN 105302765A CN 201410350601 A CN201410350601 A CN 201410350601A CN 105302765 A CN105302765 A CN 105302765A
Authority
CN
China
Prior art keywords
mmu
virtual address
behalf
request
virtual
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.)
Pending
Application number
CN201410350601.5A
Other languages
English (en)
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.)
China Academy of Telecommunications Technology CATT
Original Assignee
China Academy of Telecommunications Technology CATT
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 China Academy of Telecommunications Technology CATT filed Critical China Academy of Telecommunications Technology CATT
Priority to CN201410350601.5A priority Critical patent/CN105302765A/zh
Publication of CN105302765A publication Critical patent/CN105302765A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供的一种系统级芯片及其内存访问管理方法,用以实现SOC中不同的处理器子系统的内存共享,并且多个处理器子系统之间共享内存进行一致性管理,从而降低SOC的面积及功耗的开销,以及实现共享内存的统一管理。所述系统级芯片,包括多个处理器子系统、多个处理器子系统共享的共享内存,以及连接于所述多个处理器子系统与所述共享内存之间,用于对所述多个处理器子系统对所述共享内存的访问进行管理的系统内存管理单元MMU。

Description

一种系统级芯片及其内存访问管理方法
技术领域
本发明涉及通信技术领域,尤其涉及一种系统级芯片及其内存访问管理方法。
背景技术
现代系统级芯片(SystemOnChip,SOC)中通常集成多种不同种类的处理器,包括中央处理器(CentralProcessingUnit,CPU)/微控制单元(MicroControlUnit,MCU)、图形处理器(GraphicProcessingUnit,GPU)、数字信号处理(DigitalSignalProcessor,DSP)及多媒体核心等。根据处理器各自的特点以及独特的性能表现,确保相应的任务分配给最高效的处理器去完成,从而使得SOC的性能和功效得到提升,而且这种由多种不同种类的处理器构成的SOC的性能和功效远远超越单一处理器构成的SOC。例如:音频和目标侦测在低功耗DSP上执行更高效,而大规模并行GPU则较适合做高度并行的任务,比如图像合成、图像渲染、游戏等。
目前,在SOC中集成多种不同种类的处理器是SOC的主流发展趋势,现阶段SOC只是简单的集成不同类型的处理器,每类处理器有自己的存储子系统(MemorySub-system),包括层1(L1)存储器(例如:一级指令缓存(L1I-cache)、一级数据缓存(L1D-cache)、L1紧耦合内存单元(TightlyCoupledMemory,TCM))、L2存储器甚至L3存储器,L1存储器的典型大小一般为32K比特(Byte)每核(percore),L2存储器一般为512KByte~几兆(M)Byte,L3存储器更大。
不失一般性,由于CPU子系统和GPU子系统的面积较大,此处以CPU子系统和GPU子系统为例。现有实现方案只是简单的将CPU核(core)及CPU子系统、GPUcore及GPU子系统集成在一颗SOC内部,如图1所示,CPU子系统10和GPU子系统11集成在一颗SOC内部,其中,CPU子系统10包括:多个CPU核102、虚拟内存104以及物理内存106,CPU核102包括CPU1022和层1缓存1024,GPU子系统11包括:多个GPU核112、虚拟内存114以及物理内存116,GPU核112包括GPU1122和层1缓存1124,CPU子系统10与GPU子系统11之间通过内存拷贝(MemoryCopy)的方式进行通信,大量的内存拷贝会加剧总线的负担,同时带来巨大的功耗开销。
目前也有些芯片厂家宣称自己的SOC是异构架构,但他们的方案只是针对处理器级别,比如相同类型的处理器(例如:CPU),每个CPU的工作频率、电压可调,并且有独立的电源管理区域,可完全关闭,尚未涉及处理器子系统的共享及优化。
总之,现有的SOC异构结构中主要有以下三点不足:
1、面积开销大:不同处理器子系统之间没有进行内存共享,致使内存占据SOC面积的60%甚至70%以上,因此带来很大的面积开销,不具成本优势;
2、功耗开销大:不同处理器子系统之间没有进行内存共享,处理器子系统之间的通信通过内存拷贝的方式进行,大量的内存拷贝导致SOC的功耗剧烈上升;
3、无法实现共享内存管理:现有技术中不同处理器子系统之间有共用内存的设计,但共用内存无法实现内存一致性管理、只能通过不同处理器子系统的软件Cache操作、处理器子系统间通过中断来保持内存一致性,使得软件维护内存一致性的开销比较大,而且应用起来不灵活、软件容错性差。
综上所述,现有SOC中在不同处理器子系统之间没有进行内存共享时,SOC中内存部分面积开销大且不同处理器子系统之间通过内存拷贝的形式进行通信大大增加了SOC的功耗开销,现有SOC中在不同处理器子系统之间有内存共享时,缺乏统一管理,导致SOC维护内存一致性开销大,影响SOC的性能。
发明内容
本发明实施例提供了一种系统级芯片及其内存访问管理方法,用以实现SOC中不同的处理器子系统的内存共享,并且多个处理器子系统之间共享内存进行一致性管理,从而降低SOC的面积及功耗的开销,以及实现共享内存的统一管理。
本发明实施例提供的一种系统级芯片,包括:多个处理器子系统、多个处理器子系统共享的共享内存,以及连接于所述多个处理器子系统与所述共享内存之间,用于对所述多个处理器子系统对所述共享内存的访问进行管理的系统内存管理单元(MemoryManagementUnit,MMU)。
本发明实施例提供的上述系统级芯片中,通过在多个处理器子系统之间进行内存共享,并且通过系统MMU对多个处理器子系统之间的共享内存进行一致性管理,与现有技术中处理器子系统之间没有进行内存共享相比,降低了内存在SOC中占据的面积,降低了SOC的面积开销,同时避免了多个处理器子系统以内存拷贝的形式进行通信,降低了SOC的功耗开销,并且通过系统MMU对共享内存进行统一管理,提高了SOC的软件容错性以及应用灵活性。
在一种可能的实施方式中,本发明实施例提供的上述系统级芯片中,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。
在一种可能的实施方式中,本发明实施例提供的上述系统级芯片中,所述共享内存包括虚拟内存和物理内存,所述系统MMU具体用于:对于每一处理器核:为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
在一种可能的实施方式中,本发明实施例提供的上述系统级芯片中,所述处理器核当收到所述系统MMU发送的拒绝访问所述请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向所述系统MMU发送访问所述共享内存的请求。
在一种可能的实施方式中,本发明实施例提供的上述系统级芯片中,所述共享内存包括虚拟内存和物理内存,每一处理器子系统还包括代理MMU,所述系统MMU为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU;每一处理器子系统中的代理MMU具体用于:对于该处理器子系统中的每一处理器核:记录所述系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于所述系统MMU为该代理MMU分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并通过所述系统MMU对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于所述系统MMU为该代理MMU分配的虚拟地址,则向所述系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;所述系统MMU收到所述申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝所述申请的响应。
在一种可能的实施方式中,本发明实施例提供的上述系统级芯片中,所述代理MMU当收到所述系统MMU发送的拒绝所述申请的响应后达到预设时间时,再次向所述系统MMU发送该申请中的虚拟地址所对应的虚拟内存的访问申请。
本发明实施例提供的一种内存访问管理方法,应用于本发明实施例提供的系统级芯片,所述方法包括:通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理。
本发明实施例提供的上述内存访问管理方法中,通过系统MMU对多个处理器子系统之间的共享内存进行一致性管理,提高了SOC的软件容错性以及应用灵活性。
在一种可能的实施方式中,本发明实施例提供的上述内存访问管理方法中,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。
在一种可能的实施方式中,本发明实施例提供的上述内存访问管理方法中,所述共享内存包括虚拟内存和物理内存;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:对于每一处理器内核:所述系统MMU为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则所述系统MMU将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则所述系统MMU判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
在一种可能的实施方式中,本发明实施例提供的上述内存访问管理方法中,该方法还包括:所述处理器核当收到所述系统MMU发送的拒绝访问所述请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向所述系统MMU发送访问所述共享内存的请求。
在一种可能的实施方式中,本发明实施例提供的上述内存访问管理方法中,所述共享内存包括虚拟内存和物理内存,每一处理器子系统还包括代理MMU;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:所述系统MMU为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理;其中,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,具体包括:对于代理MMU所属的处理器子系统中的每一处理器核:该代理MMU记录所述系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU将该请求中的虚拟地址映射为对应的物理地址,并通过所述系统MMU对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU向所述系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,还包括:所述系统MMU收到所述申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝所述申请的响应。
在一种可能的实施方式中,本发明实施例提供的上述内存访问管理方法中,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,还包括:所述代理MMU当收到所述系统MMU发送的拒绝所述申请的响应后达到预设时间时,再次向所述系统MMU发送该申请中的虚拟地址所对应的虚拟内存的访问申请。
附图说明
图1为现有技术中系统级芯片内部的结构示意图;
图2为本发明实施例提供的系统级芯片内部的结构示意图;
图3为本发明实施例提供的一种系统级芯片的结构示意图;
图4为本发明实施例提供的另一种系统级芯片的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的系统级芯片及其内存访问管理方法的具体实施方式进行详细地说明。
由于CPU存储子系统和GPU存储子系统面积较大,下面结合附图对本发明实施例提供的SOC进行说明时,SOC中包含的处理器子系统以CPU子系统和GPU子系统为例,当然,本发明实施例提供的SOC也可以包含其他类型的处理器子系统。
本发明实施例提供的一种系统级芯片,如图2所示,包括:多个处理器子系统和多个处理器子系统之间共享的共享内存,该多个处理器子系统包括如图2中示出的CPU子系统20和GPU子系统21、该共享内存包括如图2中示出的虚拟内存204和物理内存206。该系统级芯片还包括连接于该多个处理器子系统与该共享内存之间,用于对该多个处理器子系统对该共享内存的访问进行管理的系统内存管理单元MMU(图2中未示出)。
本发明实施例提供的系统级芯片中,通过在多个处理器子系统(如图2中示出的CPU子系统20和GPU子系统21)之间进行内存共享,并且通过系统MMU对多个处理器子系统之间的共享内存(如图2中示出的虚拟内存204和物理内存206)进行一致性管理,与现有技术中处理器子系统之间没有进行内存共享相比,降低了内存在SOC中占据的面积,降低了SOC的面积开销,同时避免了多个处理器子系统以内存拷贝的形式进行通信,降低了SOC的功耗开销,并且通过系统MMU对共享内存进行统一管理,提高了SOC的软件容错性以及应用灵活性。
当然,图2中示出的CPU子系统20和GPU子系统21之间的共享内存包括:虚拟内存204和物理内存206,在其他实施例中,多个处理器子系统之间也可以仅仅共享其中之一,例如:共享虚拟内存或共享物理内存。
在一种可能的实施方式中,本发明实施例提供的系统级芯片中,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。如图2中所示,CPU子系统20包括多个CPU核202,该CPU核202包括CPU2022和层1缓存2024,GPU子系统21包括多个GPU核212,该GPU核212包括GPU2122和层1缓存2124。
在一种可能的实施方式中,本发明实施例提供的系统级芯片中,如图3所示,CPU子系统30和GPU子系统31之间设置有共享内存,该共享内存包括虚拟内存306和物理内存308,在CPU子系统30、GPU子系统31,和虚拟内存306、物理内存308之间,设置有系统MMU310,系统MMU310具体用于:对于每一处理器核(如图3中示出的CPU核302、GPU核312):为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问共享内存的请求时,若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
具体实施时,处理器核与系统MMU直接进行通信即处理器核的访问请求直接发送至系统MMU,能够避免多级MMU复杂的通信机制,提高通信效率。
具体来说,系统MMU给各个处理器核分配一段虚拟地址,各个处理器核(例如:CPU核302)在需要访问共享内存时,CPU核302向系统MMU310发送对虚拟地址空间进行访问的请求,系统MMU310对CPU核302请求的虚拟地址空间进行判断,如果该虚拟地址位于系统MMU310为CPU核302分配的一段虚拟地址空间内,则CPU核302可以直接访问该段虚拟地址空间,也即根据系统MMU310在虚拟内存与物理内存之间建立的映射关系,直接访问该段虚拟地址空间对应的物理地址空间,而当CPU核302需要访问的虚拟地址空间不在系统MMU310为CPU核302分配的一段虚拟地址空间内时,则系统MMU310根据该段虚拟地址空间当前的使用情况,确定CPU核302能否访问该段虚拟地址空间,具体为:
如果该段虚拟地址空间空闲,则给CPU核302回复确认消息,授权CPU核302使用该段虚拟地址空间,同时将该段地址空间锁定,使得除CPU核302之外的其他处理器核在锁定期间不可以再次访问该虚拟内存空间。锁定时间结束后(CPU核302使用完毕),系统MMU310解锁该段虚拟地址空间;
如果该段虚拟地址空间已经被占用,则系统MMU310回复拒绝访问消息,拒绝CPU核302对该段地址空间的访问。
在一种可能的实施方式中,本发明实施例提供的系统级芯片中,处理器核当收到系统MMU310发送的拒绝访问请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向系统MMU310发送访问该共享内存的请求。
在具体实施时,当处理器核对共享内存的访问请求遭到拒绝时,则表明请求访问的虚拟地址空间已经被其他处理器核所使用,则该处理器核在回退预设时间之后,可以再次向系统MMU发送对共享内存的访问请求,直至得到所请求的虚拟地址空间的使用权或者处理器核撤销对虚拟地址空间的访问请求。
在另外一种可能的实施方式中,本发明实施例提供的系统级芯片中,如图4所示,SOC中包括CPU子系统40和GPU子系统41,且在CPU子系统40和GPU子系统41之间设置有共享内存,CPU子系统40包括CPU核402,GPU子系统41包括GPU核412,该共享内存包括虚拟内存404和物理内存406,每一处理器子系统还包括代理MMU,CPU子系统40包括代理MMU410,GPU子系统41包括代理MMU414,在CPU子系统40、GPU子系统41和虚拟内存404、物理内存406之间设置有系统MMU408。
系统MMU408为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU;每一处理器子系统中的代理MMU具体用于:对于该处理器子系统中的每一处理器核:记录系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问共享内存的请求时,若该请求中的虚拟地址属于系统MMU为该代理MMU分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并通过系统MMU对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于系统MMU为该代理MMU分配的虚拟地址,则向系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;系统MMU收到该申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝该申请的响应。
具体实施时,处理器核向代理MMU发送共享内存的访问请求,代理MMU向系统MMU发送共享内存访问请求的方式进行通信,也即将系统MMU的功能划分为多级来实现,能够有效降低系统MMU的负担,而且电路结构相对简单。
具体来说,系统MMU408给各个代理MMU分配一段虚拟地址,并将该段虚拟地址与物理地址之间的映射关系发给代理MMU,各个处理器核(例如:CPU核402)在需要访问共享内存时,CPU核402向代理MMU410发送对虚拟地址空间进行访问的请求,代理MMU410对该虚拟地址空间进行判断,如果该虚拟地址空间位于系统MMU408为代理MMU410分配的一段虚拟地址空间内,则无需经过系统MMU408的仲裁及一致性检查,代理MMU410可以授权CPU核402直接访问该段虚拟地址空间,也即根据代理MMU410记录的虚拟地址与物理地址之间的映射关系,通过系统MMU408对该物理地址所对应的物理内存进行访问,而当CPU核402需要访问的虚拟地址不在系统MMU408为代理MMU410分配的一段虚拟地址空间内时,则代理MMU410向系统MMU408发送该段虚拟地址空间的访问申请,系统MMU408在接收到代理MMU410发送的访问申请之后,根据访问申请中的虚拟地址空间的使用情况,确定代理MMU410能否访问该虚拟地址空间,具体为:
如果该段虚拟地址空间空闲,则给代理MMU410回复确认消息,授权代理MMU410使用该段虚拟地址空间,同时将该段虚拟地址空间锁定,这样除代理MMU410之外的其他代理MMU在该段虚拟地址空间锁定期间不可以再次访问该虚拟地址空间。锁定时间结束后(代理MMU410或CPU核402使用完毕),系统MMU408解锁该段虚拟地址空间;
如果该段虚拟地址空间已经被占用,则系统MMU408拒绝代理MMU410对该段虚拟地址空间的访问申请。
在一种可能的实施方式中,本发明实施例提供的系统级芯片中,代理MMU当收到系统MMU408发送的拒绝对该虚拟地址空间访问申请的响应后达到预设时间时,再次向系统MMU408发送代理MMU所在的处理器子系统中处理器核发送的请求中的虚拟地址空间所对应的虚拟内存的访问申请。
在具体实施时,当代理MMU对虚拟地址空间的访问请求遭到拒绝时,则表明代理MMU申请访问的虚拟地址空间已经被其他代理MMU所使用,则该代理MMU在回退预设时间之后,可以再次向系统MMU发送对该虚拟地址空间的访问请求,直至得到该虚拟地址空间的使用权或者代理MMU所在的处理器子系统中的处理器核撤销对该虚拟地址空间的访问请求。
值得注意的是,无论是处理器核直接向系统MMU发送访问请求,还是处理器核向代理MMU发送访问请求,处理器核对虚拟地址空间访问请求均可以是对某一具体虚拟地址空间的访问请求,也可以是任一大小的空间访问请求而不指定具体的虚拟空间地址。
另外,系统MMU在SOC中还起到内存保护的作用。
具体的内存保护包括:当应用程序的所有线程共享同一存储器空间时,任何一个线程将有意或无意地破坏其它线程的代码、数据或堆栈。异常线程甚至可能破坏内核代码或内部数据结构。例如:线程中的指针错误就能轻易使整个系统崩溃,或至少导致系统工作异常。
就安全性和可靠性而言,基于进程的实时操作系统的性能更为优越。为生成具有单独地址空间的进程,实时操作系统只需要生成一些基于RAM的数据结构并使MMU加强对这些数据结构的保护。基本思路是在每个关联转换中“接入”一组新的逻辑地址。MMU利用当前映射,将在指令调用或数据读写过程中使用的逻辑地址映射为存储器物理地址。MMU还标记对非法逻辑地址进行的访问,这些非法逻辑地址并没有映射到任何物理地址。
本发明实施例的SOC中的系统MMU与传统架构下的系统MMU单元相比,具有如下特点:
一、支持更大的寻址空间
支持不同处理器子系统的内存管理,比如CPU子系统、GPU子系统甚至DSP系统,因此系统MMU支持更大的寻址空间。传统处理器一般为32位,最大支持4GB的寻址空间,本发明实施例的系统MMU设计时支持更大的寻址空间,比如8GB(33位)。
二、支持可变的、灵活的寻址空间
CPU和DSP一般为32位指令(2的指数次方),但GPU没有这个限制,因此本发明实施例的系统MMU支持可变的指令位宽,比如16比特、18比特、24比特等,并且更加灵活。
三、增加占位bit来区分不同的处理器子系统
为了更好的实现内存保护功能,增加占位bit(flagbit)来区分不同的处理器子系统,比如为了支持CPU子系统、GPU子系统以及DSP系统,增加2个bit来区分,如下面的表1所示,其中00表示CPU子系统,01表示GPU子系统、10表示DSP系统,11保留方便后续拓展。
占位比特 作用
00 CPU子系统
01 GPU子系统
10 DSP子系统
11 保留
表1
另外,本发明实施例还提供了一种内存访问管理方法,应用于本发明实施例提供的系统级芯片,所述方法包括:通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理。
本发明实施例提供的内存访问管理方法中,通过系统MMU对多个处理器子系统之间的共享内存进行一致性管理,提高了SOC的软件容错性以及应用灵活性。
在一种可能的实施方式中,本发明实施例提供的内存访问管理方法中,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。
在一种可能的实施方式中,本发明实施例提供的内存访问管理方法中,所述共享内存包括虚拟内存和物理内存;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:对于每一处理器内核:所述系统MMU为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则所述系统MMU将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则所述系统MMU判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
具体实施时,处理器核与系统MMU直接进行通信即处理器核的访问请求直接发送至系统MMU,能够避免多级MMU复杂的通信机制,提高通信效率。
在一种可能的实施方式中,本发明实施例提供的内存访问管理方法中,该方法还包括:所述处理器核当收到所述系统MMU发送的拒绝访问所述请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向所述系统MMU发送访问所述共享内存的请求。
在具体实施时,当处理器核对共享内存的访问请求遭到拒绝时,则表明请求访问的虚拟地址空间已经被其他处理器核所使用,则该处理器核在回退预设时间之后,可以再次向系统MMU发送对共享内存的访问请求,直至得到所请求的虚拟地址空间的使用权或者处理器核撤销对虚拟地址空间的访问请求。
在另外一种可能的实施方式中,本发明实施例提供的内存访问管理方法中,所述共享内存包括虚拟内存和物理内存,每一处理器子系统还包括代理MMU;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:所述系统MMU为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理;其中,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,具体包括:对于代理MMU所属的处理器子系统中的每一处理器核:该代理MMU记录所述系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,若该请求中的虚拟地址属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU将该请求中的虚拟地址映射为对应的物理地址,并通过所述系统MMU对该物理地址所对应的物理内存进行访问;若该请求中的虚拟地址不属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU向所述系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,还包括:所述系统MMU收到所述申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝所述申请的响应。
具体实施时,处理器核向代理MMU发送共享内存的访问请求,代理MMU向系统MMU发送共享内存访问请求的方式进行通信,也即将系统MMU的功能划分为多级来实现,能够有效降低系统MMU的负担,而且电路结构相对简单。
在一种可能的实施方式中,本发明实施例提供的内存访问管理方法中,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,还包括:所述代理MMU当收到所述系统MMU发送的拒绝所述申请的响应后达到预设时间时,再次向所述系统MMU发送该申请中的虚拟地址所对应的虚拟内存的访问申请。
在具体实施时,当代理MMU对虚拟地址空间的访问请求遭到拒绝时,则表明代理MMU申请访问的虚拟地址空间已经被其他代理MMU所使用,则该代理MMU在回退预设时间之后,可以再次向系统MMU发送对该虚拟地址空间的访问请求,直至得到该虚拟地址空间的使用权或者代理MMU所在的处理器子系统中的处理器核撤销对该虚拟地址空间的访问请求。
值得注意的是,无论是处理器核直接向系统MMU发送访问请求,还是处理器核向代理MMU发送访问申请,处理器核对虚拟地址空间访问请求均可以是对某一具体虚拟地址空间的访问请求,也可以是任一大小的空间访问请求而不指定具体的虚拟空间地址。
综上所述,本发明实施例提供的一种系统级芯片及其内存访问管理方法,通过在多个处理器子系统之间进行内存共享,并且通过系统MMU对多个处理器子系统之间的共享内存进行一致性管理,与现有技术中处理器子系统之间没有进行内存共享相比,降低了内存在SOC中占据的面积,降低了SOC的面积开销,同时避免了多个处理器子系统以内存拷贝的形式进行通信,降低了SOC的功耗开销,并且通过系统MMU对共享内存进行统一管理,提高了SOC的软件容错性以及应用灵活性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种系统级芯片,其特征在于,包括:多个处理器子系统、多个处理器子系统共享的共享内存,以及连接于所述多个处理器子系统与所述共享内存之间,用于对所述多个处理器子系统对所述共享内存的访问进行管理的系统内存管理单元MMU。
2.根据权利要求1所述的系统级芯片,其特征在于,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。
3.根据权利要求2所述的系统级芯片,其特征在于,所述共享内存包括虚拟内存和物理内存,所述系统MMU具体用于:
对于每一处理器核:
为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,
若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;
若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
4.根据权利要求3所述的系统级芯片,其特征在于,所述处理器核当收到所述系统MMU发送的拒绝访问所述请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向所述系统MMU发送访问所述共享内存的请求。
5.根据权利要求2所述的系统级芯片,其特征在于,所述共享内存包括虚拟内存和物理内存,每一处理器子系统还包括代理MMU,所述系统MMU为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU;
每一处理器子系统中的代理MMU具体用于:
对于该处理器子系统中的每一处理器核:
记录所述系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,
若该请求中的虚拟地址属于所述系统MMU为该代理MMU分配的虚拟地址,则将该请求中的虚拟地址映射为对应的物理地址,并通过所述系统MMU对该物理地址所对应的物理内存进行访问;
若该请求中的虚拟地址不属于所述系统MMU为该代理MMU分配的虚拟地址,则向所述系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;
所述系统MMU收到所述申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝所述申请的响应。
6.根据权利要求5所述的系统级芯片,其特征在于,所述代理MMU当收到所述系统MMU发送的拒绝所述申请的响应后达到预设时间时,再次向所述系统MMU发送该申请中的虚拟地址所对应的虚拟内存的访问申请。
7.一种内存访问管理方法,其特征在于,应用于权利要求1所述的系统级芯片,所述方法包括:
通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理。
8.根据权利要求7所述的内存访问管理方法,其特征在于,每一处理器子系统包括多个处理器核,每一处理器核包括处理器和层1缓存。
9.根据权利要求8所述的内存访问管理方法,其特征在于,所述共享内存包括虚拟内存和物理内存;
通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:
对于每一处理器内核:
所述系统MMU为该处理器核分配一段虚拟地址,以及建立该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,
若该请求中的虚拟地址属于为该处理器核分配的虚拟地址,则所述系统MMU将该请求中的虚拟地址映射为对应的物理地址,并对该物理地址所对应的物理内存进行访问;
若该请求中的虚拟地址不属于为该处理器核分配的虚拟地址,则所述系统MMU判断该请求中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该请求中的虚拟地址所对应的虚拟内存分配给该处理器核;否则,向该处理器核回复拒绝访问该请求中的虚拟地址所对应的虚拟内存的响应。
10.根据权利要求9所述的内存访问管理方法,其特征在于,该方法还包括:所述处理器核当收到所述系统MMU发送的拒绝访问所述请求中的虚拟地址所对应的虚拟内存的响应后达到预设时间时,再次向所述系统MMU发送访问所述共享内存的请求。
11.根据权利要求8所述的内存访问管理方法,其特征在于,所述共享内存包括虚拟内存和物理内存,每一处理器子系统还包括代理MMU;
通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,包括:
所述系统MMU为每一代理MMU分配一段虚拟地址,建立该虚拟地址与物理地址的映射关系,并将该映射关系发送给该代理MMU,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理;
其中,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,具体包括:
对于代理MMU所属的处理器子系统中的每一处理器核:
该代理MMU记录所述系统MMU为该代理MMU分配的虚拟地址,以及该虚拟地址与物理地址的映射关系,当收到该处理器核访问所述共享内存的请求时,
若该请求中的虚拟地址属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU将该请求中的虚拟地址映射为对应的物理地址,并通过所述系统MMU对该物理地址所对应的物理内存进行访问;
若该请求中的虚拟地址不属于所述系统MMU为该代理MMU分配的虚拟地址,则该代理MMU向所述系统MMU发送该请求中的虚拟地址所对应的虚拟内存的申请;
通过所述系统MMU,对所述多个处理器子系统对所述共享内存的访问进行管理,还包括:
所述系统MMU收到所述申请后,判断该申请中的虚拟地址所对应的虚拟内存是否空闲,如果是,则将该申请中的虚拟地址所对应的虚拟内存分配给该代理MMU;否则,向该代理MMU回复拒绝所述申请的响应。
12.根据权利要求11所述的内存访问管理方法,其特征在于,由代理MMU对该代理MMU所属的处理器子系统对所述共享内存的访问进行管理,还包括:
所述代理MMU当收到所述系统MMU发送的拒绝所述申请的响应后达到预设时间时,再次向所述系统MMU发送该申请中的虚拟地址所对应的虚拟内存的访问申请。
CN201410350601.5A 2014-07-22 2014-07-22 一种系统级芯片及其内存访问管理方法 Pending CN105302765A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410350601.5A CN105302765A (zh) 2014-07-22 2014-07-22 一种系统级芯片及其内存访问管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410350601.5A CN105302765A (zh) 2014-07-22 2014-07-22 一种系统级芯片及其内存访问管理方法

Publications (1)

Publication Number Publication Date
CN105302765A true CN105302765A (zh) 2016-02-03

Family

ID=55200047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410350601.5A Pending CN105302765A (zh) 2014-07-22 2014-07-22 一种系统级芯片及其内存访问管理方法

Country Status (1)

Country Link
CN (1) CN105302765A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017143718A1 (zh) * 2016-02-26 2017-08-31 成都赫尔墨斯科技有限公司 一种云渲染系统、服务器及方法
CN107832238A (zh) * 2017-10-09 2018-03-23 江苏航天龙梦信息技术有限公司 一种基于龙芯处理器平台的高速缓存作内存的方法
CN109508301A (zh) * 2017-09-14 2019-03-22 中国移动通信集团重庆有限公司 终端、应用数据的处理方法、数据处理设备及存储介质
CN109783220A (zh) * 2017-11-10 2019-05-21 上海寒武纪信息科技有限公司 内存分配方法、装置、计算机系统及存储介质
CN111221465A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
CN112528345A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 通信方法、装置、计算机可读存储介质和芯片
CN112685197A (zh) * 2020-12-28 2021-04-20 浪潮软件科技有限公司 接口数据的交互系统
WO2021077917A1 (zh) * 2019-10-24 2021-04-29 华为技术有限公司 内存配置方法、装置及存储介质
CN112732183A (zh) * 2020-12-30 2021-04-30 科东(广州)软件科技有限公司 异构系统存储设备的访问方法、装置、设备及存储介质
CN115002070A (zh) * 2022-06-10 2022-09-02 北京东土科技股份有限公司 芯片集群、地址分配方法、电子设备和存储介质
WO2022204897A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种闪存访问方法及装置
WO2023093122A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 处理器、地址转换的方法、装置、存储介质及程序产品
CN116309763A (zh) * 2023-02-17 2023-06-23 珠海视熙科技有限公司 Tof相机深度的计算方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095103A (zh) * 2004-03-26 2007-12-26 爱特梅尔股份有限公司 双处理器复域浮点数字信号处理片上系统
CN102237090A (zh) * 2010-04-20 2011-11-09 安凯(广州)微电子技术有限公司 一种多媒体系统级芯片及其多媒体处理方法和多媒体装置
CN103425621A (zh) * 2012-05-16 2013-12-04 三星电子株式会社 提供对共享存储器的存取的片上系统及其操作方法和系统
US20140049548A1 (en) * 2012-08-17 2014-02-20 Intel Corporation Memory sharing via a unified memory architecture
CN103914405A (zh) * 2013-01-07 2014-07-09 三星电子株式会社 包括存储管理单元的片上系统及其存储地址转换方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095103A (zh) * 2004-03-26 2007-12-26 爱特梅尔股份有限公司 双处理器复域浮点数字信号处理片上系统
CN102237090A (zh) * 2010-04-20 2011-11-09 安凯(广州)微电子技术有限公司 一种多媒体系统级芯片及其多媒体处理方法和多媒体装置
CN103425621A (zh) * 2012-05-16 2013-12-04 三星电子株式会社 提供对共享存储器的存取的片上系统及其操作方法和系统
US20140049548A1 (en) * 2012-08-17 2014-02-20 Intel Corporation Memory sharing via a unified memory architecture
CN103914405A (zh) * 2013-01-07 2014-07-09 三星电子株式会社 包括存储管理单元的片上系统及其存储地址转换方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017143718A1 (zh) * 2016-02-26 2017-08-31 成都赫尔墨斯科技有限公司 一种云渲染系统、服务器及方法
CN109508301B (zh) * 2017-09-14 2021-10-29 中国移动通信集团重庆有限公司 终端、应用数据的处理方法、数据处理设备及存储介质
CN109508301A (zh) * 2017-09-14 2019-03-22 中国移动通信集团重庆有限公司 终端、应用数据的处理方法、数据处理设备及存储介质
CN107832238A (zh) * 2017-10-09 2018-03-23 江苏航天龙梦信息技术有限公司 一种基于龙芯处理器平台的高速缓存作内存的方法
CN109783220A (zh) * 2017-11-10 2019-05-21 上海寒武纪信息科技有限公司 内存分配方法、装置、计算机系统及存储介质
CN109783220B (zh) * 2017-11-10 2020-12-11 安徽寒武纪信息科技有限公司 内存分配方法、装置、计算机系统及存储介质
CN111221465A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
CN111221465B (zh) * 2018-11-23 2023-11-17 中兴通讯股份有限公司 Dsp处理器、系统以及外部存储空间访问方法
CN112528345A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 通信方法、装置、计算机可读存储介质和芯片
WO2021077917A1 (zh) * 2019-10-24 2021-04-29 华为技术有限公司 内存配置方法、装置及存储介质
CN112685197A (zh) * 2020-12-28 2021-04-20 浪潮软件科技有限公司 接口数据的交互系统
CN112732183A (zh) * 2020-12-30 2021-04-30 科东(广州)软件科技有限公司 异构系统存储设备的访问方法、装置、设备及存储介质
WO2022204897A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种闪存访问方法及装置
WO2023093122A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 处理器、地址转换的方法、装置、存储介质及程序产品
CN115002070A (zh) * 2022-06-10 2022-09-02 北京东土科技股份有限公司 芯片集群、地址分配方法、电子设备和存储介质
CN116309763A (zh) * 2023-02-17 2023-06-23 珠海视熙科技有限公司 Tof相机深度的计算方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN105302765A (zh) 一种系统级芯片及其内存访问管理方法
US10114749B2 (en) Cache memory system and method for accessing cache line
KR101457825B1 (ko) 마이크로 페이지 테이블을 구현하기 위한 장치, 방법, 및 시스템
US11392511B2 (en) Secure address translation services using a permission table
TWI614669B (zh) 遷移異構處理器之間不同大小的分頁
US20130174224A1 (en) Information processing apparatus and unauthorized access prevention method
CN109154910A (zh) 用于存储器中处理的高速缓存一致性
CN104346294A (zh) 基于多级缓存的数据读/写方法、装置和计算机系统
CN104919417A (zh) 用于在每线程的基础上跟踪tlb清除的装置和方法
US7698512B2 (en) Compressing address communications between processors
US9367474B2 (en) Translating cache hints
CN103080918A (zh) 功率优化的中断传递
CN104346317A (zh) 共享资源访问方法和装置
KR20150038513A (ko) 단일 페이지 테이블 엔트리 내의 속성 필드들의 다중 세트들
US20220004488A1 (en) Software drive dynamic memory allocation and address mapping for disaggregated memory pool
US11016894B2 (en) Techniques to provide cache coherency based on cache type
US9703715B2 (en) Shared memory in a secure processing environment
CN101794271A (zh) 多核内存一致性的实现方法和装置
US20140040563A1 (en) Shared virtual memory management apparatus for providing cache-coherence
US20150301917A1 (en) Memory Monitoring Method and Related Apparatus
US9003130B2 (en) Multi-core processing device with invalidation cache tags and methods
CN115443453A (zh) 用于减少传输延迟的链路关联
CN104321750A (zh) 在共享存储器编程中保持释放一致性的方法和系统
US10216634B2 (en) Cache directory processing method for multi-core processor system, and directory controller
US20140297957A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160203

RJ01 Rejection of invention patent application after publication