CN105279116B - 基于fpga的ddr控制器及控制方法 - Google Patents

基于fpga的ddr控制器及控制方法 Download PDF

Info

Publication number
CN105279116B
CN105279116B CN201510652050.2A CN201510652050A CN105279116B CN 105279116 B CN105279116 B CN 105279116B CN 201510652050 A CN201510652050 A CN 201510652050A CN 105279116 B CN105279116 B CN 105279116B
Authority
CN
China
Prior art keywords
write
read
state
control unit
configurable
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
Application number
CN201510652050.2A
Other languages
English (en)
Other versions
CN105279116A (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.)
China Electronics Technology Instruments Co Ltd CETI
Original Assignee
CETC 41 Institute
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 CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201510652050.2A priority Critical patent/CN105279116B/zh
Publication of CN105279116A publication Critical patent/CN105279116A/zh
Application granted granted Critical
Publication of CN105279116B publication Critical patent/CN105279116B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Abstract

本发明公开了一种基于FPGA的DDR控制器及控制方法。该控制器包括:状态机,被配置为用于完成DDR控制器的时序控制功能,实现对DDR存储器的访问,并根据访问要求在相应的状态之间进行切换;配置控制单元,被配置为用于对DDR存储器寄存器在开机上电时进行配置;激活控制单元,被配置为用于对DDR存储器的数据阵列进行激活;读写控制单元,被配置为用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写;预充控制单元,被配置为用于完成对激活后的行单元进行无效操作;刷新控制单元,被配置为用于对数据阵列进行充电;端口控制单元,被配置为用于实现数据总线、地址总线和控制总线的端口锁存。本发明利于解决DDR存储器的控制问题。

Description

