CN113918483B - 一种多主设备缓存控制方法及*** - Google Patents
一种多主设备缓存控制方法及*** Download PDFInfo
- Publication number
- CN113918483B CN113918483B CN202111518586.7A CN202111518586A CN113918483B CN 113918483 B CN113918483 B CN 113918483B CN 202111518586 A CN202111518586 A CN 202111518586A CN 113918483 B CN113918483 B CN 113918483B
- Authority
- CN
- China
- Prior art keywords
- cache
- group
- master
- access
- master device
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种多主设备缓存控制方法,包括以下步骤:1)对来自主设备的访问进行分组,判定所述访问所属的主设备组;2)将缓存空间划分多个缓存单元,分配给主设备组;3)接收来自任意主设备的读访问,并在缓存空间内查找所需的数据;4)将数据返回给主设备。本发明还提供一种多主设备缓存控制***,在多个主设备访问片外非易失存储器的场景下,能够减少存储器读写的次数,延长存储器寿命,提高片内主设备数据访问效率。
Description
技术领域
本发明涉及存储器访问控制技术领域,尤其涉及一种多主设备缓存控制方法及***。
背景技术
在基于MCU/MPU的板级***中,使用片外非易失性存储器用于程序或者数据的存取是广泛应用的解决方案。片外存储器的读写速度对***性能有直接的影响。随着芯片集成度和复杂度日益提高,同一块芯片内往往包含多核处理器及其他主设备。启动代码以及软件复杂度也进一步提升。对于非易失存储器的存储容量、读写速率等都提出了新的需求。
现有技术中,片外非易失性存储器的容量以及读写速率都在不断提升,其中对于读写速率的提升主要靠更高频率的时钟、双沿采样(DDR)、更宽的数据总线(4线、8线flash及hyperbus)以及协议上的改进以减少开销来实现。对应存储器的升级,片内控制器也提供各种频率和工作模式的支持;另一方面通过增加片内缓存,减少直接访问片外存储器的次数,以提升读写速率。
现有的片内控制器能够根据配置工作在不同的模式,以支持多种类型、速率的片外非易失性存储器访问。有些方案也包含了片内缓存,并根据存储器的类型分配缓存页,以减少片外访问。然而在多主设备共享片外存储器的场景下,不同主设备的交替访问会使单一的缓存方案失效。由于非易失性存储器的读写速率短期难以快速提升,而在片内增加缓存的现有方案不能适配多主设备的复杂场景,因而复杂应用下的访问性能受到限制。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种多主设备缓存控制方法及***,在芯片内多主设备访问片外非易失性存储器时,进行缓存空间的分配,以满足不同主设备对于程序、数据存取的需求,降低片外存储器访问频次,延长存储器寿命,提升***总线访问效率。
为实现上述目的,本发明提供的多主设备缓存控制方法及***,包括以下步骤:
1)对来自主设备的访问进行分组,判定所述访问所属的主设备组;
2)将缓存空间划分多个缓存单元,分配给主设备组;
3)接收来自任意主设备的读访问,并在缓存空间内查找所需的数据;
4)将数据返回给主设备。
进一步地,所述步骤1)还包括,
根据主设备ID、传输ID、分组掩码,以及每个组的预设匹配值,对来自主设备的AXI总线访问进行分组,判定所述访问所属的主设备组。
进一步地,所述步骤2)还包括,将缓存空间划分成N等份,每一份作为一个缓存单元,并将缓存单元分配给不同的主设备组,其中,N为大于等于1的整数;分配给主设备组的一个或者多个缓存单元为一个缓存组。
进一步地,采用静态方式配置每个主设备组独占的缓存单元数;没有被分配的缓存单元以动态方式分配给不同缓存组,称为动态缓存单元。
进一步地,所述缓存单元以动态方式分配给不同所述缓存组的步骤,还包括,
为每个主设备组预先配置优先等级;
根据每个主设备组的访问频次,维护活跃度;
每个动态缓存单元记录当前所属的主设备组;
访问的数据不存在且满足下述条件时,将动态缓存单元分配给当前访问对应的主设备组:
trans_priority + trans_active >= buffer_priority + buffer_active +reassign_margin,
其中,trans_priorty为发起当前访问的主设备组的优先度,trans_active为发起当前访问的主设备组的活跃度值,buffer_priority为动态缓存单元当前所属主设备组的优先度,buffer_active为动态缓存单元当前所属主设备组的活跃度值,reassign_margin是预设的缓存重分配余量。
进一步地,所述活跃度计算规则为:
根据每次访问命中与否,可以配置增加主设备组活跃度值;
当访问命中,可配活跃度增加0-255;
当访问未命中,且没有分配到新的动态缓存单元的情况,可配活跃度增加0-255;
当访问未命中,且分配到一个新的动态缓存单元时,活跃度清零。
为实现上述目的,本发明还提供一种多主设备缓存控制***,包括,多个主设备、非易失性存储读写控制器、缓存控制单元、静态随机存取存储器,以及非易失性存储器,其中,
所述多个主设备,其通过AXI总线向所述非易失性存储读写控制器发送访问请求;
所述非易失性存储读写控制器,对所述多个主设备的访问请求进行分组;
所述缓存控制单元,将静态随机存取存储器作为缓存空间划分为多个缓存单元并分配给不同的主设备组;
所述静态随机存取存储器,其为数据提供缓存空间,接受所述缓存控制单元的指令,将缓存空间划分为多个缓存单元;
所述非易失性存储器,其接受所述非易失性存储读写控制器的指令,进行数据的读写。
为实现上述目的,本发明还提供一种控制芯片,包括上文所述的多主设备缓存控制***。
为实现上述目的,本发明还提供一种电子设备,包括上文所述的控制芯片。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行上文所述的多主设备缓存控制方法的步骤。
本发明的多主设备缓存控制方法,具有以下有益效果:
针对复杂SoC多个主设备访问片外非易失存储器的情况,对主设备进行分组,将有限的片内缓存资源通过静态和动态两种方式分配给不同主设备组,根据访问频次和特性自适应调节,以优化访问效率,减少对非易失存储器的读写次数;在多个主设备访问片外非易失存储器的场景下,能够减少存储器读写的次数,延长存储器寿命,提高片内主设备数据访问效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的多主设备缓存控制方法流程图;
图2为根据本发明的动态分配缓存单元示意图;
图3为根据本发明的多主设备缓存控制***结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例中,在SoC多个主设备访问片外非易失存储器的情况,可以对主设备进行分组,将有限的片内缓存资源通过静态和动态两种方式分配给不同主设备组,根据访问频次和特性自适应调节,减少对非易失存储器的读写次数。
实施例1
图1为根据本发明的多主设备缓存控制方法流程图,下面将参考图1,对本发明的多主设备缓存控制方法进行详细描述。
首先,在步骤101,对来自主设备的AXI总线访问进行分组。
本发明实施例中,在多个主设备的场景下,首先对来自主设备的AXI总线访问进行分组。根据主设备ID(MID)和传输ID(XID)两种标识符,结合分组掩码(Mask)和每个组的预设匹配值(Match),判定一笔访问所属的设备组(Master Group),具体规则如下:
{MID, XID} & Mask == Match(M)
当上述满足上述条件时,认为访问所属的设备组是第M组(group M)。当多个设备组均满足上述条件,低序号的group生效。结合MID+XID作为标识符,以适应静态(MID)和动态(XID)不同的分组场景。采用Mask+Match的匹配方式,提供灵活性,支持多个主设备划分到同一个主设备组。
在步骤102,将缓存空间划分为多个缓存单元,并分配给不同的主设备组。
本发明实施例中,将芯片内的缓存空间划分成N等份(N为大于等于1的整数),每一份称作一个缓存单元(buffer unit)。为了适应不同主设备的访问需求,采用多种方式将缓存单元分配给不同的主设备组(master group)。分配给一个主设备组的一个或者多个缓存单元称为一个缓存组(buffer group)。
在步骤103,接收来自任意主设备的读访问。
本发明实施例中,非易失性存储读写控制器接收来自任意主设备的读访问,并通过缓存控制器在全部缓存空间内查找需要的数据。
在步骤104,判断在缓存空间内是否找到相应的地址。
本发明实施例中,如果在判断在缓存空间内找到了相应的地址(hit),则转到步骤106,否则进入下一步骤。
在步骤105,在对应的缓存组选择一个缓存单元,从外部存储器读入数据替换当前数据,返回给主设备。
本发明实施例中,如果请求访问的数据缓存空间内不存在(miss),则在对应的缓存组选择一个缓存单元(替代算法LRU),从外部存储器读入数据替换当前数据(reload),返回给主设备。
在步骤106,将数据返回给主设备。
本发明实施例中,来自任意主设备的读访问在全部缓存空间内查找需要的数据,如果找到对应地址(hit),则将数据返回给主设备。这种情况下无需区分不同的mastergroup,也不需要对片外存储器进行读操作。
本发明实施例中,每个主设备组可用的缓存单元数量由动态和静态两种方式进行分配。静态方式配置每个主设备组独占的缓存单元数(private buffer),没有被分配的缓存单元以动态方式分配给不同缓存组,如图2所示,动态缓存单元分配的规则如下:
1)为每个master group预先配置优先等级(0-255)
2)根据每个master group对memory的访问的频次,维护活跃度(active level),活跃度计算规则为:
a)主设备访问hit或者miss(reload)都可以配置增加该主设备组活跃度值
b)每次hit可配置活跃度增加0-255
c)当发生miss,但没有分配到新的动态缓存单元的情况,可以配置活跃度增加0-255
d)当发生miss, 且分配到一个新的动态缓存单元,活跃度清零。
3)每个动态缓存单元记录当前所属的主设备组。根据该主设备组当前的优先度等级和活跃度值,和下一次访问的属性,判断是否将本单元重新分配给另一个主设备组。
4)访问miss且满足下述条件时,动态缓存单元分配给当前访问对应的主设备组:
trans_priority + trans_active >= buffer_priority + buffer_active +reassign_margin,
其中,trans_priorty/active是发起当前访问的主设备组的优先度和活跃度值。buffer_priority/active是动态缓存单元当前所属主设备组的优先度和活跃度值。reassign_margin是预设的缓存重分配余量。当一个动态缓存单元空闲,即不属于任何一个主设备组时,buffer_priority/buffer_active/reassign_margin值均为0。
根据上述缓存单元分配规则,在满足每个主设备组基本需求的前提下(privatebuffer),根据访问频次和特征,动态分配一部分缓存空间,以优化访问效率,减少对片外非易失存储器的读写次数。
实施例2
本发明的一个实施例中,还提供一种多主设备缓存控制***。图3为根据本发明的多主设备缓存控制***结构图,如图3所示,本发明的多主设备缓存控制***,包括,多个主设备10、非易失性存储读写控制器20、缓存控制单元30、静态随机存取存储器40,以及非易失性存储器50,其中,
多个主设备10,其通过AXI总线向非易失性存储读写控制器20发送访问请求;
非易失性存储读写控制器20,对多个主设备10的访问请求进行分组。
本发明实施例中,非易失性存储读写控制器20根据主设备ID(MID)和传输ID(XID)两种标识符,结合分组掩码(Mask)和每个组的预设匹配值(Match),判定访问请求所属的设备组(Master Group)。
缓存控制单元30,将静态随机存取存储器40作为缓存空间划分为多个缓存单元(buffer unit)并分配给不同的主设备组(master group)。
本发明实施例中,缓存控制单元30可以采用多种方式将缓存单元分配给不同的主设备组(master group)。分配给一个主设备组的一个或者多个缓存单元称为一个缓存组(buffer group)。
静态随机存取存储器40,为数据提供缓存空间,接受缓存控制单元30的指令,将缓存空间划分为多个缓存单元(buffer unit)。
非易失性存储器50,其接受非易失性存储读写控制器20的指令,进行数据的读写。
实施例3
本发明的一个实施例中,还提供一种控制芯片,包括实施例2中的多主设备缓存控制***,所述多主设备缓存控制***,在多个主设备访问片外非易失存储器时,对主设备进行分组,将有限的片内缓存资源通过静态和动态两种方式分配给不同主设备组,根据访问频次和特性自适应调节,以优化访问效率,减少对非易失存储器的读写次数。
实施例4
本发明的一个实施例中,还提供一种电子设备,包括上文所述的控制芯片,所述控制芯片运行时执行如上文所述的多主设备缓存控制方法的步骤。
实施例5
本发明的一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如实施例1中的多主设备缓存控制方法的步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种多主设备缓存控制方法,包括以下步骤:
1)对来自主设备的访问进行分组,判定所述访问所属的主设备组;
2)将缓存空间划分多个缓存单元,分配给主设备组;
3)接收来自任意主设备的读访问,并在缓存空间内查找所需的数据;
4)将数据返回给主设备;
所述步骤1)还包括,根据主设备ID和传输ID两种标识符,结合分组掩码和每个组的预设匹配值,判定一笔访问所属的设备组,具体规则如下:
{MID,XID} & Mask == Match(M),
其中,MID主设备ID,XID为传输ID,Mask为分组掩码,Match(M)为第M组上的预设匹配值,M为大于等于1的整数;
当满足上述条件时,认为访问所属的设备组是第M组;
当多个设备组均满足上述条件,低序号的设备组生效;
采用静态方式配置每个主设备组独占的缓存单元数;没有被分配的缓存单元以动态方式分配给不同的主设备组,称为动态缓存单元;
所述缓存单元以动态方式分配给不同主设备组的步骤,还包括:
为每个主设备组预先配置优先等级;
根据每个主设备组的访问频次,维护活跃度;
每个动态缓存单元记录当前所属的主设备组;
访问的数据不存在且满足下述条件时,将动态缓存单元分配给当前访问对应的主设备组:
trans_priority + trans_active >= buffer_priority + buffer_active +reassign_margin,
其中,trans_priorty为发起当前访问的主设备组的优先度,trans_active为发起当前访问的主设备组的活跃度值,buffer_priority为动态缓存单元当前所属主设备组的优先度,buffer_active为动态缓存单元当前所属主设备组的活跃度值,reassign_margin是预设的缓存重分配余量。
2.根据权利要求1所述的多主设备缓存控制方法,其特征在于,
所述步骤2)还包括,将缓存空间划分成N等份,每一份作为一个缓存单元,并将缓存单元分配给不同的主设备组,其中,N为大于等于1的整数;分配给主设备组的一个或者多个缓存单元为一个缓存组。
3.根据权利要求1所述的多主设备缓存控制方法,其特征在于,
所述活跃度计算规则为:
根据每次访问命中与否,配置增加主设备组活跃度值;
当访问命中,配置活跃度增加0-255;
当访问未命中,且没有分配到新的动态缓存单元的情况,配置活跃度增加0-255;
当访问未命中,且分配到一个新的动态缓存单元时,活跃度清零。
4.一种多主设备缓存控制***,采用权利要求1或2所述的多主设备缓存控制方法,包括,
多个主设备、非易失性存储读写控制器、缓存控制单元、静态随机存取存储器,以及非易失性存储器,其中,
所述多个主设备,其通过AXI总线向所述非易失性存储读写控制器发送访问请求;
所述非易失性存储读写控制器,对所述多个主设备的访问请求进行分组;
所述缓存控制单元,将静态随机存取存储器作为缓存空间划分为多个缓存单元并分配给不同的主设备组;
所述静态随机存取存储器,其为数据提供缓存空间,接受所述缓存控制单元的指令,将缓存空间划分为多个缓存单元;
所述非易失性存储器,其接受所述非易失性存储读写控制器的指令,进行数据的读写。
5.一种控制芯片,其特征在于,
所述控制芯片,包括,权利要求4所述的多主设备缓存控制***。
6.一种电子设备,其特征在于,
所述电子设备,包括,权利要求5所述的控制芯片。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序运行时执行权利要求1或2所述的多主设备缓存控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518586.7A CN113918483B (zh) | 2021-12-14 | 2021-12-14 | 一种多主设备缓存控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111518586.7A CN113918483B (zh) | 2021-12-14 | 2021-12-14 | 一种多主设备缓存控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113918483A CN113918483A (zh) | 2022-01-11 |
CN113918483B true CN113918483B (zh) | 2022-03-01 |
Family
ID=79248776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111518586.7A Active CN113918483B (zh) | 2021-12-14 | 2021-12-14 | 一种多主设备缓存控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918483B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009008A (zh) * | 2016-10-28 | 2018-05-08 | 北京市商汤科技开发有限公司 | 数据处理方法和***、电子设备 |
CN109359063A (zh) * | 2018-10-15 | 2019-02-19 | 郑州云海信息技术有限公司 | 面向存储***软件的缓存置换方法、存储设备及存储介质 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100340084C (zh) * | 2004-04-28 | 2007-09-26 | 联想(北京)有限公司 | 一种实现设备分组及分组设备间交互的方法 |
JP2010282405A (ja) * | 2009-06-04 | 2010-12-16 | Renesas Electronics Corp | データ処理システム |
US20170017576A1 (en) * | 2015-07-16 | 2017-01-19 | Qualcomm Incorporated | Self-adaptive Cache Architecture Based on Run-time Hardware Counters and Offline Profiling of Applications |
US10826717B2 (en) * | 2016-04-21 | 2020-11-03 | Signify Holding B.V. | System and methods for cloud-based monitoring and control of physical environments |
CN106604207B (zh) * | 2016-11-22 | 2020-03-17 | 北京交通大学 | M2m通信中基于分组的小区接入与选择方法 |
CN109144898B (zh) * | 2017-06-19 | 2023-02-17 | 深圳市中兴微电子技术有限公司 | 一种***内存管理装置和***内存管理方法 |
CN110048927B (zh) * | 2018-01-16 | 2020-12-15 | 华为技术有限公司 | 通信方法和通信装置 |
-
2021
- 2021-12-14 CN CN202111518586.7A patent/CN113918483B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009008A (zh) * | 2016-10-28 | 2018-05-08 | 北京市商汤科技开发有限公司 | 数据处理方法和***、电子设备 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
CN109359063A (zh) * | 2018-10-15 | 2019-02-19 | 郑州云海信息技术有限公司 | 面向存储***软件的缓存置换方法、存储设备及存储介质 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113918483A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113424160B (zh) | 一种处理方法、装置及相关设备 | |
JP3962368B2 (ja) | 共用リソースを動的に割り振るためのシステムおよび方法 | |
CN110134514B (zh) | 基于异构内存的可扩展内存对象存储*** | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
US5537635A (en) | Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size | |
US8615634B2 (en) | Coordinated writeback of dirty cachelines | |
US8677071B2 (en) | Control of processor cache memory occupancy | |
US8645627B2 (en) | Memory bus write prioritization | |
US20030079087A1 (en) | Cache memory control unit and method | |
US20130117521A1 (en) | Managing Chip Multi-Processors Through Virtual Domains | |
CN104809076A (zh) | Cache的管理方法及装置 | |
US10990562B2 (en) | System and method of asymmetric system description for optimized scheduling | |
CN102063386B (zh) | 一种单载体多目标的缓存***的缓存管理方法 | |
CN114860329B (zh) | 动态一致性偏置配置引擎及方法 | |
US11360891B2 (en) | Adaptive cache reconfiguration via clustering | |
CN106294192B (zh) | 内存分配方法、内存分配装置及服务器 | |
CN113138851B (zh) | 一种数据管理方法、相关装置及*** | |
CN113918483B (zh) | 一种多主设备缓存控制方法及*** | |
CN113010453A (zh) | 一种内存管理的方法、***、设备及可读存储介质 | |
US7502901B2 (en) | Memory replacement mechanism in semiconductor device | |
CN111124297A (zh) | 一种堆叠dram缓存的性能提升方法 | |
JPH07129464A (ja) | 情報処理装置 | |
KR20160018204A (ko) | 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법 | |
CN115687184A (zh) | 一种资源分配方法及装置 | |
CN114026548A (zh) | 直接内存访问的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |