CN101895460B - Network packet receiving management method and network control circuit with network packet receiving management function - Google Patents

Network packet receiving management method and network control circuit with network packet receiving management function Download PDF

Info

Publication number
CN101895460B
CN101895460B CN200910145420A CN200910145420A CN101895460B CN 101895460 B CN101895460 B CN 101895460B CN 200910145420 A CN200910145420 A CN 200910145420A CN 200910145420 A CN200910145420 A CN 200910145420A CN 101895460 B CN101895460 B CN 101895460B
Authority
CN
China
Prior art keywords
block
packet
network
network packet
descriptor
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.)
Active
Application number
CN200910145420A
Other languages
Chinese (zh)
Other versions
CN101895460A (en
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.)
JMICRON TECHNOLOGY Corp
Jmicron Tech Corp
Original Assignee
JMICRON TECHNOLOGY Corp
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 JMICRON TECHNOLOGY Corp filed Critical JMICRON TECHNOLOGY Corp
Priority to CN200910145420A priority Critical patent/CN101895460B/en
Publication of CN101895460A publication Critical patent/CN101895460A/en
Application granted granted Critical
Publication of CN101895460B publication Critical patent/CN101895460B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a network packet receiving management method and a network control circuit with a network packet receiving management function. The method comprises the following steps: providing a buffer unit comprising a plurality of data blocks with the number of the first packets and a plurality of data blocks of the number of the second packets, wherein a plurality of data blocks with the number of the first packets are used for respectively storing a plurality of first network packets according to a first array data structure which contains a plurality of first packet description descriptors corresponding to the number of the first packet, and a plurality of data blocks with the number of the second packet do not correspond to any packet descriptor; and modifying the first packet descriptors corresponding to the first data blocks into a designated second data blocks not corresponding to any packet descriptor.

Description