基于FPGA的DDR控制器及控制方法
技术领域
本发明涉及一种基于FPGA的DDR控制器、以及一种基于FPGA的DDR控制方法。
背景技术
DDR存储器具有小型化和大容量等特点,作为数据存储器广泛应用于CPU系统、数据采集系统等领域。在数据采集系统领域主要用作数据缓存,如何实现对DDR存储器的控制,使其能够满足数据缓存要求,通常采用FPGA内核生成器,实现对DDR存储器的控制,完成DDR存储器的读写、刷新、预充、上电配置等操作。FPGA内核作为厂家自带专用IP核,一方面会向用户收取费用,增加用户成本,另一方面使用起来不够灵活,只能作为通用数据缓存控制接口使用,对于特殊使用很难满足要求,同时采用IP核FPGA的管脚固定,不能灵活配置,对于印制版布局布线提出了很高的要求。
发明内容
针对现有技术中存在的上述技术问题,本发明提出了一种基于FPGA的DDR控制器,其采用如下技术方案:
基于FPGA的DDR控制器,包括:
状态机,被配置为用于完成DDR控制器的时序控制功能,实现对DDR存储器的访问,并根据访问要求在相应的状态之间进行切换;
配置控制单元,被配置为用于对DDR存储器寄存器在开机上电时进行配置;
激活控制单元,被配置为用于对DDR存储器的数据阵列进行激活;
读写控制单元,被配置为用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写;
预充控制单元,被配置为用于完成对激活后的行单元进行无效操作;
刷新控制单元,被配置为用于对数据阵列进行充电;
端口控制单元,被配置为用于实现数据总线、地址总线和控制总线的端口锁存。
进一步,所述状态机包括九种状态,即预充状态、刷新状态、配置状态、激活状态、初始状态、空操作状态、读写状态、猝发读写状态及激活缓冲状态。
进一步,所述配置包括配置内容和配置过程;配置内容包括DDR存储器的猝发长度、猝发起始地址、猝发类型及读缓冲周期的配置,配置内容由配置命令和地址设置组合完成。
进一步,所述猝发读写是指外部连续访问,通过一次操作实现对DDR存储器多个地址单元进行读写数据;单周期读写是指外部访问只对一个地址单元进行读写。
此外,本发明还对应于上述基于FPGA的DDR控制器提出了一种基于FPGA的DDR控制方法,其采用如下技术方案:
基于FPGA的DDR控制方法,包括:
用于完成DDR控制器的时序控制功能,实现对DDR存储器的正确访问,并根据访问要求在相应的状态之间进行切换的步骤;
用于对DDR存储器寄存器在开机上电时进行配置的步骤;
用于对DDR存储器的数据阵列进行激活的步骤;
用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写的步骤;
用于完成对激活后的行单元进行无效操作的步骤;
用于对数据阵列进行充电的步骤;
用于实现数据总线、地址总线和控制总线的端口锁存的步骤。
此外,本发明还提出了一种状态机访问方法,其采用上述的基于FPGA的DDR控制器,该方法包括如下步骤:
步骤1:系统在上电时对状态机进行复位,将状态机复位到初始状态;
步骤2:初始状态是各个控制单元请求进入状态机的初始入口;
步骤3:配置状态用来完成上电配置,占用3个时钟周期,直接跳转到空操作状态,同时给出应答信号到配置控制单元;
步骤4:在激活状态发出应答信号给激活控制单元,同时进行猝发读写判断;
步骤4-1:激活状态的猝发读写判断,根据读写控制单元控制命令,检测是否是猝发读写:如果不是猝发读写,直接到空操作状态,在空操作状态检测到激活结束命令后,回到初始状态;如果是猝发读写,进入激活缓冲状态;
步骤5:读写状态是外部访问DDR存储器的状态,外部访问在初始激活后由读写控制单元发出读写请求,进入读写状态,同时发出应答信号到读写控制单元;
步骤5-1:读写状态的猝发读写判断,根据读写控制单元判断外部访问是单周期访问还是猝发访问;如果是单周期访问,直接跳转到空操作状态;如果是猝发访问,读写状态进入猝发读写状态;
步骤6:预充状态在外部读写访问结束后,由预充控制单元发出预充请求,进入预充状态,在预充状态发出应答信号到预充控制单元;
步骤6-1:预充状态猝发读写判断:如果是单周期读写,在读写完成后进入空操作状态,使得当前激活的行单元进入关闭状态;如果是猝发读写,不能进行关闭,进入猝发读写状态;
步骤7:刷新由刷新控制单元通过定时器周期性发出,当状态机检测到刷新请求时,进入初始刷新状态,同时给出应答信号;
步骤7-1:刷新状态的猝发读写判断:当检测到猝发读写时,刷新任务进入到猝发读写状态;如果是单周期读写,直接跳转到空操作状态。
本发明具有如下优点:
本发明通过在FPGA内部自主设计DDR控制器,利于解决DDR存储器的控制问题,实现采集数据的缓存;本发明中DDR控制流程在FPGA中完成,占用资源少、修改方便、可移植性强;通过本发明设计的DDR控制器及其控制方法,利于降低技术风险,进而提高印制板布局布线的灵活性,利于解决FPGA内部IP核不可控的技术问题。
附图说明
图1为本发明中DDR控制器原理方案框图;
图2为本发明中状态机的访问流程框图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
结合图1所示,基于FPGA的DDR控制器,包括:
状态机,被配置为用于完成DDR控制器的时序控制功能,实现对DDR存储器的正确访问,并根据访问要求在相应的状态之间进行切换;
配置控制单元,被配置为用于对DDR存储器寄存器在开机上电时进行配置;
激活控制单元,被配置为用于对DDR存储器的数据阵列进行激活;
读写控制单元,被配置为用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写;
预充控制单元,被配置为用于完成对激活后的行单元进行无效操作;
刷新控制单元,被配置为用于对数据阵列进行充电;
端口控制单元,被配置为用于实现数据总线、地址总线和控制总线的端口锁存。
其中,状态机根据访问命令不同,产生不同的时序组合,实现相应的功能。具体的,
状态机包括九种状态,即预充状态、刷新状态、配置状态、激活状态、初始状态、空操作状态、读写状态、猝发读写状态及激活缓冲状态。
配置包括配置内容和配置过程,配置内容包括存储器的猝发长度、猝发起始地址、猝发类型、读缓冲周期的配置,配置内容由配置命令和地址设置组合完成。配置过程是指配置流程,需要按一定的操作顺序才能实现寄存器的正确配置。
猝发读写是指外部连续访问,通过一次操作实现对DDR存储器多个地址单元进行读写数据;单周期读写是指外部访问只对一个地址单元进行读写。
刷新控制单元用来对数据阵列进行充电。为防止DDR存储器的存储数据丢失,需要定时对DDR存储器的存储单元电荷进行充电,根据刷新周期要求,每隔固定时间启动一次刷新,在相应的时间实现所有行的刷新,刷新操作占用6个时钟周期。
只有当激活控制单元的激活命令有效时,读写控制单元才可以对DDR存储器进行读写操作,每次读写之前都要对所访问的行单元激活。
当预充控制单元的预充命令有效后,不能对行单元进行读写操作,行单元只有预充后,刷新命令才起作用,预充操作占用3个时钟周期。
端口控制单元用来保证总线布线延迟的一致性。对于高速传输设计布线延迟是时序同步的关键,在FPGA内部通过采用同步设计,总线延迟可以保证。通过端口锁存总线,可以有效降低FPGA和存储器的布线难度,在基本等长的情况下,确保多路总线的信号完整性,使得总线时序满足设计要求,能够正确捕获。
上述六个控制单元对状态机访问采用三级结构访问模式,即访问请求、访问应答、访问结束。访问请求由各个控制单元发出,当状态机检测到访问请求时,并且自己处于访问初始状态时,给出访问应答,控制单元检测到访问应答握手信号后,根据自己状态需要占用时钟周期,给出访问结束命令到状态机,状态机检测到访问结束后,结束本次访问,进入到初始状态。状态机访问采用先到先得原则,一旦占用其它访问将会被屏蔽。
此外,本发明还对应于上述基于FPGA的DDR控制器提出了一种基于FPGA的DDR控制方法,其采用如下技术方案:
基于FPGA的DDR控制方法,包括:
用于完成DDR控制器的时序控制功能,实现对DDR存储器的正确访问,并根据访问要求在相应的状态之间进行切换的步骤;
用于对DDR存储器寄存器在开机上电时进行配置的步骤;
用于对DDR存储器的数据阵列进行激活的步骤;
用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写的步骤;
用于完成对激活后的行单元进行无效操作的步骤;
用于对数据阵列进行充电的步骤;
用于实现数据总线、地址总线和控制总线的端口锁存的步骤。
结合图2所示,本发明中状态机的访问流程为:
步骤1:系统在上电时对状态机进行复位,将状态机复位到初始状态;
步骤2:初始状态是各个控制单元请求进入状态机的初始入口;
步骤3:配置状态用来完成上电配置,占用3个时钟周期,直接跳转到空操作状态,同时给出应答信号到配置控制单元;
步骤4:在激活状态发出应答信号给激活控制单元,同时进行猝发读写判断;
步骤4-1:激活状态的猝发读写判断,根据读写控制单元控制命令,检测是否是猝发读写:如果不是猝发读写,直接到空操作状态,在空操作状态检测到激活结束命令后,回到初始状态;如果是猝发读写,进入激活缓冲状态;
步骤5:读写状态是外部访问DDR存储器的状态,外部访问在初始激活后由读写控制单元发出读写请求,进入读写状态,同时发出应答信号到读写控制单元;
步骤5-1:读写状态的猝发读写判断,根据读写控制单元判断外部访问是单周期访问还是猝发访问;如果是单周期访问,直接跳转到空操作状态;如果是猝发访问,读写状态进入猝发读写状态;
步骤6:预充状态在外部读写访问结束后,由预充控制单元发出预充请求,进入预充状态,在预充状态发出应答信号到预充控制单元;
步骤6-1:预充状态猝发读写判断:如果是单周期读写,在读写完成后进入空操作状态,使得当前激活的行单元进入关闭状态;如果是猝发读写,不能进行关闭,进入猝发读写状态;
步骤7:刷新由刷新控制单元通过定时器周期性发出,当状态机检测到刷新请求时,进入初始刷新状态,同时给出应答信号;
步骤7-1:刷新状态的猝发读写判断:当检测到猝发读写时,刷新任务进入到猝发读写状态;如果是单周期读写,直接跳转到空操作状态。
猝发读写状态涉及到行单元的开启和关闭,以及预充、刷新操作,在猝发读写状态需要对行单元进行优先级设计,行单元一旦被激活,将只用作读写操作使用,不能进行刷新和预充操作。由于猝发读写在读写命令有效时只占用一个时钟周期,猝发命令结束后,地址总线、控制总线释放,只有数据线有效,激活、预充、刷新不占用数据总线,只需要地址总线和控制总线,因此在猝发读写阶段,并不影响其它行单元的激活、预充和刷新。但要控制好时序的优先级,确保猝发有效,其它访问有效。
空操作状态是在访问结束后进入的一种状态,访问命令通常占用一个时钟周期,但是访问周期通常有几个时钟周期,在访问周期内为了阻止别的访问有效,进入空操作状态,在检测到访问结束后,进入初始状态,等待下次访问。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。

