CN107590085B - 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 - Google Patents
一种具有多级缓存的动态可重构阵列数据通路及其控制方法 Download PDFInfo
- Publication number
- CN107590085B CN107590085B CN201710712378.8A CN201710712378A CN107590085B CN 107590085 B CN107590085 B CN 107590085B CN 201710712378 A CN201710712378 A CN 201710712378A CN 107590085 B CN107590085 B CN 107590085B
- Authority
- CN
- China
- Prior art keywords
- data
- level
- grade
- caching
- arrays
- 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.)
- Expired - Fee Related
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种具有多级缓存的动态可重构阵列数据通路及其控制方法,该***包括4级缓存组成的多级缓存***、多级缓存的重构控制模块、支持多级缓存的粗粒度算子mesh阵列和数据通路中的接口模块,其中:多级缓存***在配置码的控制下,用于完成数据通路中的数据存储、数据交换和数据同步;多级缓存重构控制模块在配置码的控制下,完成mesh阵列读写读写变量和多级缓存地址之间的映射控制;粗粒度算子mesh阵列用于组成计算所用的环节,并在配置码的控制下,按照数据流图的定义对其读写变量进行控制。本发明所述可配置的具有多级缓存的动态可重构阵列数据通路及其方法,具有数据共享程度高,数据存储带宽大,可提高流水线和非流水线型的计算效率。
Description
技术领域
本发明涉及嵌入式可重构***领域,具体地,涉及一种具有多级缓存的动态可重构阵列数据通路及其控制方法。
背景技术
由于包括特殊的可重构处理单元,可重构阵列在取得性能和功耗的优势条件下还能够保持应用的灵活性,因此是专用领域计算中的理想模式。可重构阵列架构有两个特征:第一,硬件结构上由可重构数据通路和可重构控制器组成。可重构数据通路采用基本运算单元组成的阵列式结构;第二,处理器控制流与数据流分离。可重构数据通路用于处理数据流,而可重构控制器用于执行控制流来控制可重构数据通路。
可重构数据通路包括算子阵列、存储器和接口。在不增加阵列规模的条件下,提高可重构数据通路的性能的方法主要有以下几点:第一提高数据通路中计算的并行性,采用操作级并行和数据级并行进行数据计算处理。第二提高流水线的硬件利用率,减少数据读写延迟造成的流水线尤其是迭代型流水线中的空转。
针对以上的性能需求目前主要的技术手段包括:提高数据通路中存储器的共享程度,使得同一存储器在同一时钟周期被算子阵列中多个算子同时读取,并可被另一个算子更新,该方法可以有效提高数据的并行性,减少流水线的空转。第二,提高存储器的数据带宽,通过提高存储器的工作频率和增加存储器数据位宽,使得存储器与数据通路同频,存储器数据宽度等于数据通路一次处理的最大位宽。
但是存储器的共享程度和数据带宽存在着相互制约的情况。随着共享程度增加,存储器需具有多条地址线和数据线,内部的逻辑延迟线性增加。这会降低存储器的读写带宽,进一步会造成流水线工作频率的降低。
综上所述,在实现本发明的过程中,申请人发现现有可重构数据通路中存储***不能同时满足高共享和高带宽的需求,从而限制了可重构阵列性能提升。
发明内容
本发明的目的在于,针对上述现有技术存在的问题和不足,提出一种可重构阵列中具有多级缓存结构的数据通路,能够有效提高可重构数据通路中数据处理并行度并提高流水线执行效率。
为实现上述目的,本发明采用的技术方案是:一种可重构***中具有多级缓存结构的数据通路,包括多个粗粒度算子mesh阵列:由同构的运算单元(PE)阵列以及它们之间的互联单元组成,相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图;数据通路中的接口模块、数据通路中的多级缓存***。
所述粗粒度算子mesh阵列,由同构的运算单元(PE)阵列以及它们之间的互联单元组成。相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图。这样的阵列在数据通路中有n个(n大小为从1到4)。
所述数据通路中接口,用于从外部存储器读取数据并将该信息送到多级缓存***中。
所述多级缓存***,由4级缓存组成:用于完成数据通路中的数据存储、数据交换和数据同步。
其中,所述多级缓存***包括:
第1级缓存:位于两个相连接的PE单元之间,用于mesh阵列内部流水线中的数据缓存和数据交换,采用寄存器实现。
第2级缓存:位于相连接的mesh阵列之间,用于多个mesh阵列组成的流水线中数据缓存和数据交换,也可用于mesh阵列间非流水线数据的缓存和数据交换,具有2n(n为mesh阵列数量)个读端口和2n个写端口,可同时被所有mesh阵列访问,采用寄存器堆实现。
第3级缓存:用于mesh阵列之间非流水线中数据的缓存和交换,具有1个读端口和1个写端口,采用双口RAM实现。
第4级缓存:用于数据接口的数据缓存,并将输入数据同步到第2级或第3级缓存,读取第2级或第3级缓存的输出结果并发送到输出接口,采用FIFO实现。
其中,所述两个相连接的PE单元:在mesh阵列中相邻两行的PE单元,且两个PE单元有之间有信号线连接。
其中,所述的mesh阵列内部的流水线:mesh阵列内m(m值在1-8)行PE单元和PE之间的互联逻辑在配置程序的控制下,可形成m级流水线。流水线中各级的运算功能由PE单元完成,流水线的互联关系由PE之间的互联逻辑完成。
其中,所述的多个mesh阵列组成的流水线:n(n值在1-4)个mesh阵列,每个阵列内有m(m值在1-8)行PE单元,可形成n*m级流水线,流水线各级的运算功能由PE单元完成,mesh阵列中流水线的互联关系由PE之间的互联逻辑完成,mesh阵列之间的互联通过对第2级缓存的地址访问完成。
其中,多级缓存的配置码功能为:对第1级缓存,由可重构阵列PE配置码控制PE之间互联关系,同时也完成了第1级缓存控制;对第2级和第3级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按时钟周期精度对第2级和第3级缓存进行读写;对第4级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按第4级缓存中FIFO中空满标志和mesh阵列运算序列进行读写操作。
其中,所述的多级缓存的重构控制模块对1级缓存控制时,访问的寄存器由配置码确定的,在单次配置后保持不变;在控制第2级存储时,需要访问不同地址的寄存器,由读写控制器完成其访存操作的控制,第2级存储的读和写都在单个周期内完成,其控制指令的写入和读出过程无需等待其完成;控制第3级存储时,由于读写会在多个周期内才能完成,需要在其控制指令中增加读和写有效的标志,以减少由于读写第2级存储产生的额外的等待时间;控制第4级存储时,需要等待相应缓存中的空满信号,将其作为mesh阵列计算的起点和终点。
本发明还提供了一种应用于可重构阵列多级缓存结构的数据通路的配置方法,包括如下步骤:
步骤1)将新的任务映射到可重构阵列中。
步骤2)如果新的任务中包括非迭代型流水线操作,则如果该流水线由一个mesh阵列执行,则将流水线中的输入数据和输出数据映射到2级缓存中,其他中间数据映射到第1级缓存中;如果流水线由多个mesh阵列组成,则将流水线的输入数据、输出数据和跨不同mesh阵列的数据映射到第2级缓存,其他中间数据映射到第1级缓存中。
步骤3)如果新的任务中包括迭代型流水线,则如果该流水线由一个mesh阵列执行,则将流水线输入数据、输出数据和需要反馈迭代处理的数据映射到第2级缓存中,其他中间数据映射到第1级缓存中;如果该流水线由多个mesh阵列组成,则将流水线的输入数据、输出数据、跨不同mesh阵列的数据和反馈迭代的数据映射到第2级缓存,其他中间数据映射到第1级缓存中。
有益效果:本发明的技术方案通过一种用于具有多级缓存的动态可重构阵列数据通路及其控制方法,提高了可重构阵列运行中存储器的共享程度和存储***的数据带宽,改变了传统可重构阵列中存储***的结构和配置方法,从而提高了可重构阵列的运行效率。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为具有多级缓存的动态可重构阵列数据通路结构示意图;
图2为数据通路中多级缓存中的数据结构;
图3为可重构阵列多级缓存结构的数据通路的配置方法图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本实施例的可重构数据通路包括多个粗粒度算子mesh阵列:由同构的运算单元(PE)阵列以及它们之间的互联单元组成,相邻的两行PE单元之间通过一个基于置换的网络单元进行互联;数据通路中的接口:用于从外部存储器读取操作数并将配置信息送到多级缓存***中;数据通路中的1级缓存:位于两个相连接的PE单元之间,用于mesh阵列内部流水线中的数据缓存和数据交换,采用寄存器实现;数据通路中的2级缓存:位于相连接的mesh阵列之间,用于多个mesh阵列组成的流水线中数据缓存和数据交换,也可用于mesh阵列间非流水线数据的缓存和数据交换;数据通路中的3级缓存:用于mesh阵列之间非流水线中数据的缓存和交换;数据通路中的4级缓存:用于数据接口的数据缓存,并将输入数据同步到2级或3级缓存中。
如图2所示,可重构阵列数据通路中的缓存主要数据结构:1级缓存中存储mesh阵列中流水线数据,这些数据均存在PE中独占的寄存器中。在流水线运行时,每个周期1级缓存中的数据都被更新;2级缓存中存储mesh阵列之间交换的数据,这些数据能够作为占用多个mesh阵列的流水线数据,也可作为非流水线操作的数据。作为流水线数据时,每个周期这些数据都被更新。作为非流水线数据时,当上级mesh阵列完成操作后,该数据才被更新;3级缓存存储非流水线数据,因此3级缓存的读写带宽小于2级流水线。同时3级流水线也可将2级缓存数据整体备份。这种情况在2级缓存参与的流水被中断时会发生;4级缓存作为可重构阵列和外部数据交换的缓存。当外部数据输入可重构阵列后,这些数据在4级缓存中存储并被交换到2级缓存中。而在2级缓存中的计算结果可通过4级缓存被外部总线读取。
如图3所示,具有多级缓存的数据通路中缓存的配置方法:对于流水线执行方式,在同一mesh阵列中的流水线环节的数据映射到该环节PE所占用的1级缓存中。而跨mesh阵列的流水线环节,其数据存储在2级缓存中。当流水线中断时,2级缓存中的数据被缓存到3级缓存中。当流水线恢复时,3级缓存中的数据被恢复到2级缓存中。而2级缓存做为mesh阵列的输入,根据mesh阵列的配置可按照mesh阵列流水线级数恢复出PE中的1级缓存数据;对于非流水线执行方式,跨mesh阵列的数据被配置到3级缓存中,当该mesh阵列执行完毕后,下一个mesh阵列从3级缓存中读取该变量并继续计算。
Claims (8)
1.一种具有多级缓存的动态可重构阵列数据通路,其特征在于,包括4级缓存组成的多级缓存***、多级缓存的重构控制模块、支持多级缓存的粗粒度算子mesh阵列和数据通路中的接口模块;
所述多级缓存***根据配置码要求的功能,用于完成数据通路中的数据存储、数据交换和数据同步;
所述数据通路中的接口模块,用于从外部存储器读取数据并将该数据送到多级缓存***中;
所述重构控制模块在配置码的控制下,完成mesh阵列读写读写变量和多级缓存地址之间的映射控制;
所述粗粒度算子mesh阵列用于组成计算所用的环节,并在配置码的控制下,按照数据流图的定义对其读写变量进行控制。
2.根据权利要求1所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的多级缓存***包括,
第1级缓存,位于两个相连接的PE单元之间,用于mesh阵列内部流水线中的数据缓存和数据交换,
第2级缓存,由mesh阵列之间进行流水线数据交换的存储器组成,该存储器由多个mesh阵列共享;
第3级缓存,由mesh阵列之间进行非流水线中数据交换的缓存组成,用于mesh阵列之间非流水线中数据的缓存和交换;
第4级缓存,由可重构数据通路与外部接口之间的共享存储器组成,用于数据接口的数据缓存,并将输入数据同步到2级或3级缓存,读取2级或3级缓存的输出结果并发送到输出接口。
3.根据权利要求2所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的第1级缓存采用寄存器实现,第2级缓存采用寄存器堆实现,第3级缓存采用双口RAM实现,第4级缓存采用FIFO实现。
4.根据权利要求2所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的第1级缓存中存储mesh阵列中流水线数据,这些数据均存在PE中独占的寄存器中,在流水线运行时,每个周期1级缓存中的数据都被更新;2级缓存中存储mesh阵列之间交换的数据,这些数据能够作为占用多个mesh阵列的流水线数据,也可作为非流水线操作的数据,其中作为流水线数据时,每个周期这些数据都被更新,作为非流水线数据时,当上级mesh阵列完成操作后,该数据才被更新;第3级缓存存储非流水线数据,同时在第2级缓存参与的流水被中断时,第3级流水线将第2级缓存数据整体备份;第4级缓存作为可重构阵列和外部数据交换的缓存,当外部数据输入可重构阵列后,这些数据在第4级缓存中存储并被交换到第2级缓存中,而在第2级缓存中的计算结果通过第4级缓存被外部总线读取。
5.根据权利要求1所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的配置码功能为:对第1级缓存,由可重构阵列PE配置码控制PE之间互联关系,完成第1级缓存控制;对第2级缓存和第3级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按时钟周期精度对第2级和第3级缓存进行读写;对第4级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按第4级缓存中FIFO中空满标志和mesh阵列运算序列进行读写操作。
6.根据权利要求1所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的多级缓存的重构控制模块对1级缓存控制时,访问的寄存器由配置码确定的,在单次配置后保持不变;在控制第2级存储时,需要访问不同地址的寄存器,由读写控制器完成其访存操作的控制,第2级存储的读和写都在单个周期内完成,其控制指令的写入和读出过程无需等待其完成;控制第3级存储时,由于读写会在多个周期内才能完成,需要在其控制指令中增加读和写有效的标志,以减少由于读写第2级存储产生的额外的等待时间;控制第4级存储时,需要等待相应缓存中的空满信号,将其作为mesh阵列计算的起点和终点。
7.根据权利要求1所述的具有多级缓存的动态可重构阵列数据通路,其特征在于所述的支持多级缓存的粗粒度算子mesh阵列,由同构的运算单元阵列以及它们之间的互联单元组成,运算单元阵列中的运算单元主要由ALU单元及存储临时数据的寄存器组成,每个运算单元独立的执行配置单元指定的运算功能,每个运算单元的基本粒度是8比特,同一行内相邻的4个PE单元组成一个32比特位宽的可重构单元组,支持32比特位宽的运算操作,相邻的两行PE单元之间通过一个基于置换的网络单元进行互联。
8.一种应用于权利要求1-7任意一项所述的具有多级缓存的动态可重构阵列数据通路的控制方法,其特征在于包括如下步骤:
步骤1)将新的任务映射到可重构阵列中;
步骤2)如果新的任务中包括非迭代型流水线操作,则如果该流水线由一个mesh阵列执行,则将流水线中的输入数据和输出数据映射到2级缓存中,其他中间数据映射到1级缓存中;如果流水线由多个mesh阵列组成,则将流水线的输入数据、输出数据和跨不同mesh阵列的数据映射到2级缓存,其他中间数据映射到1级缓存中;
步骤3)如果新的任务中包括迭代型流水线,则如果该流水线由一个mesh阵列执行,则将流水线输入数据、输出数据和需要反馈迭代处理的数据映射到2级缓存中,其他中间数据映射到1级缓存中;如果该流水线由多个mesh阵列组成,则将流水线的输入数据、输出数据、跨不同mesh阵列的数据和反馈迭代的数据映射到2级缓存,其他中间数据映射到1级缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712378.8A CN107590085B (zh) | 2017-08-18 | 2017-08-18 | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712378.8A CN107590085B (zh) | 2017-08-18 | 2017-08-18 | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107590085A CN107590085A (zh) | 2018-01-16 |
CN107590085B true CN107590085B (zh) | 2018-05-29 |
Family
ID=61043119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710712378.8A Expired - Fee Related CN107590085B (zh) | 2017-08-18 | 2017-08-18 | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107590085B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563446B (zh) * | 2018-03-30 | 2021-06-25 | 北京中科睿芯智能计算产业研究院有限公司 | 一种粗粒度数据流架构中的数据复用和同步的方法、装置 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN110647357B (zh) * | 2018-06-27 | 2021-12-03 | 展讯通信(上海)有限公司 | 同步多线程处理器 |
CN109284528B (zh) * | 2018-07-28 | 2023-06-09 | 上海航天电子有限公司 | 基于流水线设计的相控阵天线波束控制码计算方法及*** |
CN109446110A (zh) * | 2018-10-16 | 2019-03-08 | 西安邮电大学 | 可实现数据地址连续的U型布局tile缓存方法 |
CN113795831B (zh) * | 2020-12-28 | 2023-09-12 | 西安交通大学 | 一种多功能的数据重组网络 |
CN112967172A (zh) * | 2021-02-26 | 2021-06-15 | 成都商汤科技有限公司 | 一种数据处理装置、方法、计算机设备及存储介质 |
CN113986816B (zh) * | 2021-12-09 | 2023-05-02 | 北京奕斯伟计算技术股份有限公司 | 可重构计算芯片 |
CN114528248A (zh) * | 2022-04-24 | 2022-05-24 | 广州万协通信息技术有限公司 | 阵列重构方法、装置、设备及存储介质 |
CN117271391B (zh) * | 2023-06-20 | 2024-04-16 | 海光信息技术股份有限公司 | 缓存结构和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761075A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度动态可重构数据规整控制单元结构 |
CN103761072A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度可重构层次化的阵列寄存器文件结构 |
CN104820659A (zh) * | 2015-05-28 | 2015-08-05 | 东南大学 | 一种面向粗粒度可重构***的多模式动态可配高速访存接口 |
CN105677582A (zh) * | 2016-02-24 | 2016-06-15 | 东南大学 | 基于可重构***配置多模式传输的可控缓存实现*** |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的*** |
-
2017
- 2017-08-18 CN CN201710712378.8A patent/CN107590085B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761075A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度动态可重构数据规整控制单元结构 |
CN103761072A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度可重构层次化的阵列寄存器文件结构 |
CN104820659A (zh) * | 2015-05-28 | 2015-08-05 | 东南大学 | 一种面向粗粒度可重构***的多模式动态可配高速访存接口 |
CN105677582A (zh) * | 2016-02-24 | 2016-06-15 | 东南大学 | 基于可重构***配置多模式传输的可控缓存实现*** |
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的*** |
Non-Patent Citations (3)
Title |
---|
可重构众核流处理器体系结构关键技术研究;许牧;《中国博士学位论文全文数据库信息科技辑》;中国学术期刊电子杂志社;20130115;第2013年卷(第1期);I137-4 * |
可重构计算相关技术研究;孙康;《中国博士学位论文全文数据库信息科技辑》;中国学术期刊电子杂志社;20071215;第2007年卷(第6期);I138-24 * |
粗粒度可重构结构的性能估计方法;季爱明,沈海斌,严晓浪;《电路与***学报》;20070630;第12卷(第3期);第84-88页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107590085A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590085B (zh) | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 | |
Demmel et al. | Avoiding communication in sparse matrix computations | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储***及加速计算方法 | |
CN103246625B (zh) | 一种数据与地址共用引脚自适应调整访存粒度的方法 | |
CN102541774B (zh) | 多粒度并行存储***与存储器 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN101833441A (zh) | 并行向量处理引擎结构 | |
JPH042976B2 (zh) | ||
CN111433758A (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
CN103744644A (zh) | 采用四核结构搭建的四核处理器***及数据交换方法 | |
CN102402415B (zh) | 一种动态可重构阵列内数据缓存的装置及方法 | |
CN107506329A (zh) | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 | |
CN103970720A (zh) | 基于大规模粗粒度嵌入式可重构***及其处理方法 | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
CN104317770A (zh) | 用于众核处理***的数据存储结构及数据访问方法 | |
US10659396B2 (en) | Joining data within a reconfigurable fabric | |
US20180212894A1 (en) | Fork transfer of data between multiple agents within a reconfigurable fabric | |
CN104679670A (zh) | 一种面向fft和fir的共享数据缓存结构及管理方法 | |
CN102446342A (zh) | 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 | |
CN109614145A (zh) | 一种处理器核心结构及数据访存方法 | |
CN103365821A (zh) | 一种异构多核处理器的地址生成器 | |
CN100481060C (zh) | 一种流处理器中多核扩展的方法 | |
CN103235717B (zh) | 具有多态指令集体系结构的处理器 | |
CN103019657B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180529 Termination date: 20190818 |
|
CF01 | Termination of patent right due to non-payment of annual fee |