CN105528305B - 一种基于ddr2 sdram的短周期存储方法 - Google Patents
一种基于ddr2 sdram的短周期存储方法 Download PDFInfo
- Publication number
- CN105528305B CN105528305B CN201510882910.1A CN201510882910A CN105528305B CN 105528305 B CN105528305 B CN 105528305B CN 201510882910 A CN201510882910 A CN 201510882910A CN 105528305 B CN105528305 B CN 105528305B
- Authority
- CN
- China
- Prior art keywords
- ddr2
- storage
- read
- write
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008520 organization Effects 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 101100498823 Caenorhabditis elegans ddr-2 gene Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Static Random-Access Memory (AREA)
Abstract
本发明公开了一种基于DDR2 SDRAM(Double Data Rate 2 SDRAM,第二代双倍数据率同步动态随机存储器,简称DDR2)的短周期存储数据的方法。本发明方法:先根据存储速率要求及DDR2型号确定读写短周期及短周期内读写操作执行次数,再根据读写方案及DDR2存储空间设计少行多列的存储结构,最后用户通过MIG(Memory Interface Generator,存储器接口生成器)控制DDR2在短周期内读写操作交替进行,解决了现有方法中读写操作长时间单独执行的存储方法中对于数据连续进出的限制性,提高了DDR2处理读写顺序不一致情况时的数据存取效率。
Description
技术领域
本发明涉及一种DDR2的短周期存储数据的方法,属于高速数据存储领域。
背景技术
在系统的工程实现过程中,有时需要实时处理和存储的数据量很大,必须通过片外存储器配合FPGA使用以达到存储要求。片外存储器须具备大容量和高速存储的特点,从而进一步保证星载接收机的整体性能。DDR2可在核心频率较低的情况下实现较高的数据传输率,并且发热量及功耗低。此外,DDR2中采用了三项新技术:离线驱动调整OCD、片内终结器ODT和前置CAS,这三项新技术保证了内部输出驱动的稳定,抑制了信号干扰现象,并提升了DDR2的读写访问效率[1-3]。基于以上优点,该项目中采用DDR2作为接收机的片外存储器。
DDR2本身结构复杂,操作繁杂,ISE开发环境为Xilinx FPGA提供了IP核MIG,用户可使用MIG生成DDR2存储器的控制器和用户接口,通过控制MIG实现DDR2的读写操作。目前DDR2多用于长时间单独读数据和单独写数据操作。利用DDR2本身特性及突发传输工作模式,用户通过MIG接口对DDR2执行地址控制即可实现高速率存取数据。而在有些系统实现中,存储时要求数据持续写入的同时完成大量数据的读出,此时若将DDR2的存储分为长时间读数据和写数据单独进行,需大容量RAM的配合以便写数据操作持续进行,将导致存储资源急剧增加。基于上述存储要求,提出DDR2的短周期存储方法,将长时间单独读写数据操作分割为短周期内的交替读写操作,使其不仅完成实时高速存取数据,而且节省了大量存储资源。除此之外,针对数据存取顺序不一致的要求,少行多列的存储结构保证了DDR2的读写效率及读写可靠性。
发明内容
本发明提供了一种基于DDR2的短周期存储方法,与现有DDR2存取方法相比,该方法以更少的RAM资源实现数据的持续写入和读出,且针对DDR2读写数据顺序不一致的情况,利用少行列多的存储结构提高了数据存取速率。
为解决上述技术问题,本发明所采用的技术方案是:
步骤一,根据DDR2存储器的型号和工作时钟,分别计算DDR2执行读地址换行和写地址换行时预充电等操作对应的时钟周期数,记为Tr和Tw;
步骤二,根据存储要求计算MIG控制DDR2的数据平均读出速率Rr和平均写入速率Rw,表示平均每个时钟周期读出或写入的存储单元个数;
步骤三,设定DDR2存储短周期对应的时钟周期数T,以及每个短周期内读出和写入DDR2的存储单元个数,分别记为Nr和Nw,使短周期内DDR2的平均读写速率满足存储要求;
步骤四,规划DDR2存储空间,采用多列少行的存储结构;
步骤五,在MIG生成过程中设置DDR2的突发长度Lb,根据Nr和Nw设计突发操作次数及地址换行次数,使每个短周期能完成所有读写操作及换行操作;
步骤六,根据短周期T及每个短周期内突发读写操作次数,按照MIG的时序要求产生对应信号控制DDR2存储器的读写;
步骤七,为使DDR2的实时读写速率与外部要求保持一致,可在写操作前和读操作后添加小容量RAM。
步骤三中要求短周期内DDR2的平均读写速率满足存储要求,则需满足
上式中Rr、Rw由存储要求计算得出,T、Nr和Nw由存储方案设定。
步骤四中存储空间需采用多列少行的结构,以减少读写操作过程中地址换行延迟导致的存储效率下降。其中,列方向最多存储单元个数可根据DDR2存储器的列地址线数量计算得出。
步骤五中突发读操作次数nr及突发写操作次数nw由下式决定:
其中突发长度Lb在MIG生成过程中可设置为4或8。
设置短周期内突发读操作地址换行次数kr及写操作地址行次数kw需满足
T>2nr+2nw+krTr+kwTw
此时DDR2存储器传输数据具备可靠性。
步骤七中RAM的容量设置需参考具体存储方案中T、Nr、Nw等参数。
本发明所达到的有益效果:本发明使用MIG控制DDR2存储器在更少的片内存储资源背景下实现了数据的持续存取,同时使用少行多列的存储结构,使读写数据顺序不一致情况下的存取速率得到显著提高。
附图说明
图1为本发明中DDR2部分存储结构的示意图。
图2为本发明中DDR2整体存储结构的示意图。
图3为基于本发明案例的时序仿真图。
具体实施方式
下面结合附图对本发明作进一步描述。一种基于DDR2的短周期存储数据的方法,包括以下步骤:
步骤一,根据DDR2存储器的型号和工作时钟,分别计算DDR2执行读地址换行和写地址换行时预充电等操作对应的时钟周期数,记为Tr和Tw。
步骤二,根据存储要求计算MIG控制DDR2的数据平均读出速率Rr和平均写入速率Rw,表示平均每个时钟周期读出或写入的存储单元个数。
步骤三,设定DDR2存储短周期对应的时钟周期数T,以及每个短周期内读出和写入DDR2的存储单元个数,分别记为Nr和Nw,使短周期内DDR2的平均读写速率满足存储要求,则需满足
上式中Rr、Rw由存储要求计算得出,T、Nr和Nw由存储方案设定。
步骤四,规划DDR2存储空间,采用多列少行的存储结构以减少读写操作过程中地址换行延迟导致的存储效率下降。其中,列方向存储单元个数可根据DDR2存储器的列地址线数量计算得出。
例如,如矩阵所示,数据按照矩阵列顺序持续写入DDR2,同时将数据按行顺序持续读出DDR2,矩阵Y的第v列元素对应的DDR2存储结构如图1所示。图1中一小格对应DDR2中一个存储单元,存储单元中数据与矩阵中元素一一对应,矩阵中第v列元素[y1,v,y2,v,…,yU,v]T在DDR2存储空间中占p列,其中数值q受到DDR2存储器的列地址线数量r及矩阵中列数量V的限制,满足
q·V≤2r
在此条件下,为减少短周期内DDR2地址换行操作次数,p尽量取较大值。
矩阵Y的第v列共U个元素,假设占据DDR2存储空间的行数量为p,则
其中,表示向上取整。则每一列元素占据DDR2中p行q列的存储空间,存储U个数据后多余存储单元不予操作。如图2所示,每列元素依照图1所示结构存储于DDR2中,按图2中指示箭头顺序对DDR2存储器内数据执行持续读写操作。
步骤五,在MIG生成过程中设置DDR2的突发长度Lb,根据Nr和Nw设计突发操作次数及地址换行次数,使每个短周期能完成所有读写操作及换行操作,其中突发读操作次数nr及突发写操作次数nw由下式决定:
其中突发长度Lb在MIG生成过程中可设置为4或8。
设置短周期内突发读操作地址换行次数kr及写操作地址行次数kw需满足
T>2nr+2nw+krTr+kwTw
此时DDR2存储器传输数据具备可靠性。
步骤六,根据短周期T及每个短周期内突发读写操作次数,按照MIG的时序要求产生对应信号控制DDR2存储器的读写。
步骤七,为使DDR2的实时读写速率与外部要求保持一致,可在写操作前和读操作后添加小容量RAM,RAM的容量设置需参考具体存储方案中T、Nr、Nw等参数。
下面举例说明本发明的可行性,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
例如,选取DDR2型号为MT47H32M16NF-25E,工作时钟为160MHz,用户通过MIG控制DDR2存储器工作在突发传输模式,突发长度Lb设为4。设置读写短周期T为128,突发读操作次数nr为32,读地址换行次数kr为1,突发写操作次数nw为12,读地址换行次数kr为2。假设矩阵中,U为18432,V为40,矩阵中元素均表示16bit数据,需将数据按矩阵Y的列顺序写入,行顺序读出。由于选取的DDR2存储器共10根列地址线,则矩阵中每列元素对应数据占据DDR2存储空间列数量q取24,行数量为18432/24=768。通过MIG控制DDR2按以上方法执行操作,时序仿真如图3所示。由{ras_n,cas_n,we_n}信号可判断出DDR2相应时刻的操作,{010}表示预充电,{011}表示簇激活,{100}表示写操作,{101}表示读操作。溢出标识af_afull和wdf_afull保持“0”状态,表示DDR2可正常执行读写操作。使用本发明中提出的短周期读写方法,DDR2在每128个时钟周期内写入12×4=48个16bit数据,读出32×4=128个16bit数据,实现了DDR2读写数据顺序不一致情况下的持续性存取。
综上所述,本发明使用MIG控制DDR2存储器在更少的片内存储资源背景下实现了数据的持续存取,同时使用少行多列的存储结构提高了读写数据顺序不一致情况下的存取速率。
Claims (5)
1.一种基于DDR2 SDRAM的短周期存储方法,其特征在于:包括以下步骤,
步骤一,根据DDR2存储器的型号和工作时钟,分别计算DDR2执行读地址换行和写地址换行时预充电等操作对应的时钟周期数,记为Tr和Tw;
步骤二,根据数据存储速率要求,包括数据从DDR2中平均读出速率和数据向DDR2里平均写入速率两方面,确定MIG控制下的DDR2存储器平均每个时钟周期最少需要读出或写入的存储单元个数,分别记为Rr和Rw;
步骤三,根据数据存储时间要求,包括一组连续突发数据读出操作的持续时钟周期数和一组连续突发数据写入操作的持续时钟周期数两方面,以及DDR2存储过程中由预充电等操作带来的固有时延,设定以时钟周期为单位的存储短周期T;一组连续突发数据读出操作的持续时钟周期数内所需读出的数据个数即为每个存储短周期T内读出的存储单元个数,记为Nr;一组连续突发数据写入操作的持续时钟周期数内所需写入的数据个数即为每个存储短周期T内写入的存储单元个数,记为Nw;
步骤四,规划DDR2存储空间,采用多列少行的存储结构;依据一个存储短周期T内DDR2读写操作少换行的原则,由DDR2存储器的列地址线数量r和数据矩阵行数U和列数V计算得出一个存储短周期T内写入数据占据DDR2存储单元的列数q和行数p;
步骤五,在MIG生成过程中设置DDR2的突发长度Lb,再结合参数Nr和Nw计算得出一个存储短周期T内的突发读写操作次数nr和nw;根据参数q和p计算得出一个存储短周期T内读写操作地址换行次数kr和kw;
步骤六,根据存储短周期T,每个存储短周期T内突发读写操作次数nr和nw,以及每个存储短周期T内读写操作地址换行次数kr和kw,按照MIG的时序要求产生对应信号控制DDR2存储器的读写;
步骤七,为使DDR2的实时读写速率与外部要求保持一致,在写操作前和读操作后添加处于DDR2外部的小容量RAM。
2.根据权利要求1所述的一种基于DDR2 SDRAM的短周期存储方法,其特征在于:步骤三中参数T和Nr及Nw需满足条件
<mrow>
<mfrac>
<msub>
<mi>N</mi>
<mi>r</mi>
</msub>
<mi>T</mi>
</mfrac>
<mo>&GreaterEqual;</mo>
<msub>
<mi>R</mi>
<mi>r</mi>
</msub>
<mo>,</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>w</mi>
</msub>
<mi>T</mi>
</mfrac>
<mo>&GreaterEqual;</mo>
<msub>
<mi>R</mi>
<mi>w</mi>
</msub>
</mrow>
保证DDR2的存储操作达到数据存储速率要求。
3.根据权利要求1所述的一种基于DDR2 SDRAM的短周期存储方法,其特征在于:步骤四中存储空间需采用多列少行的结构,以减少读写操作过程中地址换行延迟而提高存储效率;q取满足q·V≤2r条件的较大整数值,表示向上取整,其中采用矩阵形式来表示所需存储数据时,U和V分别表示数据矩阵的行数和列数,r为DDR2存储器的列地址线数量。
4.根据权利要求1所述的一种基于DDR2 SDRAM的短周期存储方法,其特点在于:步骤五中一个存储短周期T内突发读操作次数nr及突发写操作次数nw由下式计算得到:
<mrow>
<msub>
<mi>n</mi>
<mi>r</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>r</mi>
</msub>
<msub>
<mi>L</mi>
<mi>b</mi>
</msub>
</mfrac>
<mo>,</mo>
<msub>
<mi>n</mi>
<mi>w</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>w</mi>
</msub>
<msub>
<mi>L</mi>
<mi>b</mi>
</msub>
</mfrac>
</mrow>
其中突发长度Lb在MIG生成过程中设置为4或8;一个存储短周期T内突发读操作换行次数kr为1,突发写操作地址换行次数kw为表示向上取整;由于DDR2存储器的一次读或写操作需要占用2个时钟周期,因此根据步骤三中存储短周期T的时长设定条件,参数T、nr、nw、kr和kw需满足条件
T>2nr+2nw+krTr+kwTw
保证DDR2存储器数据传输的可靠性。
5.根据权利要求1中所述的一种基于DDR2 SDRAM的短周期存储方法,其特征在于:步骤七中RAM的存储深度、数据位宽和读写时钟设置需参考具体参数T、Nr、Nw。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882910.1A CN105528305B (zh) | 2015-12-04 | 2015-12-04 | 一种基于ddr2 sdram的短周期存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882910.1A CN105528305B (zh) | 2015-12-04 | 2015-12-04 | 一种基于ddr2 sdram的短周期存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528305A CN105528305A (zh) | 2016-04-27 |
CN105528305B true CN105528305B (zh) | 2018-04-13 |
Family
ID=55770546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510882910.1A Expired - Fee Related CN105528305B (zh) | 2015-12-04 | 2015-12-04 | 一种基于ddr2 sdram的短周期存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528305B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733577B (zh) * | 2017-04-21 | 2021-10-22 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN111522753B (zh) * | 2019-12-11 | 2022-12-09 | 中国船舶重工集团公司第七0九研究所 | 一种基于状态机的sdram控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1993099A2 (en) * | 2006-12-22 | 2008-11-19 | Fujitsu Limited | Memory device, memory controller and memory system |
CN103299265A (zh) * | 2011-03-25 | 2013-09-11 | 株式会社日立制作所 | 存储系统和存储区域分配方法 |
CN104881666A (zh) * | 2014-02-27 | 2015-09-02 | 王磊 | 一种基于fpga的实时二值图像连通域标记实现方法 |
-
2015
- 2015-12-04 CN CN201510882910.1A patent/CN105528305B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1993099A2 (en) * | 2006-12-22 | 2008-11-19 | Fujitsu Limited | Memory device, memory controller and memory system |
CN103299265A (zh) * | 2011-03-25 | 2013-09-11 | 株式会社日立制作所 | 存储系统和存储区域分配方法 |
CN104881666A (zh) * | 2014-02-27 | 2015-09-02 | 王磊 | 一种基于fpga的实时二值图像连通域标记实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105528305A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100538886C (zh) | 多维数组在动态随机存取存储器上的快速读写方法和装置 | |
CN111984563B (zh) | 基于fpga的ddr3读写控制器及矩阵转置实现方法 | |
CN103019974B (zh) | 存储器访问处理方法及控制器 | |
WO2017092282A1 (zh) | 一种用于DRAM或eDRAM刷新的装置及其方法 | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
CN102945213A (zh) | 一种基于fpga的乱序内存控制器及其实现方法 | |
US20170236566A1 (en) | Data transfer for multi-loaded source synchrous signal groups | |
CN105528305B (zh) | 一种基于ddr2 sdram的短周期存储方法 | |
CN101645305B (zh) | 静态随机存取存储器的自动跟踪数据 | |
CN105095122B (zh) | 控制内存芯片的方法、芯片控制器和内存控制器 | |
CN104575589B (zh) | 一种高可利用率抗辐射的sram自刷新电路及其自刷新方法 | |
US8520460B2 (en) | Semiconductor memory device and access method | |
CN111338983B (zh) | 一种高速数据缓存结构及方法 | |
WO2009125572A1 (ja) | メモリ制御回路及びメモリ制御方法 | |
CN102751966B (zh) | 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法 | |
CN113740851B (zh) | 一种分时复用单ddr的sar成像数据处理系统 | |
CN113823336B (zh) | 用于存算一体的数据写入电路 | |
CN102497287A (zh) | 一种以太网交换芯片中实现节能统计的方法及系统 | |
CN102033832B (zh) | 一种同步动态存储器访存控制方法 | |
WO2022178772A1 (zh) | 一种存储器的刷新方法、存储器、控制器及存储系统 | |
CN203825614U (zh) | 计算机用内存器 | |
CN118606222B (zh) | 一种多用户操作的复杂电磁信号样本管理方法及计算机装置 | |
CN110456983A (zh) | 面向深度学习芯片稀疏计算的数据存储结构和方法 | |
CN107368440B (zh) | 一种同位控制猝发总线的控制方法 | |
CN108845765A (zh) | 一种nand数据读取方法、系统、设备及存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 Termination date: 20211204 |