Claims (1)

1.状态机访问方法,基于FPGA的DDR控制器,该DDR控制器包括:
状态机,被配置为用于完成DDR控制器的时序控制功能,实现对DDR存储器的访问,并根据访问要求在相应的状态之间进行切换;
状态机包括九种状态,即预充状态、刷新状态、配置状态、激活状态、初始状态、空操作状态、读写状态、猝发读写状态及激活缓冲状态;
配置控制单元,被配置为用于对DDR存储器寄存器在开机上电时进行配置;
激活控制单元,被配置为用于对DDR存储器的数据阵列进行激活;
读写控制单元,被配置为用于对外部访问进行同步处理,给出读写标志,并判断是猝发读写还是单周期读写;
预充控制单元,被配置为用于完成对激活后的行单元进行无效操作;
刷新控制单元,被配置为用于对数据阵列进行充电;
端口控制单元,被配置为用于实现数据总线、地址总线和控制总线的端口锁存;
其特征在于,该方法包括如下步骤:
步骤1:系统在上电时对状态机进行复位,将状态机复位到初始状态;
步骤2:初始状态是各个控制单元请求进入状态机的初始入口;
步骤3:配置状态用来完成上电配置,占用3个时钟周期,直接跳转到空操作状态,同时给出应答信号到配置控制单元;
步骤4:在激活状态发出应答信号给激活控制单元,同时进行猝发读写判断;
步骤4-1:激活状态的猝发读写判断,根据读写控制单元控制命令,检测是否是猝发读写:如果不是猝发读写,直接到空操作状态,在空操作状态检测到激活结束命令后,回到初始状态;如果是猝发读写,进入激活缓冲状态;
步骤5:读写状态是外部访问DDR存储器的状态,外部访问在初始激活后由读写控制单元发出读写请求,进入读写状态,同时发出应答信号到读写控制单元;
步骤5-1:读写状态的猝发读写判断,根据读写控制单元判断外部访问是单周期访问还是猝发访问;如果是单周期访问,直接跳转到空操作状态;如果是猝发访问,读写状态进入猝发读写状态;
步骤6:预充状态在外部读写访问结束后,由预充控制单元发出预充请求,进入预充状态,在预充状态发出应答信号到预充控制单元;
步骤6-1:预充状态猝发读写判断:如果是单周期读写,在读写完成后进入空操作状态,使得当前激活的行单元进入关闭状态;如果是猝发读写,不能进行关闭,进入猝发读写状态;
步骤7:刷新由刷新控制单元通过定时器周期性发出,当状态机检测到刷新请求时,进入初始刷新状态,同时给出应答信号;
步骤7-1:刷新状态的猝发读写判断:当检测到猝发读写时,刷新任务进入到猝发读写状态;如果是单周期读写,直接跳转到空操作状态。
CN201510652050.2A 2015-10-08 2015-10-08 基于fpga的ddr控制器及控制方法 Expired - Fee Related CN105279116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510652050.2A CN105279116B (zh) 2015-10-08 2015-10-08 基于fpga的ddr控制器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510652050.2A CN105279116B (zh) 2015-10-08 2015-10-08 基于fpga的ddr控制器及控制方法