Network packet receiving management method and network control circuit with network packet receiving management function
Technical field
The invention relates to a kind of network packet receiving management method with and relevant apparatus, refer to especially a kind of network packet receiving management method based on the data array structure with and relevant apparatus.
Background technology
Network control chip (Network Interface Controller; NIC) be to be used for when an electronic installation is connected with a network; A discernible address is provided and serves as communication interface between the two; After this electronic installation success received a network packet by this network, this network control chip can be uploaded to this network packet one processing unit of this electronic installation and receive the network packet by this processing unit passback.The data structure that network control chip adopted now; Generally speaking in the majority with serial (linked-list) data structure or array (array) data structure; The serial data structure is on a network packet that receives, to indicate this network packet previous, back one or the address of the network packet in front and back; Thus, the order of uploading when order and this network control chip of the passback of this processing unit still can be found out alignment sequence of data not simultaneously easily; Yet; The address of network packet before and after the serial data structural disadvantages is to need more system resources to handle and store and is used for to indicate, the array data structure has then been used more simple structure, only needs storage area and the system resource of a little; But the order that its shortcoming is to upload when the order of this processing unit passback and this network control chip is not simultaneously, can face the problem of out-of-sequence (out of order) and causes the decline of interface service efficiency.
This is with reference to Fig. 1, and Fig. 1 is based on the operation chart of the network packet receiving management method of array data structure in the prior art.An array A1 has four data block DB1~DB4; Indicate by four array packet descriptor Da1~Da4 respectively; When this network control chip after a network successfully receives network packet; Can deposit network packet in array A1 in regular turn singly, the block DB4 that is indicated as last array packet descriptor Da4 also deposits network packet in, and the block DB1 that then from the beginning brings into use array packet descriptor Da1 to be indicated again comes storage network to divide into groups.After array A1 was filled with network packet Pa1~Pa4 and is uploaded at least one processor 105 in regular turn, the network packet Pa1 ' that disposes~Pa4 ' maybe not can return in regular turn.For instance; The network packet that disposes returns to this network control chip with the order of Pa1 ', Pa3 ', Pa4 ', Pa2 '; Network packet Pa1 ' can leave the block DB1 that array packet descriptor Da1 is indicated smoothly in; But because the block DB2 that array packet descriptor Da2 is indicated is used for storage network grouping Pa2 '; Even network packet Pa3 ' that disposes and Pa4 ' have been stored in a cushion space 110, after still need waiting the network packet Pa2 ' that disposes successfully to receive to store, could use array packet descriptor Da3 and Da4 the block DB3 and the DB4 of sign come storage network grouping Pa3 ' and Pa4 ' respectively.In this example, the network packet Pa2 ' of passback can not cause array packet descriptor Da2 in reception mechanism, to form a bubble (bubble) in regular turn, thereby reduces whole receiving efficiency.
Summary of the invention
One of the object of the invention provide a kind of network packet receiving management method based on the array data structure with and relevant network control circuit; Divide into groups out-of-sequence problem and simplify hardware interface in order to overcome; Thus, just can improve system effectiveness and reduce hardware cost.
According to one side of the present invention, it provides a kind of network packet receiving management method.This network packet receiving management method includes following steps: a buffer cell is provided; It includes a plurality of block with one first grouping number and a plurality of block with one second grouping number at least; These a plurality of block that wherein have this first grouping number are to be used for storing a plurality of first network packet respectively according to one first array data structure (Array Data Structure); This first array data structure includes a plurality of first packet descriptors (descriptor) that should the first grouping number; These a plurality of block with this first grouping number are to correspond to this a plurality of first packet descriptors respectively, and these a plurality of block with this second grouping number do not correspond to any packet descriptor; And when having one first block that corresponds to one first packet descriptor successfully to receive one first network packet in this buffer cell, will change into this first packet descriptor that should first block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
According to another aspect of the present invention, it provides a kind of network control circuit with network packet receiving management function.This network control circuit includes a buffer cell and a processing unit.This buffer cell includes a plurality of block with one first grouping number and a plurality of block with one second grouping number at least; These a plurality of block that wherein have this first grouping number are to be used for storing a plurality of first network packet respectively according to one first array data structure (ArrayData Structure); This first array data structure includes a plurality of first packet descriptors (descriptor) that should the first grouping number; These a plurality of block with this first grouping number are to correspond to this a plurality of first packet descriptors respectively, and these a plurality of block with this second grouping number do not correspond to any packet descriptor.This processing unit is coupled to this buffer cell; When being used to have in this buffer cell one first block that corresponds to one first packet descriptor successfully to receive one first network packet, will changing into this first packet descriptor that should first block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
Description of drawings
Fig. 1 is based on the operation chart of the network packet receiving management method of array data structure in the prior art.
Fig. 2 is the sketch map of an embodiment of network control circuit of the present invention.
Fig. 3 can be changed the array packet descriptor into indicate an idle data block operation chart for the processing unit in the network control circuit by a block.
Fig. 4 is the sketch map of another embodiment of network control circuit of the present invention.
Embodiment
Please with reference to Fig. 2, Fig. 2 is the sketch map of an embodiment of network control circuit of the present invention.In present embodiment, (for example: a processor) 250 are connected, and network control circuit 200 includes (but a being not limited to) buffer cell 210 and a processing unit 220 for network control circuit 200 and a network 230 and a terminal unit.The function of buffer cell 210 and processing unit 220 can be summarized as follows with running briefly.Buffer cell 210 includes a plurality of block with one first grouping number and a plurality of block with one second grouping number at least; These a plurality of block that wherein have this first grouping number are to be used for storing a plurality of first network packet respectively according to one first array data structure; This first array data structure includes a plurality of first packet descriptors that should the first grouping number; These a plurality of block with this first grouping number are to correspond to this a plurality of first packet descriptors respectively, and these a plurality of block with this second grouping number do not correspond to any packet descriptor.In addition; Processing unit 220 is coupled to buffer cell 210; When being used to have in the buffer cell 210 one first block that corresponds to one first packet descriptor successfully to receive one first network packet, will changing into this first packet descriptor that should first block and be assigned to one second block that does not correspond to any packet descriptor in the buffer cell 210.
In order to further specify network packet receiving management method of the present invention, please cooperate following explanation to continue with reference to Fig. 2.Have one first array B1 in the buffer cell 210 and receive storage data with the array data structure; In the present embodiment; The first array B1 has four data block DB1_1~DB1_4; Indicate by four array packet descriptor Db1~Db4 respectively; When network control circuit 200 (for example: a network control chip) successfully receive network packet through network 230 after; Can deposit network packet in the first array B1 block DB1_1~DB1_4 (that is above-mentioned a plurality of block) in regular turn singly with first grouping number, after block that last array packet descriptor Db4 is indicated also deposited network packet in, the block of then from the beginning bringing into use array packet descriptor Db1 to be indicated again came storage network to divide into groups; As shown in the figure, block DB1_1~DB1_4 stores network packet Pb1~Pb4 at this moment respectively.Buffer cell 210 is the block DB1_1~DB1_4 that is indicated except array packet descriptor Db1~Db4, and other distributes the idle data block DB2_1~DB2_4 (that is above-mentioned a plurality of block with second grouping number) of four not corresponding any array packet descriptors.
Before the first array B1 was filled with network packet Pb1~Pb4 and is uploaded to terminal unit 250 in regular turn, processing unit 220 can indicate array packet descriptor Db1~Db4 to the idle data block DB2_1~DB2_4 of four not corresponding any array packet descriptors in regular turn.For instance; Before network packet Pb1 began to be uploaded by network control circuit 200, the processing unit 220 in the network control circuit 200 can change array packet descriptor Db1 into indicate idle data block DB2_1~DB2_4 one of them, and after network packet Pb1 successfully uploads; The block that was originally indicated by array packet descriptor Db1 and had a network packet Pb1 also becomes an idle data block; Aforesaid operations sees also Fig. 3, and array data structure originally is to be made up of block DB1_1~DB1_4, and before network packet Pb1 begins to be uploaded; Array packet descriptor Db1 changes unlabeled data block DB2_1 into by unlabeled data block DB1_1; Therefore, originally idle block DB2_1 just has array packet descriptor Db1 and becomes the some of the first array B1, and block DB1_1 only stores network packet Pb1 to be uploaded; And after the network packet Pb1 among the block DB1_1 successfully uploads; Block DB1_1 just becomes the block of a free time, and significantly, the number of idle data block still is maintained 4 at last; And corresponding array data structure (the block number of array packet descriptor Db1~Db4) still is maintained 4 at last; Change speech, in present embodiment, buffer cell 210 exists the block of four corresponding array packet descriptor Db1~Db4 and the idle data block of four not corresponding any array packet descriptors at any time.Compared to prior art; The idle data block that the present invention introduced can be replaced the block at this network packet place in advance before a network packet is uploaded; Make the array packet descriptor not can because of etc. the network packet after pending return in regular turn and in array, form a bubble, the out-of-sequence problem of array also can improve.
Note that above-mentioned specific embodiment is merely the usefulness of explanation, be not to be used for limiting category of the present invention.For instance, the open ended block of the first array B1 can change according to different demands, be not to be confined to four, and the number of idle data block also can increase and decrease with demand, not necessarily needs identical with the first array B1 open ended block number.In addition, when successfully receiving storage and wait for that the network packet sum of uploading surpasses a predetermined number, processing unit 220 can dynamically increase the number of idle data block; And when successfully receiving storage and waiting for that the network packet sum of uploading is less than a predetermined number; Processing unit 220 also can dynamically reduce the number of idle data block to disengage unnecessary storage area; Thus, the load of unit, network control circuit 200 video terminal 250 just comes dynamically adjustment to receive the efficient of network packet.
Please with reference to Fig. 4, Fig. 4 is the sketch map according to another embodiment of network control circuit of the present invention.In the present embodiment, (for example: a plurality of processors in the many-core systems) 350,370 are connected network control circuit 300, and network control circuit 300 includes a buffer cell 310 and processing unit 320 with a plurality of terminal units with a network 330.Network control circuit 200 in Fig. 2, the network control circuit 300 among Fig. 3 is to be connected with a plurality of terminal units, and each element of the network control circuit 200 among each element function and Fig. 2 is roughly the same, so repeat no more.In addition, be different from buffer cell shown in Figure 2 210, the buffer cell 310 in the present embodiment has one first array C1 and one second array D1 receives the data (network packet) that store to terminal unit 350 and 370 respectively with the array data structure.The first array C1 and one second array D1 respectively have four data block DB3_1~DB3_4, DB4_1~DB4_4 respectively, and each is indicated by four array packet descriptor Dc1~Dc4 and Dd1~Dd4.Buffer cell 310 is the block DB3_1~DB3_4 that is indicated except array packet descriptor Dc1~Dc4 and Dd1~Dd4, DB4_1~DB4_4, and other distributes the idle data block DB5_1~DB5_4 of four not corresponding any array packet descriptors.Before the first array C1 was filled with network packet Pc1~Pc4 and is uploaded to terminal unit 350 in regular turn, processing unit 320 can indicate array packet descriptor Dc1~Dc4 the idle data block of not corresponding any array packet descriptor in regular turn; And at the same time, before the second array D1 was filled with network packet Pd1~Pd4 and is uploaded to terminal unit 370 in regular turn, processing unit 320 also can indicate array packet descriptor Dd1~Dd4 the idle data block of not corresponding any array packet descriptor in regular turn.
For instance; Before network packet Pc1 begins to be uploaded; Processing unit 320 can change array packet descriptor Dc1 into indicate idle data block DB5_1~DB5_4 one of them, and after network packet Pc1 successfully uploads, and is originally indicated by array packet descriptor Dc1 and the block DB3_1 that has a network packet Pc1 also becomes an idle data block; Because relevant operation principles can be come by example shown in Figure 3 to learn easily, does not give unnecessary details in addition so further be illustrated in this.Likewise; In present embodiment, buffer cell 310 exists the block of the block of four corresponding array packet descriptor Dc1~Dc4, four corresponding array packet descriptor Dd1~Dd4 and the idle data block of four not corresponding any array packet descriptors at any time.
Note that above-mentioned specific embodiment is merely the usefulness of explanation, be not to be used for limiting category of the present invention.For instance; The first array C1 and the open ended block of the second array D1 all can change according to different demands; Be not all to be confined to four; And the number of idle data block also can increase and decrease with demand, not necessarily need with first, second array C1, D1 open ended block number identical.In addition, when successfully receiving storage and wait for that the network packet sum of uploading surpasses a predetermined number, processing unit 220 can dynamically increase the number of idle data block; And when successfully receiving storage and waiting for that the network packet sum of uploading is less than a predetermined number, processing unit 320 can dynamically reduce the number of idle data block to disengage unnecessary storage area.
In addition; When the number of idle data block fixedly the time; The processing of the array packet descriptor of first, second array C1, D1 is an idle data block of sharing fixed qty; To be each terminal unit take the idle data block of different numbers according to demand separately to its distribution principle, meaning promptly, each terminal unit can reach load balance according to the considering the resource of using the idle data block of own load.
Please note; Above-mentionedly be merely a kind of preferable reality of the present invention and make mode; In other design variation, processing unit 320 also can use a preset allocation proportion to distribute to first, second array C1, D1 to block idle in the buffer cell 310, and this also is subordinate to category of the present invention.
In sum; The invention provides a kind of network packet receiving management method and relevant apparatus; Because the present invention adopts the array data structure, only need an adder in realization, greatly reduce and can effectively reduce cost at hardware; And do not need the extra packet descriptor index that reads that the interface load is significantly reduced; And the idle data block that the present invention introduces application can effectively be avoided the out-of-sequence problem of array and improve the grouping acceptance rate, and in addition, dynamically the function of newly-increased idle data block can also remedy the defective that the array data structure can't dynamically change size.In addition, the present invention provides the load balance under a plurality of packet descriptor configurations in addition, is applied in the many-core systems that becomes main flow now, can obtain splendid usefulness.
The above is merely preferred embodiment of the present invention, and all equalizations of doing according to claim of the present invention change and modify, and all should belong to covering scope of the present invention.

