CN117440053A - Multistage cross die access method and system - Google Patents

Multistage cross die access method and system Download PDF

Info

Publication number
CN117440053A
CN117440053A CN202311769688.5A CN202311769688A CN117440053A CN 117440053 A CN117440053 A CN 117440053A CN 202311769688 A CN202311769688 A CN 202311769688A CN 117440053 A CN117440053 A CN 117440053A
Authority
CN
China
Prior art keywords
die
address
destination
source
addra
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.)
Granted
Application number
CN202311769688.5A
Other languages
Chinese (zh)
Other versions
CN117440053B (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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai Co ltd
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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202311769688.5A priority Critical patent/CN117440053B/en
Publication of CN117440053A publication Critical patent/CN117440053A/en
Application granted granted Critical
Publication of CN117440053B publication Critical patent/CN117440053B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to the technical field of chip design, in particular to a multi-level cross die access method and system, which are realized by acquiring source die 0 Medium IP 0 Transmitted access request req, RNOC 0 Analyzing the user information and addrA carried in req to obtain the destination die t Is to pass req through RHIB 0 Analyzing req to obtain user information and addrA, and extracting destination die according to preset rules t And (2) regenerating a destination address addrB, packaging user information and addrA into a data packet pack, forwarding the addrB and the pack through DNOC, analyzing the addrB in the forwarding process and judging whether the current die is the destination die, and not needing to analyze the pack, thereby reducing the analyzed data quantity and complexity, improving the forwarding speed and efficiency and realizing light-weight rapid forwarding.

Description

Multistage cross die access method and system
Technical Field
The invention relates to the technical field of chip design, in particular to a multi-level cross die access method and system.
Background
Both the data network on chip (data network on chip, DNOC) and the register network on chip (register network on chip, RNOC) are architectures of network on chip (NoC) for connecting individual modules or IP cores on the chip for efficient, low latency data transmission and communication. The RNOC realizes data transmission and communication between the cores mainly through register reading and writing, and is suitable for system design of control access of small data volume; DNOC is mainly used for realizing data transmission and communication between IP cores through data packet exchange, and is suitable for system design of data access with large data volume.
The IP cores in the Die are communicated through the NOC, and the data packets are sent from the source Die to another destination Die of the physical connection through the NOC, so that one-to-one cross Die transmission between two directly connected Die can be realized. However, the above access method has the following problems:
1. if the source die and the destination die are not directly connected, the access is not available.
2. If the same source die sends access requests with the same read-write identity to different destination die, the response data received by the source die can be out of order.
3. If different source die send the access request with the same read-write identity to the same destination die, the response data sent by the destination die also has disorder problem.
4. The transmission protocol of the die-chip network has higher complexity and the hardware transmission resources are unevenly distributed.
Disclosure of Invention
In order to solve the 1 st technical problem, the invention adopts the following technical scheme:
in a first aspect, an embodiment of the present invention provides a multi-level cross die access method, where the method includes the following steps:
s100, acquiring a source die 0 Medium IP 0 The transmitted access request req carries user information and destination address addrA, the addrA comprises destination die t Address and destination IP of (c) t Is a logical address of the host.
S200, source die 0 Die-on-chip network RNOC in die 0 Analyzing the user information and addrA carried in req to obtain the destination die t When the destination die t When the address of the address is the address of the current die, IP according to the purpose t Address of (c) sends user information to source die 0 Destination IP of (E) t The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, send req to source die 0 The control unit RHUB in (a) 0 And performs the steps of:
S220,RHUB 0 resolving req to obtain userInformation and addrA, and extracting a destination die from the addrA according to a preset rule t The address of the address (A) regenerates a destination address addrB, and the user information and the addrA are packed into a data packet pack; and sending addrB and pack to die inter-chip network DNOC.
S240, forwarding addrB and pack according to the routing table by DNOC, wherein the addrB and pack are forwarded to the ith die i When die i The DNOC interface of (1) analyzes addrB to obtain the destination die t When the destination die t Address and die of (d) i When the addresses of the two pairs are different, continuing to forward to the next die, otherwise, die i For purposes die t Sending pack to die i Control unit RHUB of (a) i And performs the steps of:
S242,RHUB i analyzing pack to obtain user information and addrA, and extracting target IP in addrA t Address of (a); user information and IP t Address of (c) is sent to die i Die network-on-chip RNOC i
S243,RNOC i According to the IP of the purpose t Address of (c) sends user information to die i Destination IP in (a) t
In a second aspect, an embodiment of the present invention provides a multi-level inter-die access system, where the system includes a processor and a non-transitory computer readable storage medium having at least one instruction or at least one program stored therein, where the at least one instruction or the at least one program is loaded and executed by the processor to implement the multi-level inter-die access method described above.
Compared with the prior art, the multi-stage cross die access method and system provided by the invention have obvious beneficial effects, can achieve quite technical progress and practicality, have wide industrial utilization value, and have at least the following beneficial effects:
the invention provides a multi-level cross die access method and a system thereof, which aim die t The address of the address regeneration destination address addrB of the system, user information and addrA are packed into a data packet pack, the addrB and the pack are forwarded through DNOC, and the data packet pack is forwardedIn the process of (1) analyzing addrB and judging destination die t Whether the address of the current die is the target die is judged by judging whether the address of the current die is the same as the address of the current die, and pack analysis is not needed, so that the data quantity and complexity of analysis are reduced, the forwarding speed and efficiency are improved, and further, the lightweight rapid forwarding is realized.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a multi-level cross die access method according to a first embodiment of the present invention;
FIG. 2 is a flow chart of a forward order preserving method across die according to a second embodiment of the present invention;
FIG. 3 is a flow chart of a reverse order preserving method across die according to a third embodiment of the present invention;
fig. 4 is a flowchart of a method for accessing a cross die according to a fourth embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to fall within the scope of the invention.
In order to solve the first technical problem, an embodiment of the present invention is provided.
Example 1
Referring to FIG. 1, a multi-level cross die access method is shown, the method comprising the steps of:
s100, acquiring a source die 0 Medium IP 0 The transmitted access request req, in which the user information is carriedAnd a destination address addrA, the addrA including a destination die t Address and destination IP of (c) t Is a logical address of the host.
The die comprises a plurality of IP cores, a die internal network-on-chip RNOC, a control unit RUB and a die inter-chip network DNOC interconnection interface.
The IP core (Intellectual Property) is a mature functional module which is designed in advance, verified and reusable. IP (Internet protocol) 0 Is die 0 Is a single IP core. It should be noted that, in the embodiment of the present invention, the IP is an IP core, and is not described below.
Wherein, the network-on-chip RNOC in die is used between IP cores in die 0 And carrying out interconnection communication. And carrying out interconnection communication between die through a die inter-chip network DNOC. Die network on chip RNOC0 is a register network on chip (register network on chip, RNOC). die-space network-on-chip DNOC is a data network-on-chip (data network on chip, DNOC).
The control unit RHUB is configured to package the inter-die access request into a data packet conforming to the die-chip network DNOC protocol, or parse the data packet sent by the die-chip network DNOC, and schedule the data packet.
Wherein the access request is a read request or a write request.
Optionally, the higher order of addrA is the destination die t Address of (2), low order IP t Is a logical address of the host.
Wherein the user information includes source IP 0 Identity information and other information. Wherein the source IP 0 Is the source IP 0 Is used for the identification of the unique identity of the user. Wherein other information includes, but is not limited to, data length, bit width and source IP 0 Identity of the user, etc.
Alternatively, IP 0 Transmitting req to RNOC via control channel 0
S200, source die 0 Die-on-chip network RNOC in die 0 Analyzing the user information and addrA carried in req to obtain the destination die t Is a logical address of the host. It should be noted that, through the die-in-die network-on-die RNOC in die 0 Firstly, preliminary screening and judgingDestination die of req t And if the communication is the current die, the communication is in the die, otherwise, the communication is between the die. The primary screening can further reduce the searching range and the searching complexity.
Further, when the destination die t When the address of the address is the address of the current die, IP according to the purpose t Address of (c) sends user information to source die 0 Destination IP of (E) t . It should be noted that, determining the destination die t If the address of addrA is 0, i.e. judging if the high-order address of addrA is 0, when the high-order address is 0, explaining the destination die t The address of (2) is the address of the current die; otherwise, the other purpose die is achieved. When destination die t When the address of (a) is not the address of the current die, the req is sent to the source die 0 RHIB in (B) 0 And performs the following steps S220 to S240.
S220,RHUB 0 Analyzing req to obtain user information and addrA, and extracting a destination die from the addrA according to a preset rule t The address of the address (A) regenerates a destination address addrB, and the user information and the addrA are packed into a data packet pack; and sending addrB and pack to die inter-chip network DNOC.
The preset rule is an address format of DNOC. addrB complies with the network transport protocol of DNOC. For example, according to coding and destination die of DNOC network interface t Is the destination address addrB.
Preferably, the RNOC 0 Transmitting req to RHIB via control channel 0 。RHUB 0 And sending addrB through a write address channel and sending pack to die-space network-on-chip DNOC through a write data channel respectively.
Wherein, the package format of the data package accords with the package protocol of DNOC.
The addrB can enable DNOC to only analyze the addrB when forwarding to different die to judge whether forwarding in die is needed to be stopped or not, and does not need to analyze other large amount of irrelevant information, so that light-weight rapid forwarding is realized.
S240, forwarding addrB and pack according to the routing table by DNOC, wherein the addrB and pack are forwarded to the ith die i When die i Is obtained by analyzing addrB through DNOC interfaceTo destination die t Is a logical address of the host.
Wherein, die and die are interconnected through physical connection. The path of the address pointing to the destination die is stored in the routing table of the DNOC. The DNOC can select a correct path according to the routing table to send data to the next die, and the next die also forwards according to its own routing table, and so on, until the data is forwarded to the destination die, and the forwarding is stopped.
Further, when the destination die t Address and die of (d) i When the addresses of the two pairs are different, continuing to forward to the next die, otherwise, die i For purposes die t Sending pack to die i RHIB of (C) i And performs the steps of:
S242,RHUB i analyzing pack to obtain user information and addrA, and extracting target IP in addrA t Address of (a); user information and IP t Address of (c) is sent to die i Die network-on-chip RNOC i
It should be noted that each die includes an RNOC addressed in the die, and RHIB for transmitting control information class i And a DNOC interface for cross die addressing.
Wherein when the destination die is obtained, RHIB i No longer need destination die t Directly stripping the address in addrA to extract the target IP t Is a logical address of the host. Destination IP obtained by extraction t For delivery to die network-on-chip RNOC in die to be IP-based on destination t Is used for transmitting corresponding user information to the destination IP t
S243,RNOC i According to the IP of the purpose t Address of (c) sends user information to die i Destination IP in (a) t
The embodiment of the invention uses the destination die t The address of the address (A) regenerates the destination address addrB, packages the user information and addrA into a data packet pack, forwards the addrB and the pack through DNOC, and analyzes the addrB and judges the destination die in the forwarding process t Whether the address of the current die is the same as the address of the current die is judged to be the target die, the pack is not required to be analyzed, and the analyzed data volume is reducedAnd complexity, improve and transmit speed and efficiency, and then realize the fast forward of light-weighted. Meanwhile, as the die serving as the forwarding node in the middle does not need to analyze the pack, information in the pack can be prevented from being leaked, and the safety of pack transmission is improved.
As a preferred embodiment, the method further comprises:
s220 further includes: RHIB (RHIB) 0 Resolving req to obtain user information, a source address and addrA, and extracting a destination die from the addrA according to a preset rule t The address of the address (A) regenerates a destination address addrB, and the user information, the source address and the addrA are packed into a data packet pack; and sending addrB and pack to die inter-chip network DNOC.
S242 also includes RHIB i Analyzing pack to obtain user information, source address and addrA, and extracting target IP in addrA t Address of (a); user information and IP t Address of (c) is sent to die i Die network-on-chip RNOC i . The RHIB is used for the treatment of a disease i Without the need to send the source address to the RNOC i The source address is used for providing response data to be returned to the source die in the response process 0 IP in (a) 0 Is a logical address of the host.
As a preferred embodiment, the method further comprises a response step, wherein:
S300,RNOC i receiving destination IP t Response information response of (a) t When source die 0 When the address of the current die is the address according to the source IP 0 Address of (c) will respond t Return to source IP 0 The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, response is to t Returns to RHIB i And performs the steps of:
S320,RHUB i receiving response t And respond t And source address are packed into data packet pack t Source die 0 Address regeneration of (a) into addrR, and DNOC generating pack according to the addrR t Return to source die 0
The source die is described as 0 Step of address re-generation into addrR and method according to destination die t The same procedure is used for regenerating the destination address addrB. addrR (addr)And the network transmission protocol accords with DNOC.
The response information is along with pack t The original path is returned, and in the process of returning the response information, the response information still passes through the RNOC at first i Judging whether the response information is the response information of the current die or the response information of the cross die, if the response information is the response information of the current die, directly transmitting the response information to the corresponding destination IP in the die; if the response information is cross-die, RHIB is needed to pass i The response information is packed into data packets which are forwarded to the source die through DNOC, and returned to the corresponding source IP through the source die 0
Through steps S100-S200, the cross die access of the access request can be completed, and the complete cross die access and response process of the access request can be completed in combination with S300. The multi-stage cross-die quick access is realized through the analysis and judgment of the destination address addrB between die, and the technical problem that the source die and the destination die cannot be accessed when not directly connected is solved.
Based on the same inventive concept as the method embodiment of the first embodiment, the first embodiment further provides a multi-level inter-die access system, which includes a processor and a non-transitory computer readable storage medium storing at least one instruction or at least one program therein, the at least one instruction or the at least one program being loaded and executed by the processor to implement the multi-level inter-die access method provided in the first embodiment, wherein one multi-level inter-die access method has been described in detail in the first embodiment and is not repeated.
When a source die initiates a read-write request, the situation that two or more access request data carry the same read-write identity and the destination die is different may occur, and the access request data with the same read-write identity are sequentially sent to different destination die through the source die. Because the different destination die process the access request independently, and the processing delays of the different destination die may not be the same, the order of the response data returned by the destination die is not completely in the order sent from the source die, and the response data returned by the RHIB is disordered. Therefore, in order to solve the second technical problem, the embodiment of the present invention provides the second embodiment.
Example two
To solve the problem of response out-of-order, embodiment two passes RHIB at source die 0 And establishing a sending cache table, wherein the cache table mainly records the read-write identity identifier and the destination die address of each transmitted inter-die access request. When an access request needs to be accessed across die, the sending cache table needs to be traversed firstly, if an access request record which is the same as the read-write identity of the access request to be sent and has different addresses of the destination die is recorded in the sending cache table, in order to prevent the occurrence of disorder, the access request to be sent needs to be intercepted until all the access requests which are the same as the read-write identity and have different addresses of the destination die in the cache table are responded, and then the intercepted read-write identity of the access request to be sent and the addresses of the destination die are recorded in the cache table and sent out. That is, in the embodiment, the sending cache table intercepts the access request with the same read-write identity identifier as any list in the table and different destination die address, and the intercepted access request is re-recorded in the sending cache table and sent out after the relevant list in the table is responded, so that the condition that disorder is not caused can be ensured, and the returned response data is necessarily returned according to the sending order.
Referring to fig. 2, a method for forward order preservation across die is shown, the method comprising the steps of:
t200, obtaining access request req sent by source die 0 Read-write identity mark axid carried in 0 And address daddr of destination die 0
Wherein the source die is the die from which the access request was initiated. The destination die address is the destination die accessed by the access request.
As a preferred embodiment, the read-write identity is a read address identity or a write address identity.
T400, control unit RHIB for obtaining source die 0 In a transmit cache table 0 ,table 0 Includes N sending list tab 0 Each send list entryRecording the read-write identity and the destination die address of the access request which is sent and not responded; tab 0 ={t 1 ,t 2 ,…,t i ,…,t N },t i For the ith transmit list, t i Including read-write identity mark axid i Destination die address daddr i Having an axid i And daddr i Number cnt of access requests issued and not responded to i Wherein i has a value ranging from 1 to N; wherein the tab 0 Not included in (a) having the same axid i And different daddr i Is included in the list of (a) and (b).
It should be noted that the source die includes a control unit RHUB 0
Optionally, N has a value of 32.
T600 according to axid 0 Traversing tab 0 Screening out read-write identity mark and axid 0 Identical transmit list t i . And screening out candidate transmission lists with the same read-write identity through the read-write identity so as to reduce the searching range.
T620, when daddr 0 And t i Daddr of (2) i When the same, cnt i The count value of (2) is incremented by 1, and req is allowed 0 Cross die access of (c). Through cnt i The number of the access requests sent by the same address of the read-write identity mark and the destination die is counted, so that the storage space for repeatedly recording the sending cache table can be saved.
Wherein, every time an access request with the same read-write identity and the same destination die address is added, t i Count value cnt of i 1 is added. Every time a response data of same read-write identity and same destination die address is received, t i Count value cnt of i Decrease 1 until cnt i Equal to 0. When cnt j Equal to 0, indicate the sum t sent by the source die i The access requests with the same read-write identity and destination die address return response data, and when cnt j T is equal to 0 i This list is released and the released list can be re-occupied.
T640, daddr 0 And t i Daddr of (2) i At different times, interception req 0 Is used for the access of (a).
The sending cache table records that the access requests which are sent out and not responded yet have the same read-write identity and different destination die, and intercepts req 0 The problem of disorder of response data can be prevented, and the problem of disorder of response data received by a source die when the same source die sends access requests with the same read-write identity to different destination die is solved.
As a preferred embodiment, the following steps are also included after T640:
t642, when transmitting list T i Cnt of (2) i 0, according to req 0 Axid of (A) 0 And addr 0 In the table 0 A new transmission list is recorded in the transmission list, and req is allowed 0 Cross die access of (c).
It should be noted that when t i Cnt of (2) i At 0, we say that the and req has been sent out from the source die 0 There is no access request which is not responded in the access request with the same read-write identity and the address of different destination die, so when the source die sends t with invalid again i When the same read-write identity mark and different destination die address are requested to access, at the moment, due to t i If the list is invalid, a new list can be normally established, the access request is not intercepted, the cross die access is allowed to be normally carried out, and the req is sent again 0 No disorder problem occurs. In addition, every time when an access request is sent, the sending cache table is traversed, and as the information stored in the sending cache table only has the key read-write identity and the address of the destination die and has no other redundant information, the list meeting the conditions is firstly screened out through the read-write identity, so that the complexity of the table lookup is low and the lookup speed is high.
It should be noted that, for the sending cache table, since multiple requests with the same read-write identity and addresses of the same destination die occupy one list, and the read-write requests with the same read-write identity and addresses of different destination die are intercepted, the list cannot be newly built in the sending cache table, so that the sending cache table is provided with the following functionsThere are no multiple candidate lists with the same read-write identity and different destination die, thus with daddr 0 There is at most one send list of different destination die addresses.
As a preferred embodiment, the T620 further includes:
when daddr 0 And t i Daddr of (2) i When the same, judging cnt i Whether the count value of the counting unit is equal to the preset maximum value, when cnt i The count value of the interception req is equal to a preset maximum value 0 Is accessed by a user; when cnt i When the count value of the CPU is smaller than the preset maximum value, cnt i The count value of (2) is incremented by 1, and req is allowed 0 Cross die access of (c). By presetting the maximum value, the number of access requests which are sent by the same die and have the same read-write identity and the same destination die can be limited, and the blocking of the destination die caused by the inflow of a large number of access requests is prevented.
As a preferred embodiment, the method further comprises:
t700, obtaining table 0 Maximum number of transmit list threshold N max When tab 0 Read-write identity and axid in the card 0 Are all different, and n=n max At the time, interception req 0 Is accessed by a user; otherwise, in the table 0 Record req 0 Axid of (A) 0 And daddr 0 A new transmission list is established. That is, when a new list is needed, if the record in the sending cache table has reached the maximum value, interception is performed to ensure that all the sent access requests are recorded in the sending cache table. Wherein N is max A quantity threshold value specified for the user.
As a preferred embodiment, in the transmitted access request, an access request with a destination die not existing is initiated due to misoperation or other reasons, when such an access request exists, a list is normally established in the transmission cache table, but because the destination die does not exist, the access request corresponding to the list will not obtain response data, that is, the data will always occupy the space of the transmission cache table and cannot be eliminated. To solve this problem, the method further comprises: t800, optimizing sending cache table 0 Comprises the steps of:
t810, obtaining address addr= { addr of X die connected by source die 1 ,addr 2 ,…,addr x ,…,addr X },addr x For the X-th die connected to the source die, the value of X ranges from 1 to X. It should be noted that, each die can acquire topology information interconnected with the die, and obtain address information of other die interconnected with the die. Optionally, the xth die connected to the source die is a directly connected die or an indirectly connected die.
T820 traversing the table according to addr 0 Obtaining a table 0 F destination die addresses Ndaddr not belonging to addr, wherein F is more than or equal to 0. The Ndaddr includes F destination die addresses. Because the destination die in the Ndaddr does not belong to the die in the interconnection topology of the source die, i.e. the access request carrying the destination die address in the Ndaddr cannot be sent to the destination die, and the corresponding response data cannot be returned, the list corresponding to the access request carrying the destination die in the Ndaddr is always present in the table 0 And will not disappear, the list established by such access requests occupies the space resources of the sending cache table.
T830, obtaining an access request queue allowing normal access, and respectively extracting F access requests corresponding to Ndaddr from the access request queue to obtain an isolation queue fence; preset response data is configured for each access request in the nonce.
Optionally, the access request queue is a read request queue or a write request queue according to different read-write identities of the access requests.
The preset response data are response data appointed by a user. Preferably, the preset response data is null information.
And T840, packaging the access request queue after the fence extraction into a data packet for transmission, and obtaining a normal response queue.
It should be noted that, the access request queue after the fe is extracted is the access request queue of normal access, where there is no access request that cannot be sent to the destination die any more.
RHIB of T850, source die 0 And scheduling preset response data of the normal response queue and the isolation queue to the die network-on-chip RNOC for returning.
It should be noted that, due to the table 0 The in-order return of response data can already be guaranteed, and thus at scheduling, response data returned with the same order in-order. Thus, the access request in the fe gets the response data, and not only the table can be eliminated 0 The resources of the cache table are released and the corresponding access request can be given a response message, and the access request is ended.
As a preferred embodiment, between T840 and T850, further comprises: t841, the source die receives the normal response data returned by different die, RHIB 0 And re-arranging and unpacking the normal response data according to the die with different purposes to obtain a normal response data queue returned by the die with different purposes.
The step of optimizing the transmit buffer table through T800 can eliminate list data in which destination die does not exist in the transmit buffer table due to a malfunction or other reasons.
It should be noted that, the access request in the second embodiment is the same as the access request in the first embodiment, the access request is initiated from the source IP of the source die, routed to the destination die through the network on die and the RHUB of the source die, and accessed to the destination IP through the RHUB of the destination die and the network on die of the die through the DNOC network; the access process and the response process are the same as those of the first embodiment, and will not be described again. The difference is that during the access period, before the RHIB of the source die sends the received access request to the die-chip network of the source die, the read-write identity of each access request and the address of the destination die are utilized to traverse the sending cache table in the RHIB, whether a list of the same read-write identity and addresses of different destination die exists in the sending cache table is searched, if so, the access request is intercepted, after the relevant list in the sending cache table is responded, the intercepted access request is allowed to be normally sent to the die-chip network, so that the response sequence is ensured, and disorder is prevented.
Based on the same inventive concept as the method embodiment of the second embodiment, the second embodiment further provides a forward order preservation system across die, the system including a processor and a non-transitory computer readable storage medium, wherein at least one instruction or at least one program is stored in the non-transitory computer readable storage medium, and the at least one instruction or the at least one program is loaded and executed by the processor to implement a forward order preservation method across die provided by the first embodiment, wherein a forward order preservation method across die is already described in detail in the first embodiment and is not repeated.
The second embodiment can implement forward order preservation. However, when receiving access requests from different source die for the same destination die, if the received access requests have the same read-write identity, the RHIB cannot distinguish which source die the response information is returned to when the response data is returned, and at this time, the problem of disorder in response information return also occurs. Therefore, in order to solve the third technical problem, the present invention provides a third embodiment.
Example III
In order to solve the problem of disorder response, the third embodiment is also implemented by building a table in the RHUB, building a receiving buffer table in the RHUB of the destination die, and recording the read-write identity of each access request and the address of the source die received and allowed to be sent to the die network in the die in the receiving buffer table. And the die network transmits the access request recorded in the cache table to the destination IP and acquires corresponding response data. When an access request is sent to an RNOC network of a destination die through RHIB, the receiving cache table needs to be traversed first, and if the same read-write identity and different source die addresses as the access request to be sent are recorded in the receiving cache table, the access request to be sent is intercepted in order to prevent disorder. When the relevant list in the receiving cache table is responded, the intercepted access request is allowed to be normally accessed and recorded in the receiving cache table, and the problem of disorder in the response returning process in the destination die is avoided.
Referring to fig. 3, a method for reverse order preservation across die is shown, the method comprising:
e100, acquisition orderReceiving access requests sent by R source die, wherein f-th access request req f Read-write identity mark axid carried in f And source die address saddr f The value range of f is 1 to R, and R is more than or equal to 2.
E200, obtaining the control unit RHIB in the destination die t Is a received cache table of (a) t ,table t Includes K receiving list tab t Each receiving list records the read-write identity and the source die address of the received access request; tab t ={tt 1 ,tt 2 ,…,tt q ,…,tt K },tt q For the q-th receive list, tt q Including read-write identity mark axid q Source die address saddr q And have axid q And saddr q Number cnt of access requests issued and not responded to q Wherein q has a value ranging from 1 to K.
In the destination die, RHIB is passed t Analyzing the data packet to obtain corresponding access request data, and then using RHIB t And sending the corresponding data to the die on-chip network for routing, and sending the data to a final destination IP. At RHIB t When the corresponding data is sent to the die network-on-chip for routing, the access request data sent to the die network-on-chip is recorded in a receiving cache table t In the method, one data is ensured to be recorded every time one data is transmitted. Record only read-write identity mark axid in receiving buffer table q Source die address saddr q And number cnt q Is free from recording other irrelevant information, can reduce the occupation of space resources, and has the same quantity cnt q The occupation of space resources can be further reduced.
E300, req received according to destination die f Axid carried in (a) f Traversing tab t Screening out read-write identity mark and axid f The same receive list tt q . Similarly, the searching range can be further reduced by selecting the read-write identity through the preferred mode, and the calculation complexity is reduced.
E400, judge req f Saddr of (2) f And tt q Sadd of (2)r q Whether or not they are identical, if so, cnt q Add 1, allow req f Normal access; otherwise, intercept req f
Embodiments by the method provided by E100-E400, by recording an access request sent to the die on-chip network in a receive cache table t When the access request to be sent to the network-on-chip in the die is the same as the identity mark recorded in any list in the table and the source die is different, the sending is intercepted, so that the condition that the returned response data cannot be disordered is ensured, and the problem that the response data sent by the destination die are disordered when different source die send the access request with the same read-write identity mark to the same destination die is solved. In addition, when the access request traverses the receiving cache table, the information stored in the receiving cache table only has the key read-write identity and the address of the source die, and no other redundant information, and the list meeting the conditions is firstly screened out through the read-write identity, so that the complexity of the table lookup is low, and the lookup speed is high.
As a preferred embodiment, the following steps are also included after E400: e500, when receiving list tt q Cnt of (2) q When equal to 0, according to req f Axid of (A) f And saddr f In the table t A new receive list is recorded and req is allowed f And sending the data to the die on-chip network.
Note that, when cnt q When equal to 0, it is stated that tt q Has returned, and therefore no longer intercepts req f Allow req f Normally sending to the die on-chip network and in the table t In normal establishment of req f Corresponding new list to ensure sequential access of subsequent access requests.
As a preferred embodiment, E400 also includes determining req f Saddr of (2) f And tt q Saddr of (2) q If the two are the same, judging the cnt q Whether the count value is equal to the preset maximum threshold value, when cnt q Intercepting req when the count value of the interception request is equal to a preset maximum threshold value f When cnt is accessed q The count value of the counter is smaller than the preset maximum valueValue time cnt q Add 1, allow req f Normal access; otherwise, intercept req f . The number of access requests with the same read-write identity and the same source die sent to the network-on-chip in die each time can be limited by presetting the maximum threshold value, and access blocking can be prevented.
As a preferred embodiment, the method further comprises:
E600, obtaining the table t Maximum number of received list threshold K max When tab t Read-write identity and axid in the card f Are all different, and k=k max At the time, interception req f Is accessed by a user; otherwise, in the table t Record req f Axid of (A) f And saddr f A new receive list is established. Wherein K is max A quantity threshold value specified for the user. When the number of lists in the receive cache table has reached the maximum number, interception is also performed to ensure that all access requests sent to the die network on chip are recorded in the receive cache table.
As a preferred embodiment, RHIB is also included in the destination die prior to E100 t Analyzing the received data packet to obtain access requests sent by R source die and destination address addrA of each access request; extracting destination IP in addrA t Address of the destination IP t For making the die-on-chip network in the destination die according to the destination IP t Sends the access request to the destination IP t . It should be noted that, the destination address addrA is the same as that in the first embodiment, and will not be described again.
As a preferred embodiment, the method further comprises the steps of: e500, network-on-chip reception req within die in destination die f Response information response of (a) f When the address of the source die is the address of the current die, response is generated according to the address of the source die f Returning to the source IP; otherwise, response is to f RHIB returned to destination die t ,RHUB t Will receive req in the cache list f Is a list tt of (2) q Cnt of (2) q Minus 1.
It should be noted that, the access request in the third embodiment is the same as the access request in the first embodiment, the access request is initiated from the source IP of the source die, routed to the destination die through the network on die and the RHUB of the source die, and accessed to the destination IP through the RHUB of the destination die and the network on die of the die through the DNOC network; the access process and the response process are the same as those of the first embodiment, and will not be described again. The method is characterized in that during the access period, before the RHIB of the destination die sends the received access request to the die network-on-chip of the destination die, the read-write identity of each access request and the address of the source die are utilized to traverse a receiving cache table in the RHIB, whether a list of the same read-write identity and addresses of different source die exists in the receiving cache table is searched, if so, the access request is intercepted, after the relevant list in the receiving cache table is responded, the intercepted access request is allowed to be normally sent to the die network-on-chip of the destination die, so that the sequence of the response is ensured, and disorder is prevented.
Based on the same inventive concept as the method embodiment of the third embodiment, the third embodiment further provides a cross-die reverse order preserving system, which includes a processor and a non-transitory computer readable storage medium storing at least one instruction or at least one program therein, wherein the at least one instruction or the at least one program is loaded and executed by the processor to implement a cross-die reverse order preserving method provided by the third embodiment, and one cross-die reverse order preserving method is described in detail in the third embodiment and is not repeated.
The multi-level inter-die access method provided in the first embodiment can realize multi-level inter-die, and can realize inter-die data transmission through the die on-die network, but because the data length of the inter-die transmission is uncertain, some data lengths are larger, some data lengths are smaller, so that the complexity of a transmission protocol of the die on-die network is higher, and the data with larger data length needs to be transmitted through a plurality of clock cycles when being transmitted through the die on-die network, so that the transmission process occupies hardware transmission resources for a longer time, and the problem of uneven allocation of the hardware transmission resources is caused. The present invention provides a fourth embodiment in order to solve this problem.
Example IV
In order to solve the problems of higher complexity of the transmission protocol and uneven distribution of hardware transmission resources of the die-chip network, in the fourth embodiment of the invention, all data transmitted between the die-chip network are split into data segments with the same data length, each data segment is independently packaged into a data packet, and the data packets are recombined and analyzed again according to the split sequence at a receiving end to obtain complete data.
Referring to fig. 4, a cross die access method is shown, the method includes:
p100, source die 0 Receiving response data packet sequence rpack= { rpack returned by H destination die through die-chip network 1 ,rpack 2 ,…, rpack h ,…,rpack H },rpack h The value range of H is 1 to H for the response data packet sequence returned by the H die; the data length of all the response data packets in rpack is the same; rpack h The system comprises a plurality of data packets which are obtained by splitting a response data into a plurality of data fragments and independently packaging each data fragment.
Note that rpack h Includes W response data packets, wherein W is equal to or greater than 0.
Wherein, the source die 0 Die for sending access request. The destination die is die which receives the access request and returns the response data.
Wherein rpack is h A plurality of data packets corresponding to one response data included in the data packets have the same read-write identity and source die 0 Is a packet of an address of (a) a packet of (b).
P200, source die 0 Control unit RHUB of (a) 0 And resolving all the data packets in the rpack to obtain the address of the destination die returned to each data packet.
It should be noted that, the format of the data packet is the same as that of the data packet in the first embodiment, and the data packet includes the source address, the address of the destination die, and the data fragment.
And P300, redistributing each data packet to response queues of different destination die according to the address of the destination die of each data packet in sequence to obtain response queues of H destination die.
In the source die 0 After splitting data into data fragments and independently packaging each data fragment into data packets, the control unit RHIB of the destination die schedules each data packet as a unit and transmits the data fragments to the network on the die, and as the scheduling is performed by taking the data packets as a unit, the data packets of different destination die can be cross-scheduled in the scheduling process, so that the data packets returned by other destination die are inserted between a plurality of different data packets of the same data, and further disorder is caused. In order to prevent the occurrence of the disorder problem, the data packet needs to be put into a response queue corresponding to each destination die according to the different destination die before analysis, so that the returning order can be ensured not to be disordered.
And P400, analyzing the response queue of each destination die to obtain all response data, and scheduling the response data to the network-on-chip in the die for returning. Since the response queue of each destination die is order-preserving, correct phase response data can be obtained.
By splitting and reorganizing the data, the complexity of the die-to-die network protocol can be reduced, and the problem of uneven hardware resource allocation caused by overlarge transmission data length can be prevented.
As a preferred embodiment, rpack in P100 h Each data packet in the database carries the total length of response data; wherein:
p300 further comprises: and re-placing each data packet into the response queues of the destination die according to the address of the destination die of each data packet, and obtaining the response queues of H destination die when the data length of the data packet placed into the response queues of each destination die is equal to the total length of the corresponding response data. The data packets are returned to the source die in sequence 0 Source die 0 The response data are respectively put into response queues from different destination die in sequence, so that the sequential return of the returned response data can be ensured.
As a preferred embodiment, before the P100, the method further comprises:
P010, splitting each response data burst into a plurality of data fragments single with the same data length by the destination die through a control unit RHIB of the destination die, and independently packaging each split data fragment single to obtain a response data packet of each data fragment; wherein each response data burst corresponds to the data length, the read-write identity and the source die of a plurality of response data packets 0 The addresses of (a) are all the same. It should be noted that, when the data length of the response data burst is less than or equal to the data length of the data segment single, the response data burst is individually packaged into a data packet.
P020, the obtained response data packet is sent to the source die through the die network 0 . By splitting the data length into data fragments with fixed length, the sizes of all data packets transmitted through the inter-die network are the same, and the transmission protocol of the inter-die network is further simplified.
As a preferred embodiment, the response data packet in the P100 includes a read response data packet and a write response data packet; wherein:
the P300 further comprises the step of sequentially redistributing each data packet into a write response queue and a read response queue of different destination die according to the address of the destination die of each data packet and the type of the data packet, so as to obtain a write response queue and a read response queue of H destination die.
P400 also includes, respectively analyzing the write response queue and the read response queue of each destination die to obtain all the write response data and the read response data, and respectively scheduling the write response data and the read response data to the die on-chip network for returning. The read-write response data can be further divided through the step, and order-preserving return is guaranteed.
As a preferred embodiment, the die-space network is a data network-on-chip (data network on chip, DNOC). The die on-chip network is a register on-chip network (register network on chip, RNOC).
As a preferred embodiment, wherein: p400 further comprises: analyzing the response queue of each destination die to obtain all response data, obtaining preset response data of the isolation queue, and dispatching all analyzed response data and preset response data to the die on-chip network for returning; wherein the access request in the isolation queue is the source die 0 RHIB of (C) 0 The extracted destination die is invalid and is not sent to the access request of the destination die through the die-on-chip network. The isolation queue and the preset response data thereof are the same as those in the embodiment, and will not be described again. The P400 can simplify the transmission protocol of the die-chip network and ensure the sequence of data return.
As a preferred embodiment, the method for obtaining the destination die invalidation is as follows: obtaining addresses addr= { addr of X die of source die connection 1 ,addr 2 ,…,addr x ,…,addr X },addr x For the X-th die connected with the source die, the value range of X is 1 to X; the cache table is sent according to addr traversal 0 Obtaining a table 0 F destination die addresses Ndaddr which do not belong to addr, wherein F is more than or equal to 0; wherein the destination die in Ndaddr is not valid; wherein, table 0 Medium recording source die 0 RHIB of (C) 0 And sending an access request to the die-on-chip network. It should be noted that, the step of obtaining the invalid destination die is the same as the steps T810-T820 in the second embodiment, and will not be described again.
As a preferred embodiment, the access request comprises a write address request and a write data request.
Based on the same inventive concept as the method embodiment of the fourth embodiment, the fourth embodiment further provides a cross-die access system, where the system includes a processor and a non-transitory computer readable storage medium, where at least one instruction or at least one program is stored in the non-transitory computer readable storage medium, where the at least one instruction or the at least one program is loaded and executed by the processor to implement a cross-die access method provided by the third embodiment, where one cross-die access method is already described in detail in the third embodiment and is not repeated.
While certain specific embodiments of the invention have been described in detail by way of example, it will be appreciated by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the invention. Those skilled in the art will also appreciate that many modifications may be made to the embodiments without departing from the scope and spirit of the invention. The scope of the present disclosure is defined by the appended claims.

Claims (10)

1. A multi-level cross die access method, the method comprising the steps of:
s100, acquiring a source die 0 Medium IP 0 The transmitted access request req carries user information and destination address addrA, the addrA comprises destination die t Address and destination IP of (c) t Address of (a);
s200, source die 0 Die-on-chip network RNOC in die 0 Analyzing the user information and addrA carried in req to obtain the destination die t When the destination die t When the address of the address is the address of the current die, IP according to the purpose t Address of (c) sends user information to source die 0 Destination IP of (E) t The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, send req to source die 0 The control unit RHUB in (a) 0 And performs the steps of:
S220,RHUB 0 analyzing req to obtain user information and addrA, and extracting a destination die from the addrA according to a preset rule t The address of the address (A) regenerates a destination address addrB, and the user information and the addrA are packed into a data packet pack; sending addrB and pack to die inter-chip network DNOC;
s240, forwarding addrB and pack according to the routing table by DNOC, wherein the addrB and pack are forwarded to the ith die i When die i The DNOC interface of (1) analyzes addrB to obtain the destination die t When the destination die t Address and die of (d) i When the addresses of the two pairs are different, continuing to forward to the next die, otherwise, die i For purposes die t Sending pack to die i Control unit RHUB of (a) i And performs the steps of:
S242,RHUB i analyzing pack to obtain user information and addrA, and extracting addrADestination IP in (a) t Address of (a); user information and IP t Address of (c) is sent to die i Die network-on-chip RNOC i
S243,RNOC i According to the IP of the purpose t Address of (c) sends user information to die i Destination IP in (a) t
2. The method of claim 1, wherein req carries a source address, the source address comprising a source die 0 Address and source IP of (c) 0 Is a logical address of the host.
3. The method according to claim 2, wherein:
s220 further includes: RHIB (RHIB) 0 Resolving req to obtain user information, a source address and addrA, and extracting a destination die from the addrA according to a preset rule t The address of the address (A) regenerates a destination address addrB, and the user information, the source address and the addrA are packed into a data packet pack; sending addrB and pack to die inter-chip network DNOC;
S242 also includes RHIB i Analyzing pack to obtain user information, source address and addrA, and extracting target IP in addrA t Address of (a); user information and IP t Address of (c) is sent to die i Die network-on-chip RNOC i
4. A method according to claim 3, further comprising the step of responding to:
S300,RNOC i receiving destination IP t Response information response of (a) t When source die 0 When the address of the current die is the address according to the source IP 0 Address of (c) will respond t Return to source IP 0 The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, response is to t Returns to RHIB i And performs the steps of:
S320,RHUB i receiving response t And respond t And source address are packed into data packet pack t Reverse sending to IP through DNOC 0
5. The method of claim 1, wherein the die network-on-chip RNOC 0 Is a network on a register chip.
6. The method of claim 1, wherein die-on-chip network DNOC is a data-on-chip network.
7. The method of claim 1, wherein the access request is a read request or a write request.
8. The method of claim 1, wherein the RNOC 0 Transmitting req to RHIB via control channel 0
9. The method of claim 1, wherein RHUB is 0 And sending addrB through a write address channel and sending pack to die-space network-on-chip DNOC through a write data channel respectively.
10. A multi-level cross die access system comprising a processor and a non-transitory computer readable storage medium having at least one instruction or at least one program stored therein, wherein the at least one instruction or the at least one program is loaded and executed by the processor to implement the method of any one of claims 1-9.
CN202311769688.5A 2023-12-21 2023-12-21 Multistage cross die access method and system Active CN117440053B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311769688.5A CN117440053B (en) 2023-12-21 2023-12-21 Multistage cross die access method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311769688.5A CN117440053B (en) 2023-12-21 2023-12-21 Multistage cross die access method and system

Publications (2)

Publication Number Publication Date
CN117440053A true CN117440053A (en) 2024-01-23
CN117440053B CN117440053B (en) 2024-02-27

Family

ID=89550241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311769688.5A Active CN117440053B (en) 2023-12-21 2023-12-21 Multistage cross die access method and system

Country Status (1)

Country Link
CN (1) CN117440053B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117829082A (en) * 2024-02-27 2024-04-05 沐曦科技(成都)有限公司 Method for verifying multi-die topological structure, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082621A1 (en) * 2006-09-29 2008-04-03 Han Jin-Ho Slave network interface circuit for improving parallelism of on-chip network and system thereof
US20140219279A1 (en) * 2013-02-07 2014-08-07 The Royal Institution For The Advancement Of Learning / Mcgill University Methods and systems for network address lookup engines
CN105095150A (en) * 2015-08-14 2015-11-25 中国电子科技集团公司第五十八研究所 Network interface supporting network-on-chip
WO2015176646A1 (en) * 2014-05-21 2015-11-26 华为技术有限公司 Flit transmission method and device of network on chip
CN106850440A (en) * 2017-01-16 2017-06-13 北京中科睿芯科技有限公司 A kind of router, method for routing and its chip wrapped towards multiaddress shared data route
CN116248758A (en) * 2023-03-07 2023-06-09 浙江大学 Efficient bridge type connection structure of kernel-network on chip

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082621A1 (en) * 2006-09-29 2008-04-03 Han Jin-Ho Slave network interface circuit for improving parallelism of on-chip network and system thereof
US20140219279A1 (en) * 2013-02-07 2014-08-07 The Royal Institution For The Advancement Of Learning / Mcgill University Methods and systems for network address lookup engines
WO2015176646A1 (en) * 2014-05-21 2015-11-26 华为技术有限公司 Flit transmission method and device of network on chip
CN105095150A (en) * 2015-08-14 2015-11-25 中国电子科技集团公司第五十八研究所 Network interface supporting network-on-chip
CN106850440A (en) * 2017-01-16 2017-06-13 北京中科睿芯科技有限公司 A kind of router, method for routing and its chip wrapped towards multiaddress shared data route
CN116248758A (en) * 2023-03-07 2023-06-09 浙江大学 Efficient bridge type connection structure of kernel-network on chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117829082A (en) * 2024-02-27 2024-04-05 沐曦科技(成都)有限公司 Method for verifying multi-die topological structure, electronic equipment and storage medium
CN117829082B (en) * 2024-02-27 2024-05-14 沐曦科技(成都)有限公司 Method for verifying multi-die topological structure, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN117440053B (en) 2024-02-27

Similar Documents

Publication Publication Date Title
US8225027B2 (en) Mapping address bits to improve spread of banks
US7813342B2 (en) Method and apparatus for writing network packets into computer memory
CN117440053B (en) Multistage cross die access method and system
US9356844B2 (en) Efficient application recognition in network traffic
US8571848B2 (en) System and method of network emlation for test of on-line server processing heavy traffic
US20120314709A1 (en) Method for processing data packets in flow-aware network nodes
CN101257457A (en) Method for network processor to copy packet and network processor
US20240039995A1 (en) Data access system and method, device, and network adapter
CN109564502B (en) Processing method and device applied to access request in storage device
US11502967B2 (en) Methods and apparatuses for packet scheduling for software-defined networking in edge computing environment
US9838500B1 (en) Network device and method for packet processing
CN114885045B (en) Method and device for saving DMA channel resources in high-speed intelligent network card/DPU
US6636859B2 (en) Method and system for reassembling fragmented datagrams utilizing a plurality of concurrently accessible reassembly queues
US9537799B2 (en) Phase-based packet prioritization
US20110173369A1 (en) Memory management using packet segmenting and forwarding
US9665519B2 (en) Using a credits available value in determining whether to issue a PPI allocation request to a packet engine
CN117640549A (en) Cross die reverse order preservation method and system
CN117640548A (en) Cross-die access method and system
CN117640550A (en) Cross die forward order preserving method
US11824752B2 (en) Port-to-port network routing using a storage device
Pan et al. Nb-cache: Non-blocking in-network caching for high-performance content routers
US7340570B2 (en) Engine for comparing a key with rules having high and low values defining a range
CN113132273B (en) Data forwarding method and device
CN107615259A (en) A kind of data processing method and system
US20150254100A1 (en) Software Enabled Network Storage Accelerator (SENSA) - Storage Virtualization Offload Engine (SVOE)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant