CN105279116B - 基于fpga的ddr控制器及控制方法 - Google Patents
基于fpga的ddr控制器及控制方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information 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控制方法。
背景技术
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:刷新状态的猝发读写判断:当检测到猝发读写时,刷新任务进入到猝发读写状态;如果是单周期读写,直接跳转到空操作状态。
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)
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)
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存储器快速猝发访问的方法及装置 |
-
2015
- 2015-10-08 CN CN201510652050.2A patent/CN105279116B/zh not_active Expired - Fee Related
Patent Citations (5)
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)
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 |