Claims (10)

1. network packet receiving management method includes:
One buffer cell is provided; It includes a plurality of block with one first grouping number and a plurality of block with one second grouping number at least; These a plurality of block that wherein have this first grouping number are to be used for storing a plurality of first network packet respectively according to one first array data structure; This first array data structure includes a plurality of first packet descriptors that should the first grouping number; These a plurality of block with this first grouping number correspond to this a plurality of first packet descriptors respectively, and these a plurality of block with this second grouping number do not correspond to any packet descriptor; And
When having one first block that corresponds to one first packet descriptor successfully to receive one first network packet in this buffer cell, will change into this first packet descriptor that should first block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
2. network packet receiving management method according to claim 1 is characterized in that including in addition:
In this first packet descriptor change into be assigned to this second block after, export this first network packet in this first block.
3. network packet receiving management method according to claim 1 is characterized in that including in addition:
According to the sum of waiting for the block of uploading stored network packet, dynamically adjust the number that does not correspond to the block of any packet descriptor in this buffer cell.
4. network packet receiving management method according to claim 1; It is characterized in that this buffer cell includes a plurality of block with one the 3rd grouping number in addition; These a plurality of block with the 3rd grouping number are to be used for storing a plurality of second network packet respectively according to one second array data structure; This second array data structure includes a plurality of second packet descriptors that should the 3rd grouping number, and these a plurality of block with the 3rd grouping number correspond to this a plurality of second packet descriptors respectively; And this network packet receiving management method includes in addition:
When having one the 3rd block that corresponds to one second packet descriptor successfully to receive one second network packet in this buffer cell, will change into this second packet descriptor that should the 3rd block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
5. network packet receiving management method according to claim 4 is characterized in that including in addition:
According to the sum of waiting for the block of uploading stored network packet, dynamically adjust the number that does not correspond to the block of any packet descriptor in this buffer cell.
6. network control circuit with network packet receiving management function includes:
One buffer cell; It includes a plurality of block with one first grouping number and a plurality of block with one second grouping number at least; These a plurality of block that wherein have this first grouping number are to be used for storing a plurality of first network packet respectively according to one first array data structure; This first array data structure includes a plurality of first packet descriptors that should the first grouping number; These a plurality of block with this first grouping number correspond to this a plurality of first packet descriptors respectively, and these a plurality of block with this second grouping number do not correspond to any packet descriptor; And
One processing unit; Be coupled to this buffer cell; When being used to have in this buffer cell one first block that corresponds to one first packet descriptor successfully to receive one first network packet, will changing into this first packet descriptor that should first block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
7. network control circuit according to claim 6, it is characterized in that this processing unit in addition in this first packet descriptor change into be assigned to this second block after, export this first network packet in this first block.
8. network control circuit according to claim 6; It is characterized in that this processing unit in addition according to the sum of waiting for the block of uploading stored network packet, dynamically adjusts the number that does not correspond to the block of any packet descriptor in this buffer cell.
9. network control circuit according to claim 6; It is characterized in that this buffer cell includes a plurality of block with one the 3rd grouping number in addition; These a plurality of block with the 3rd grouping number are to be used for storing a plurality of second network packet respectively according to one second array data structure; This second array data structure includes a plurality of second packet descriptors that should the 3rd grouping number, and these a plurality of block with the 3rd grouping number correspond to this a plurality of second packet descriptors respectively; And this processing unit is when in addition having one the 3rd block that corresponds to one second packet descriptor successfully to receive one second network packet in this buffer cell, will change into this second packet descriptor that should the 3rd block and be assigned to one second block that does not correspond to any packet descriptor in this buffer cell.
10. network control circuit according to claim 9; It is characterized in that this processing unit in addition according to the sum of waiting for the block of uploading stored network packet, dynamically adjusts the number that does not correspond to the block of any packet descriptor in this buffer cell.
CN200910145420A 2009-05-20 2009-05-20 Network packet receiving management method and network control circuit with network packet receiving management function Active CN101895460B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910145420A CN101895460B (en) 2009-05-20 2009-05-20 Network packet receiving management method and network control circuit with network packet receiving management function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910145420A CN101895460B (en) 2009-05-20 2009-05-20 Network packet receiving management method and network control circuit with network packet receiving management function

