CN100370786C - 一种数据处理芯片及其数据包的包号生成方法 - Google Patents
一种数据处理芯片及其数据包的包号生成方法 Download PDFInfo
- Publication number
- CN100370786C CN100370786C CNB2004100065106A CN200410006510A CN100370786C CN 100370786 C CN100370786 C CN 100370786C CN B2004100065106 A CNB2004100065106 A CN B2004100065106A CN 200410006510 A CN200410006510 A CN 200410006510A CN 100370786 C CN100370786 C CN 100370786C
- Authority
- CN
- China
- Prior art keywords
- packet
- count value
- byte count
- bale
- circuit
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据处理芯片,包含:输入控制模块、包号产生模块、缓冲器、处理器、输出控制模块和条件选择模块。本发明同时公开了一种数据处理芯片的数据包包号生成方法,包括:a.数据处理芯片接收数据,并用字节计数值对接收的数据包的字节进行计数;b.判断数据包字节计数值是否与预定特定值相等或接收到数据包的包结束标志,如果字节计数值与预定特定值相等或接收到数据包的包结束标志且字节计数值小于或等于预定特定值,执行步骤c;如果字节计数值与预定特定值不相等且没有接收到数据包的包结束标志,返回步骤a;c.为数据包分配包号。本发明数据处理芯片和数据包包号生成方法可以减少对芯片缓存的需求量,增加对长数据包的处理能力。
Description
技术领域
本发明涉及数据处理芯片数据传输领域,特别是涉及一种数据处理芯片及其数据包的包号生成方法。
背景技术
目前,数据处理芯片得到了广泛的应用,例如用于网络中的网络处理器(NP)、数字信号处理器(DSP)、一些处理数据的专用集成电路(ASIC)、可编程逻辑器件(EPLD/FPGA)等。它的作用主要是对输入的一系列数据包进行一定的处理然后发送到下一级电路,输入的数据包的格式以及对数据包的处理方式也是根据应用的不同而不同。例如,对于以太网二层处理芯片,需要查找端口表,更新包头中的目的介质访问控制(MAC)地址和源MAC地址;对于网络协议(IP)包三层处理芯片,需要查找路由表,更新下一跳IP地址、生存时间(TTL)等字段。
在数据处理芯片中,为了保证并行处理中数据包的不乱序,即输入数据和输出数据的顺序一致,经常对接收到的数据包打上包号标记,这样在输出时根据包号来保证输出的顺序。
现有技术生成包号的方法是在每次接收到数据包的包结束标志时,向包号产生模块申请分配一个包号。图1是现有技术数据处理芯片的结构示意图,其包括:输入控制模块101、包号产生模块102、缓存器103、处理器104和输出控制模块105。其中,芯片复位后,输入控制模块101开始接收数据,同时将接收到的数据发送给缓存器103。输入控制模块101根据是否收到数据包的包结束标志设置包尾指示,并将此包尾指示以及该数据包在缓存器103的地址输出给包号产生模块102以申请分配一个包号。包尾指示是由输入控制模块101设置的,通常是用1来表示有效,0表示无效,输入控制模块101在收到数据包的包结束标志时,将包尾指示置为有效。
包号产生模块102收到有效的包尾指示及地址后,分配一个包号,然后向处理器104发出处理请求,同时把包号和该包在缓存器103的地址一起传递给处理器104的某进程。处理器104收到处理请求后,向缓存器103发出读请求,缓存器103接收到读请求后就根据读请求中的地址将该数据包的包头提交给处理器104进行处理,同时将该数据包净荷发送给输出控制模块105。
处理器104中相应的进程对包头处理完后,根据包号的顺序将各个数据包的新包头依次发送到输出控制模块105,输出控制模块105把从缓存器103收到的数据包净荷部分跟在该包头后面一起转发出去。由于处理器104是可以并行处理多个进程的,因此,包号的主要作用就是保证处理器104按照包号的顺序将各个数据包包头依次发送到输出控制模块105。
这种方法的缺点是,每次需要等到整个包接收完了才能分配一个包号,然后才开始对数据包进行处理。如果遇到长数据包,就需要将长数据包完全接收到缓存器中之后再生成包号,然后触发处理器进行处理,这样不仅需要较大的缓存器而且效率较低,如果遇到大于芯片缓存的数据包就无法处理了。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据处理芯片,该芯片对缓存的需求量小,且对长数据包具有较高的处理能力。
本发明的另一个主要目的在于一种数据包的包号生成方法,以减少对芯片缓存的需求量,增加对长数据包的处理能力,并能提高数据处理的效率。
根据上述目的的一个方面,本发明提供了一种数据处理芯片,包含:输入控制模块、包号产生模块、缓冲器、处理器、输出控制模块;所述输入控制模块接收数据转发给缓冲器,并根据是否接收到数据包包结束标识设置包尾指示是否有效,且将数据包在缓冲器的地址发送给包号产生模块;关键是所述数据处理芯片进一步包含条件选择模块;
其中,所述输入控制模块进一步对数据包的字节进行计数,并将字节计数值和包尾指示一起发送给条件选择模块;
所述条件选择模块在字节计数值与预定特定值相等或包尾指示有效且字节计数值小于或等于预定特定值,向包号产生模块发送的条件信号为有效,在字节计数值与预定特定值不相等且包尾指示无效时向包号产生模块发送的条件信号为无效;
所述包号产生模块判断收到条件信号是否有效,在收到条件信号有效时,为数据包分配一个包号,并将该包号和数据包在缓冲器的地址发送给处理器请求处理。
上述方案中,所述的条件选择模块包含:逻辑与电路、逻辑或电路、普通比较电路和等值比较电路;
所述普通比较电路和等值比较电路同时接收字节计数值;普通比较电路判断该字节计数值是否小于或等于预定特定值,其比较结果送到逻辑与电路的一输入端;
逻辑与电路的另一输入端接收输入控制模块发送的包尾指示;逻辑与电路对普通比较电路输出的比较结果和包尾指示进行逻辑与,其结果输出到逻辑或电路的一输入端;
等值比较电路判断接收的字节计数值是否等于寄存器设置的特定值,并将比较结果输出到逻辑或电路的另一输入端;
逻辑或电路对等值比较电路输出的比较结果和逻辑与电路输出的结果进行逻辑或,其结果作为条件信号输出给包号产生模块。
上述方案中,如果所述的包尾指示0为有效,则所述的条件选择模块可以进一步包含一个逻辑非门电路;其连接在输入控制模块和逻辑与电路之间,将输入控制模块发出的包尾指示进行逻辑非,并将逻辑非后的包尾指示转发给逻辑与电路。
对于在包尾含有数据包的校验信息的情况,所述的输出控制模块可以进一步包含数据包校验电路,其在数据包输出之前对数据包进行校验。
根据上述目的的另一个方面,本发明提供了一种数据处理芯片的数据包包号生成方法,该方法包括以下步骤:
a.数据处理芯片接收数据,并用字节计数值对接收的数据包的字节进行计数;
b.判断数据包字节计数值是否与预定特定值相等或接收到数据包的包结束标志,如果字节计数值与预定特定值相等或接收到数据包的包结束标志且字节计数值小于或等于预定特定值,则执行步骤c;如果字节计数值与预定特定值不相等且没有接收到数据包的包结束标志,则返回步骤a;
c.为数据包分配包号。
其中,步骤a所述的计数方法为:判断接收到的数据是否为数据包的包起始标志,如果是,则字节计数值清零,并将字节计数值加1;否则,直接将字节计数值加1。
上述方案中,所述步骤b可以包括以下步骤:
b1.判断是否接收到数据包的包结束标志,如果是则执行步骤b2;否则,执行步骤b3;b2.包尾指示置为有效,并判断字节计数值是否小于或等于预定的特定值;如果是,则执行步骤c;否则返回步骤a;
b3.包尾指示置为无效,并判断字节计数值是否等于预定的特定值;如果是,则执行步骤c;否则返回步骤a。
所述步骤c进一步包括:将包号值加1;该加1后的包号值用于分配给下一个数据包。
上述方案中,所述的特定值大于或等于处理器需要处理的数据段的字节数。对于处理器需要处理的数据段位于包头的数据包,所述的特定值至少设置为包头的长度。
由上述方案可以看出,本发明的关键在于:在数据处理芯片中增加条件选择模块,使得包号产生模块能够同时根据包结束标志和已经接收到的字节数两个因素来分配包号。
因此,本发明所提供的这种数据处理芯片及其数据包的包号生成方法,处理器可以在缓存器没有收到完整的数据包时,就开始对该数据包的包头进行处理,有效地解决了对芯片缓存大小的依赖,提高了数据处理的效率。
附图说明
图1为现有技术数据处理芯片的结构示意图;
图2为本发明数据处理芯片的结构示意图;
图3为本发明数据处理芯片的数据包包号生成方法流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明同时根据包结束标志和已经接收到的字节数两个因素来分配包号。图2为本发明数据处理芯片的结构示意图,其包含:输入控制模块201、包号产生模块202、缓存器203、处理器204、输出控制模块205以及条件选择模块210。其中条件选择模块210包含:逻辑与电路211、逻辑或电路213、普通比较电路212和等值比较电路214。
如图2所示,芯片复位后,输入控制模块201开始接收数据,同时将接收到的数据发送给缓存器203。输入控制模块201将收到数据包在缓存器203的首地址输出给包号产生模块202。输入控制模块201在接收到数据包起始标志时开始对字节数进行计数,且输入控制模块201将根据是否收到数据包结束标志设置的包尾指示,以及该字节计数值发送给条件选择模块210。
条件选择模块210的普通比较电路212和等值比较电路214同时接收字节计数值。普通比较电路212判断该计数值是否小于或等于寄存器设置的特定值,其比较结果送到逻辑与电路211的一输入端;逻辑与电路211的另一输入端接收输入控制模块201发送的包尾指示,逻辑与电路211对普通比较电路212输出的结果和包尾指示进行逻辑与,其结果输出到逻辑或电路213的一输入端。
等值比较电路214判断接收的字节计数值是否等于寄存器设置的特定值,并将比较结果输出到逻辑或电路213的另一输入端,逻辑或电路213对等值比较电路214输出的比较结果和逻辑与电路211输出的结果进行逻辑或,其结果输出给包号产生模块202。
如果包号产生模块202收到的逻辑或电路213输出的结果有效,比如为1,也就是收到完整数据包或数据包中特定值的字节时,则给该数据包分配包号0,然后包号产生模块202向处理器204发出处理请求,同时把包号和该包在缓存器203的地址一起传递给处理器204的某进程。
处理器204收到处理请求后,向缓存器203发出读请求,缓存器203接收到读请求后就根据读请求中的地址将该数据包的包头信息提交给处理器204进行处理,同时将该数据包的净荷发送给输出控制模块205。
处理器204中相应的进程对包头处理完后,根据包号的顺序将各个数据包的新包头依次发送到输出控制模块205,输出控制模块205把从缓存器203收到的数据包净荷部分跟在包头后面一起转发出去。也就是说,处理器204不仅可以在收到完整的数据包后进行处理,也可以在缓存器203收到数据包中特定值的字节时,对该数据包的包头进行处理,包头处理后,该数据包的净荷就直接跟着前面的新的数据包包头发送出去。
类似的,包号产生模块202为从输入控制模块201接收到的第二个数据包分配包号1,依次类推,分配一个包号后,后面的包号自动加1,这样连续接收到的数据包被分配到连续不同的包号,就保证了不出现具有相同包号的数据包在芯片中被处理的情况。
本实施例的条件选择模块210是针对包尾指示1为有效的情况进行设置的,如果是0为有效,则可以在包尾指示进入逻辑与电路211前加一个逻辑非门电路,也可以选择其他逻辑电路代替逻辑与电路211、逻辑或电路213。
基于上述装置,图3为本发明数据处理芯片的数据包包号生成方法流程图,其包括以下步骤:
步骤301~304、芯片的输入控制模块接收数据,判断接收到的数据是否为数据包的包起始标志,如果是,则输入控制模块中的字节计数值清零,并开始对接收到的数据包字节进行计数,将字节计数值加1;否则,直接将字节计数值加1;
步骤305、判断是否接收到此数据包的包结束标志,如果是,则执行步骤306~307;否则,执行步骤308~309;
步骤306~307、包尾指示置1,并判断字节计数值是否小于或等于预先设定的特定值;如果是,则执行步骤310;否则,返回步骤301;
步骤308~309、包尾指示置0,并判断字节计数值是否等于预先设定的特定值;如果是,则执行步骤310;否则,返回步骤301;
步骤310、为该数据包分配包号,并将包号值加1,返回步骤301。
其中,特定值可以通过寄存器设置,并根据数据包的类别来确定。一般地,根据应用不同设置不同的特定值的原则是:保证处理器需要处理的数据段被接收到之后才分配包号。处理器需要处理的数据段通常位于包头。例如,对于只做以太网二层处理的芯片,二层协议为以太网,数据包的包头长度为8字节,所以特定值可以设置为8;对于三层处理芯片,三层协议为IPV4,则包头长度为8+20=28字节,所以特定值可以设置为28。
以下举一个具体的例子来说明。
例如,特定值设置为28,数据包1的长度为15,数据包2的长度为60。芯片复位后,包号计数器的值为0,输入控制模块201开始接收数据包,当接收到数据包1的包起始标志时,芯片的输入控制模块201开始计数,当计数到15时,输入控制模块201接收到包结束标志,这时包尾指示置1,并且满足15小于28的条件,则包号产生模块202给数据包1分配一个包号0,这时包号计数器的值自动加1为1,然后处理器204从缓存器203中读取数据包1的包头部分开始处理;当输入控制模块201接收到数据包2的包起始标志时,字节计数值清零,芯片的输入控制模块201重新开始计数,当计数到28时,没有接收到包结束标志,这时包尾指示置0,但计数值等于特定值28,则包号产生模块206给数据包2分配一个包号1,包号计数器的值自动加1为2,然后处理器204从缓存器203中读取数据包2的包头部分开始处理;同时输入控制模块201继续接收数据包2的其它数据,当输入控制模块201接收到数据包2的特定值之后的其它数据和包结束标志时,由于仍然对其后面的字节进行计数,所以其计数值必定大于28,则不会给数据包2再分配一个包号;当输入控制模块201接收到下一个数据包的包起始标志时,字节计数值清零。按照这样,包号产生模块202给其它数据包分配包号。
可见,对长数据包的处理,是在接收到一定长度的字节数后分配当前包的包号,然后触发处理器从缓存器中读取接收到的数据包的包头进行处理,这样边处理边接收,提高了数据处理的效率,同时也减小了对缓存器大小的依赖。
因此,本发明适用的场合主要有IP包的处理、以太网包的处理、同步光纤网络上的信息包(POS)包的处理等,这些数据包的结构包括包头和数据净荷,并且需要处理的数据段位于包头部分,所以这些应用都是在接收完包头后即可开始处理的应用,即只需处理包头信息。对于在包尾含有数据包的校验信息的情况,本发明同样可以适用,处理的方法是在输出控制模块中增加一个硬件的校验电路,数据包经过校验电路,边发送边计算校验和,发送完最后一个字节后整个包的校验和也计算完成了,直接把校验和添加到包尾发送即可。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种数据处理芯片,包含:输入控制模块、包号产生模块、缓冲器、处理器、输出控制模块;所述输入控制模块接收数据转发给缓冲器,并根据是否接收到数据包包结束标识设置包尾指示是否有效,且将数据包在缓冲器的地址发送给包号产生模块;其特征在于:
所述数据处理芯片进一步包含条件选择模块;
所述输入控制模块进一步对数据包的字节进行计数,并将字节计数值和包尾指示一起发送给条件选择模块;
所述条件选择模块在字节计数值与预定特定值相等或包尾指示有效且字节计数值小于或等于预定特定值,向包号产生模块发送的条件信号为有效,在字节计数值与预定特定值不相等且包尾指示无效时向包号产生模块发送的条件信号为无效;
所述包号产生模块判断收到条件信号是否有效,在收到条件信号有效时,为数据包分配一个包号,并将该包号和数据包在缓冲器的地址发送给处理器请求处理。
2.根据权利要求1所述的数据处理芯片,其特征在于,所述的条件选择模块包含:逻辑与电路、逻辑或电路、普通比较电路和等值比较电路;
所述普通比较电路和等值比较电路同时接收字节计数值;
普通比较电路判断该字节计数值是否小于或等于预定特定值,其比较结果送到逻辑与电路的一输入端;
逻辑与电路的另一输入端接收输入控制模块发送的包尾指示;逻辑与电路对普通比较电路输出的比较结果和包尾指示进行逻辑与,其结果输出到逻辑或电路的一输入端;
等值比较电路判断接收的字节计数值是否等于寄存器设置的特定值,并将比较结果输出到逻辑或电路的另一输入端;
逻辑或电路对等值比较电路输出的比较结果和逻辑与电路输出的结果进行逻辑或,其结果作为条件信号输出给包号产生模块。
3.根据权利要求2所述的数据处理芯片,其特征在于,如果所述的包尾指示0为有效,则所述的条件选择模块进一步包含一个逻辑非门电路;其连接在输入控制模块和逻辑与电路之间,将输入控制模块发出的包尾指示进行逻辑非,并将逻辑非后的包尾指示转发给逻辑与电路。
4.根据权利要求1所述的数据处理芯片,其特征在于,所述的输出控制模块进一步包含数据包校验电路,其在数据包输出之前对数据包进行校验。
5.一种数据处理芯片的数据包包号生成方法,其特征在于,该方法包括以下步骤:
a.数据处理芯片接收数据,并用字节计数值对接收的数据包的字节进行计数;
b.判断数据包字节计数值是否与预定特定值相等或接收到数据包的包结束标志,如果字节计数值与预定特定值相等或接收到数据包的包结束标志且字节计数值小于或等于预定特定值,则执行步骤c;如果字节计数值与预定特定值不相等且没有接收到数据包的包结束标志,则返回步骤a;
c.为数据包分配包号。
6.根据权利要求5所述的方法,其特征在于,步骤a所述的计数方法为:判断接收到的数据是否为数据包的包起始标志,如果是,则字节计数值清零,并将字节计数值加1;否则,直接将字节计数值加1。
7.根据权利要求5所述的方法,其特征在于,所述步骤b包括以下步骤:
b1.判断是否接收到数据包的包结束标志,如果是则执行步骤b2;否则,执行步骤b3;
b2.包尾指示置为有效,并判断字节计数值是否小于或等于预定的特定值;如果是,则执行步骤c;否则返回步骤a;
b3.包尾指示置为无效,并判断字节计数值是否等于预定的特定值;如果是,则执行步骤c;否则返回步骤a。
8.根据权利要求5所述的方法,其特征在于,所述步骤c进一步包括:将包号值加1;该加1后的包号值用于分配给下一个数据包。
9.根据权利要求5所述的方法,其特征在于,所述的特定值大于或等于处理器需要处理的数据段的字节数。
10.根据权利要求9所述的方法,其特征在于,对于处理器需要处理的数据段位于包头的数据包,所述的特定值至少设置为包头的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100065106A CN100370786C (zh) | 2004-03-04 | 2004-03-04 | 一种数据处理芯片及其数据包的包号生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100065106A CN100370786C (zh) | 2004-03-04 | 2004-03-04 | 一种数据处理芯片及其数据包的包号生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1665217A CN1665217A (zh) | 2005-09-07 |
CN100370786C true CN100370786C (zh) | 2008-02-20 |
Family
ID=35036110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100065106A Expired - Fee Related CN100370786C (zh) | 2004-03-04 | 2004-03-04 | 一种数据处理芯片及其数据包的包号生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100370786C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544787B (zh) * | 2012-07-11 | 2017-05-17 | 北京旋极信息技术股份有限公司 | 报税盘 |
WO2019104688A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳市柔宇科技有限公司 | 手写板的输入数据处理方法、电子设备以及存储介质 |
CN113655737B (zh) * | 2021-06-29 | 2023-05-26 | 北京峰智睿联科技有限公司 | 一种经can传输的车载电子控制器快速升级系统与方法 |
CN113872886B (zh) * | 2021-09-07 | 2024-03-26 | 杭州迪普信息技术有限公司 | 一种报文封装的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02143639A (ja) * | 1988-11-24 | 1990-06-01 | Nec Corp | パケット長変換方式 |
JPH04245833A (ja) * | 1991-01-31 | 1992-09-02 | Pioneer Electron Corp | 情報信号伝送システム |
-
2004
- 2004-03-04 CN CNB2004100065106A patent/CN100370786C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02143639A (ja) * | 1988-11-24 | 1990-06-01 | Nec Corp | パケット長変換方式 |
JPH04245833A (ja) * | 1991-01-31 | 1992-09-02 | Pioneer Electron Corp | 情報信号伝送システム |
Also Published As
Publication number | Publication date |
---|---|
CN1665217A (zh) | 2005-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7050394B2 (en) | Framer | |
CN100409646C (zh) | 用策略流实现不同因特网协议数据包转发的方法和设备 | |
EP1157522B1 (en) | Method and apparatus for load distribution depending on the communication flows | |
EP1166520B1 (en) | Method and apparatus for managing a network flow in a high performance network interface | |
US7408957B2 (en) | Selective header field dispatch in a network processing system | |
US8139576B2 (en) | Network routing apparatus | |
US7190695B2 (en) | Flexible application of mapping algorithms within a packet distributor | |
TWI313118B (en) | Cut-through switching in a network edvice | |
US20150023351A1 (en) | Method and apparatus for performing link aggregation | |
US20030231627A1 (en) | Arbitration logic for assigning input packet to available thread of a multi-threaded multi-engine network processor | |
US20010039580A1 (en) | Network monitoring system with built-in monitoring data gathering | |
JP2002541732A5 (zh) | ||
JP2002541732A (ja) | バルクデータトランスファのためのサービスアジャストメントの自動検出方法 | |
JP2001230817A (ja) | ルートルックアップおよびパケット分類要求のための提起および応答アーキテクチャ | |
CN101141390A (zh) | 一种新型自定义以太网带外数据包过滤的方法及装置 | |
EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
US6483840B1 (en) | High speed TCP/IP stack in silicon | |
JP2005012381A (ja) | データ転送装置及びその方法並びにそれを用いたデータ通信システム及びプログラム | |
WO2002005485A2 (en) | Apparatus and method for efficient hashing in networks | |
CN100420238C (zh) | 一种ip报文分片重组的方法 | |
CN100370786C (zh) | 一种数据处理芯片及其数据包的包号生成方法 | |
US6157617A (en) | Method and system of network packet accounting | |
US7002979B1 (en) | Voice data packet processing system | |
JP4209186B2 (ja) | パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080220 Termination date: 20150304 |
|
EXPY | Termination of patent right or utility model |