Publications (2)

Publication Number Publication Date
CN105279116A CN105279116A (zh) 2016-01-27
CN105279116B true CN105279116B (zh) 2017-12-01

Family

ID=55148153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510652050.2A Expired - Fee Related CN105279116B (zh) 2015-10-08 2015-10-08 基于fpga的ddr控制器及控制方法

Country Status (1)

Country Link
CN (1) CN105279116B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649157B (zh) * 2016-12-16 2019-10-11 广东威创视讯科技股份有限公司 基于fpga的sdram控制系统
CN107368440B (zh) * 2017-07-06 2021-06-18 沈阳理工大学 一种同位控制猝发总线的控制方法
CN109800192B (zh) * 2019-01-17 2020-01-10 广东高云半导体科技股份有限公司 电子设备、fpga芯片及其接口电路
CN111737192B (zh) * 2020-07-31 2021-06-11 上海安路信息科技股份有限公司 一种fpga内嵌ddr硬核及fpga
CN114257263B (zh) * 2021-11-22 2023-06-09 中电科思仪科技股份有限公司 一种基于触发的高机动信道模拟装置及方法
CN115101104A (zh) * 2022-07-18 2022-09-23 山东浪潮科学研究院有限公司 一种基于fpga改进ddr读写效率的方法
CN117580148B (zh) * 2024-01-16 2024-03-26 中国人民解放军陆军航空兵学院 一种基于ddr存储的高动态猝发同步方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243526A (zh) * 2010-05-14 2011-11-16 炬力集成电路设计有限公司 双倍数据速率内存的内存控制器及其控制方法
CN102543159A (zh) * 2010-12-29 2012-07-04 炬才微电子(深圳)有限公司 一种ddr控制器及其实现方法和芯片
US8356138B1 (en) * 2007-08-20 2013-01-15 Xilinx, Inc. Methods for implementing programmable memory controller for distributed DRAM system-in-package (SiP)
CN103279309A (zh) * 2013-05-15 2013-09-04 清华大学 基于fpga的ddr控制装置及方法
CN103440215A (zh) * 2013-08-18 2013-12-11 中国电子科技集团公司第四十一研究所 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356138B1 (en) * 2007-08-20 2013-01-15 Xilinx, Inc. Methods for implementing programmable memory controller for distributed DRAM system-in-package (SiP)
CN102243526A (zh) * 2010-05-14 2011-11-16 炬力集成电路设计有限公司 双倍数据速率内存的内存控制器及其控制方法
CN102543159A (zh) * 2010-12-29 2012-07-04 炬才微电子(深圳)有限公司 一种ddr控制器及其实现方法和芯片
CN103279309A (zh) * 2013-05-15 2013-09-04 清华大学 基于fpga的ddr控制装置及方法
CN103440215A (zh) * 2013-08-18 2013-12-11 中国电子科技集团公司第四十一研究所 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于FPGA的DDR3 SDRAM控制器设计及实现";张刚等;《电子科技》;20140115;第27卷(第1期);全文 *
"基于FPGA的DDR3控制器设计与验证";孟晓东;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140415(第4期);文献第11、14-15、17-19、25-33、36、50页 *

Also Published As

Publication number Publication date
CN105279116A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
CN105279116B (zh) 基于fpga的ddr控制器及控制方法
CN102640226B (zh) 具有内部处理器的存储器及控制存储器存取的方法
KR100805603B1 (ko) 집적 회로
CN107924375A (zh) 用于高速存储器接口的命令仲裁
KR20210021302A (ko) 메모리 제어기에서의 리프레시 방식
US20040054864A1 (en) Memory controller
US8468281B2 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
CN107257964B (zh) Dram电路、计算机系统和访问dram电路的方法
CN105810235B (zh) 一种dram刷新控制器及多通道dram同步刷新方法
CN114902198B (zh) 用于异构存储器系统的信令
CN103440215B (zh) 基于fpga实现主设备对sdram存储器快速猝发访问的方法及装置
TW200521674A (en) Method and apparatus for implicit dram precharge
CN102236622A (zh) 提高动态存储器带宽利用率的动态存储器控制器及方法
KR20230023014A (ko) Dram 커맨드 스트리크 관리
US6671752B1 (en) Method and apparatus for bus optimization in a PLB system
WO2020255087A1 (en) Memory module and processor contained in the memory module
CN106126472A (zh) 一种实现静态与动态存储控制器访问无缝切换的控制结构
CN108228517B (zh) I3c电路设备、系统及通信方法
CN104077080B (zh) 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器
US20220139448A1 (en) Interactive Memory Self-Refresh Control
CN201936294U (zh) 一种高速图像采集系统的缓存系统
CN115050405A (zh) 一种读写控制电路、控制方法、芯片及电子设备
CN105573933A (zh) 处理器及存取存储器的方法
KR20230004912A (ko) 효율적인 메모리 버스 관리
CN102591820B (zh) 一种idma总线桥装置

Legal Events

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

Effective date of registration: 20190305

Address after: 266555 Xiangjiang 98, Huangdao District, Qingdao City, Shandong Province

Patentee after: CHINA ELECTRONICS TECHNOLOGY INSTRUMENTS Co.,Ltd.

Address before: 233010 No. 726 Huaguang Avenue, Bengbu City, Anhui Province

Patentee before: THE 41ST INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171201

Termination date: 20211008

CF01 Termination of patent right due to non-payment of annual fee