Publications (2)

Publication Number Publication Date
CN101895460A CN101895460A (en) 2010-11-24
CN101895460B true CN101895460B (en) 2012-09-05

Family

ID=43104533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910145420A Active CN101895460B (en) 2009-05-20 2009-05-20 Network packet receiving management method and network control circuit with network packet receiving management function

Country Status (1)

Country Link
CN (1) CN101895460B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017208182A1 (en) * 2016-06-02 2017-12-07 Marvell Israel (M.I.S.L) Ltd. Packet descriptor storage in packet memory with cache

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925465A (en) * 2006-09-22 2007-03-07 中国科学院计算技术研究所 Method for realizing data packet catching based on sharing internal memory
CN1984064A (en) * 2005-12-16 2007-06-20 晶涌科技股份有限公司 Network communication apparatus and method thereof
CN101022422A (en) * 2007-03-29 2007-08-22 威盛电子股份有限公司 Data packet processing method and network device using the same method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984064A (en) * 2005-12-16 2007-06-20 晶涌科技股份有限公司 Network communication apparatus and method thereof
CN1925465A (en) * 2006-09-22 2007-03-07 中国科学院计算技术研究所 Method for realizing data packet catching based on sharing internal memory
CN101022422A (en) * 2007-03-29 2007-08-22 威盛电子股份有限公司 Data packet processing method and network device using the same method

Also Published As

Publication number Publication date
CN101895460A (en) 2010-11-24

Similar Documents

Publication Publication Date Title
CN101510814A (en) Method and system for duty cycling portions of a network device based on aggregate throughput of the device
CN103701710A (en) Data transmission method, core forwarding equipment and endpoint forwarding equipment
CN102761489A (en) Inter-core communication method realizing data packet zero-copying based on pipelining mode
CN103139093A (en) High speed network data flow load balancing scheduling method based on field programmable gate array (FPGA)
CN101533362A (en) Inter-process CPU resource balance scheduling method
CN107590191A (en) A kind of HDFS mass small documents processing method and system
CN103036805A (en) System and method for improving multicast performance in banked shared memory architectures
CN101895460B (en) Network packet receiving management method and network control circuit with network packet receiving management function
CN101719869B (en) Method and device for dynamically allocating bandwidth by adopting associated token bucket algorithm
CN105530157A (en) Method for sharing credit by multiple virtual links in AFDX (Avionics Full Duplex Switched Ethernet) network switch
CN102487303B (en) Time slot distribution management method and device
CN105356980A (en) Response message sending method and device
CN101853185A (en) Blade server and service dispatching method thereof
CN101539871A (en) Device for balancedly processing load, data processing system and method and main control panel
CN101945039B (en) Data flow transmission method and device
CN1254117C (en) Method for dynamic load share of command points and subsystems
CN104009817A (en) Method for energy-saving dispatching in PON based on network coding
CN100344103C (en) Method for uniform distribution of physical layer data transmitting time slot in whole time domain
CN1172484C (en) Method for wide band switch-on apparatus supporting of Ethernet load point-to-point protocol
CN2886928Y (en) A communication accessing device
US8072997B2 (en) Packet receiving management method and network control circuit with packet receiving management functionality
CN1852188A (en) Method for obtaining constringency ratio
CN1874292A (en) Exchange system based on crossbars with buffer
CN100488194C (en) Method of adjusting time delay in reversal multiplexing protocol of asynchronous transmission mode
CN1797976A (en) Method for transmitting data between main and standby boards

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