CN109144898A - A kind of Installed System Memory managing device and Installed System Memory management method - Google Patents

A kind of Installed System Memory managing device and Installed System Memory management method Download PDF

Info

Publication number
CN109144898A
CN109144898A CN201710467068.4A CN201710467068A CN109144898A CN 109144898 A CN109144898 A CN 109144898A CN 201710467068 A CN201710467068 A CN 201710467068A CN 109144898 A CN109144898 A CN 109144898A
Authority
CN
China
Prior art keywords
label
request
translation
page table
compared
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
CN201710467068.4A
Other languages
Chinese (zh)
Other versions
CN109144898B (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710467068.4A priority Critical patent/CN109144898B/en
Publication of CN109144898A publication Critical patent/CN109144898A/en
Application granted granted Critical
Publication of CN109144898B publication Critical patent/CN109144898B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a kind of Installed System Memory managing device and Installed System Memory management methods, including a translation control unit, several translation buffer cells, an arbitration unit and a contrast judgement unit, wherein translation buffer cell is used to store the physical address and TAG table storage array of each main equipment, it receives the read-write requests of main equipment and translates the page table lookup result or the corresponding translation lookup table entry invalidation request of page table entry of control unit, it obtains the information therein to be compared and is sent to contrast judgement unit, generate label comparison request Concurrency and send to arbitration unit;Arbitration unit is used to compare label request and is stored and sorted;Contrast judgement unit compares request for extracting prepreerence label, obtains the corresponding information to be compared and TAG table storage array is compared, generate comparison result and be sent to translation buffer cell.The present invention effectively saves the design area of chip, saves cost for entire SOC by allowing several TBU to share a comparison judgment unit.

Description

A kind of Installed System Memory managing device and Installed System Memory management method
Technical field
The present invention relates to communication and microelectronics technology more particularly to a kind of Installed System Memory managing device and Installed System Memories Management method.
Background technique
In ARM storage system, realized using memory management unit (Memory Management Unit, MMU) virtual Mapping of the address to actual physical address.By virtual address technology, application program is believed that owned continuous available Memory (a continuous whole address space), and in fact, application program is usually divided into multiple physical memory fragments, also There is part to be stored temporarily on external disk memory, carries out data exchange when needed, so that large program is write It becomes easier to, also more efficiently to the use of real physical memory (such as RAM).With flying for electronic equipment memory space Speed development, Installed System Memory administrative unit (the System Memory of existing system on chip (System On Chip, SOC) level Management Unit, SMMU) efficiency that virtual address is converted into physical address in system is obviously improved.
As shown in Figure 1, the SMMU design framework of existing ARM company mainly includes two major parts, i.e. translation buffering is single First (Translation Buffer Unit, TBU) and translation control unit (Translation Control Unit, TCU). TBU mainly include TAG table storage array (be referred to as translation look-up table Translation Lookaside Buffer, TLB), rapid conversion of the responsible virtual address toward physical address.In TLB every a line all in store one by single PTE (Page Table Entry, page table entry) composition block, if it is possible to from TLB page table entry obtain virtual address and its it is corresponding physically Location, referred to as TLB hit (TLB Hit), otherwise referred to as TLB failure (TLB Miss).TCU includes page table lookup (Page Table Walk, PTW) function, the control register of SMMU and corresponding programming interface, second level TLB etc., responsible TLB looks into page when being not hit by Table and various controls.
In general, TCU only one, TBU can have multiple, different main equipment (Master Device) can connect The upstream of different TBU, the TLB in each TBU can reflect the address that the recent frequentation of Master Device is asked.And due to requiring TBU, which was able to achieve in the single clock cycle (Cycle), hits TLB, so logic is compared containing a large amount of in TBU, from logic synthesis Result after (Design Compiler, DC) sees therefore chip area has greatly increased, i.e., existing raising address conversion The method of efficiency be to increase area shared by SMMU as cost.If reducing the quantity of TBU or reducing in single TBU The page table entry number of level-one TLB saves area, and will affect address transformation efficiency.The SOC system to become increasingly complex is set How meter, can spend lower area cost and the efficiently address space allocation of complex management, it has also become memory management The important research direction of technology.
Summary of the invention
In order to solve the above-mentioned technical problems, the present invention provides a kind of Installed System Memory managing device and Installed System Memory managers Method can effectively save the design area of chip.
In order to reach the object of the invention, the technical solution of the embodiment of the present invention is achieved in that
The embodiment of the invention provides a kind of Installed System Memory managing devices, including translation control unit, a several translations Buffer cell, an arbitration unit and a contrast judgement unit, in which:
Control unit is translated, the lookup or global page table for carrying out second level translation look-up table are searched, and page table lookup is generated As a result and it is sent to translation buffer cell, or when page table entry is invalid, it is invalid generates the corresponding translation lookup table entry of page table entry Request Concurrency is sent to translation buffer cell;
Translate buffer cell, the label list comprising the common physical address for storing each main equipment being connected with itself Storage array, and receive the read-write requests for carrying out autonomous device and page table lookup result or page table entry from translation control unit Table entry invalidation request is searched in corresponding translation, is obtained read-write requests, page table lookup result or the corresponding translation of page table entry and is searched The information to be compared in table entry invalidation request is simultaneously sent to contrast judgement unit, generates mark corresponding with the information to be compared Label compare request Concurrency and send to arbitration unit;
Arbitration unit compares request for receiving label, compares to label and request to be stored and sorted, will be prepreerence Label compares request and is sent to contrast judgement unit;
Contrast judgement unit compares request for receiving prepreerence label, obtains prepreerence label and compare request pair The information to be compared answered and corresponding label list storage array, the information that will be compared and corresponding label list storage array into Row compares, and generates comparison result and is sent to translation buffer cell.
Further, the translation buffer cell includes separately positioned main module and label memory module, wherein
Main module, for storing the common physical address of each main equipment, receive the read-write requests for carrying out autonomous device and Page table lookup result or translation from translation control unit search table entry invalidation request, obtain read-write requests, page table respectively Lookup result or the corresponding translation of page table entry search the information to be compared in table entry invalidation request and are sent to contrast judgement Unit, generation label corresponding with the information to be compared compare request Concurrency and send to arbitration unit;
Label memory module, for storing label list storage array corresponding with common physical address.
Further, the contrast judgement unit includes No.1 multiple selector, No. two multiple selector and comparison module, Wherein:
The arbitration unit is specifically used for, and compares request to label and store simultaneously priority of disposing order, by highest priority Label compare the mark of the corresponding translation buffer cell of request and be sent to No.1 multiple selector and No. two multiple selector Select control terminal;
The data that the label list storage array of several translation buffer cells is inputted the No.1 multiple selector are defeated Enter end, by it is described it is several translation buffer cells the information inputs to be compared described in No. two multiple selector data input pin, The data output end of the No.1 multiple selector and No. two multiple selector is connected to comparison module;
The comparison module compares for the data output result to No.1 multiple selector and No. two multiple selector It is right, comparison result is sent to the translation buffer cell.
Further, the contrast judgement unit includes mutually independent first comparison module and the second comparison module, In,
The arbitration unit compares request, mark specifically for receiving the label that the read-write requests by main equipment generate It is denoted as first kind label and compares request, first kind label is compared and requests to be stored and sorted;It receives described by translation control The page table lookup result of unit returns to translation look-up table or the mark that table entry invalidation request generates is searched in the corresponding translation of page table entry Label, which compare, requests, and compares request labeled as the second class label, compares to the second class label and requests to be stored and sorted;
First comparison module compares request for extracting the prepreerence first kind label in the arbitration unit, obtains The corresponding information to be compared of request is compared with prepreerence first kind label and prepreerence first kind label compares request institute The label list storage array of the translation buffer cell of category is compared, and generates comparison result and is sent to the translation buffering list Member;
Second comparison module compares request for extracting the prepreerence second class label in the arbitration unit, obtains The corresponding information to be compared of request is compared with prepreerence second class label and prepreerence second class label compares request institute The label list storage array of the translation buffer cell of category is compared, and generates comparison result and is sent to the translation buffering list Member.
Further, when the arbitration unit is stored and sorted to label comparison request, by translation control unit The corresponding translation of page table entry searches the label that table entry invalidation request generates and compares request, by the page table lookup of translation control unit As a result it returns to the label that translation look-up table generates and compares request, and the label comparison generated by the read-write requests of main equipment is asked It asks, priority orders arrange from high to low.
Further, corresponding for the page table entry by translation control unit translation search table entry invalidation request or Page table lookup result return translation look-up table generate label compare request, the arbitration unit according to first come, first served order into Row is stored and is sorted.
Further, it is invalid to search table entry for translation corresponding for the page table entry by translation control unit to arrive simultaneously Request or page table lookup result return to the label that translation look-up table generates and compare request, and the arbitration unit is according to the label ratio The priority for the translation buffer cell for requesting initial source is stored and sorted.
Further, the label generated for the read-write requests by main equipment compares request, and the arbitration unit is pressed According to the priority orders of preassigned each main equipment, or the transmission number read and write according to main equipment is stored side by side Sequence, the transmission number that main equipment is being read and write is fewer, and the priority of sequence is higher.
The embodiment of the invention also provides a kind of Installed System Memory management methods, comprising:
Translation buffer cell in Installed System Memory managing device receives the read-write requests for carrying out autonomous device and from translation Table entry invalidation request is searched in the corresponding translation of the page table lookup result or page table entry of control unit, obtains read-write requests, page table The information to be compared in table entry invalidation request is searched in lookup result or the corresponding translation of page table entry, is generated and the letter to be compared It ceases corresponding label and compares request;
Installed System Memory managing device by compare request deposit buffer go forward side by side row major grade sequence;
Installed System Memory managing device extracts the prepreerence label in buffer and compares request, obtains prepreerence label ratio It to the information of translation buffer cell belonging to request to be compared, and is compared, generates with corresponding label list storage array Comparison result is simultaneously sent to translation buffer cell.
Further, the Installed System Memory managing device by compare request deposit buffer go forward side by side row major grade sequence when, The label that table entry invalidation request generates is searched by the corresponding translation of the page table entry of translation control unit and compares request, is controlled by translation The page table lookup result of unit processed returns to the label that translation look-up table generates and compares request, and is produced by the read-write requests of main equipment Raw label compares request, and priority orders arrange from high to low.
Technical solution of the present invention has the following beneficial effects:
Installed System Memory managing device and Installed System Memory management method provided by the invention are allowed by increasing by an arbitration unit Several TBU share a comparison judgment unit, and increased area is much smaller than the area simplified, to effectively save setting for chip Area is counted, saves cost for entire SOC.
Detailed description of the invention
The drawings described herein are used to provide a further understanding of the present invention, constitutes part of this application, this hair Bright illustrative embodiments and their description are used to explain the present invention, and are not constituted improper limitations of the present invention.In the accompanying drawings:
Fig. 1 is the structural schematic diagram of existing Installed System Memory managing device;
Fig. 2 is the structural schematic diagram of the Installed System Memory managing device of the embodiment of the present invention;
Fig. 3 is the flow diagram of the Installed System Memory management method of the embodiment of the present invention;
Fig. 4 is the structural schematic diagram of the Installed System Memory managing device of the preferred embodiment of the present invention.
Specific embodiment
To make the objectives, technical solutions, and advantages of the present invention clearer, below in conjunction with attached drawing to the present invention Embodiment be described in detail.It should be noted that in the absence of conflict, in the embodiment and embodiment in the application Feature can mutual any combination.
As shown in Fig. 2, a system in accordance with the present invention memory management device, including translation control unit (TCU) if, Dry translation buffer cell (TBU), an arbitration unit and a contrast judgement unit, in which:
Control unit is translated, the lookup or global page table for carrying out second level translation look-up table (LV2-TLB) are searched (PTW), it generates page table lookup result and is sent to translation buffer cell, or when page table entry is invalid, it is corresponding to generate page table entry Translation searches table entry invalidation request and is sent to translation buffer cell;
Buffer cell is translated, comprising for storing the common of each main equipment being connected with itself (Master Device) Label (TAG) the table storage array (TLB-TAG) of physical address, and receive the read-write requests for carrying out autonomous device and come from translation Table entry invalidation request is searched in the corresponding translation of the page table lookup result or page table entry of control unit, obtains read-write requests, page table Lookup result or the corresponding translation of page table entry search the information to be compared in table entry invalidation request and are sent to contrast judgement Unit generates label (TAG) comparison request Concurrency corresponding with the information to be compared and send to arbitration unit;
Arbitration unit compares request for receiving label, compares to label and request to be stored and sorted, will be prepreerence Label compares request and is sent to contrast judgement unit;
Contrast judgement unit compares request for receiving prepreerence label, obtains prepreerence label and compare request pair The information to be compared answered and corresponding label list storage array, the information that will be compared and corresponding label list storage array into Row compares, and generates comparison result and is sent to translation buffer cell.
It is worth noting that comparison result has hit and is not hit by two kinds of situations, when hit, can inform that correspondence is transferring buffered The index information for the TAG table entry that unit is hit, common form are the Hit signals of one-hot encoding, are also notified that when being not hit by Corresponding translation buffer cell.
Preferably, when the comparison request of prepreerence label is sent to contrast judgement unit by the arbitration unit, lead to simultaneously Know corresponding translation buffer cell.Translation buffer cell prepares to receive comparison result at this time, when contrast judgement unit sends out result When sending to each translation buffer cell, corresponding translation buffer cell parses comparison result, if hit, by corresponding physics It takes out address;If do not hit, the lookup or global page table that will deliver translation control unit progress second level translation look-up table are looked into It looks for.
In addition, translation control unit there are also some other miscellaneous functions, such as register configuration etc..It translates in buffer cell In addition to above-mentioned function, there are also some other functions, the other function is the intrinsic design of ARM company, is no longer described in detail.
When there is comparison demand, each translation buffer cell (TBU) is single to arbitration according to the enabled and not busy busy situation of itself Member is filed an application, and arbitration unit does situation to label ratio according to pre-set comparison sequence or according to the spare time of access each in SOC Request is ranked up, thus arbitrate which current TBU TAG table storage array (TLB) will with it is corresponding comprising virtual address, The information of the information such as traffic identifier (Stream ID), safety to be compared is compared.Because each label compares request and both is from Corresponding TBU chooses the corresponding information that be used to compare, and choose corresponding mark so can choose corresponding TLB after arbitration Sign table storage array.Request is compared for the label of the read-write requests generation by main equipment, the information to be compared removes virtual address Outside, also comprising security attribute/traffic identifier (Stream ID) etc., the Stream ID is a kind of main equipment function for distinguishing its source The flag information of energy.Arbitration result controls signal output by the output of arbitration unit, and contrast judgement unit generates comparison result It feeds back in each TBU, for managing the subsequent behavior after comparing hit or being not hit by.Translation buffer cell receives comparison As a result, if having in comparison result in TLB-TAG table a certain page tables entries (Page Table Entry) hit, output and its The corresponding physical address of virtual address;If do not have in comparison result hit page tables entries, will generate page table lookup request or Second level page table entry search request is to translating control unit.
Be ranked up and store since arbitration unit will compare request to label, thus arbitration unit can include it is one small Buffer (Buffer), buffer series can be set to the quantity or other values of TBU, no longer receives label ratio after Buffer is full To request.Since arbitration unit can receive the request of multiple TBU simultaneously, thus the Buffer can once be received in singly clapping it is multiple Request, by general design principles, the process of priority arbitration, which occurs to compare in label, to be requested to be recorded into after Buffer.But When the comparison number of requests initiated simultaneously in one cycle is more than Buffer residue storage, have to be written It makes a choice before Buffer, the priority of this selection can be specified by configuration register.When not remained in Buffer Label compare request and when the new label that only arrives simultaneously compares request, which compares request can be directly from buffer Straight-through (bypass) past.
Further, the translation buffer cell includes separately positioned main module and label memory module, wherein
The main module of the translation buffer cell is to translate the part rejected except label memory module in buffer cell, Function includes but is not limited to: storing the common physical address of each main equipment, receives the read-write requests for carrying out autonomous device and come Table entry invalidation request is searched from the page table lookup result of translation control unit or the corresponding translation of page table entry, obtains read-write respectively Request, page table lookup result or the corresponding translation of page table entry are searched the information to be compared in table entry invalidation request and are sent to Contrast judgement unit, generation label corresponding with the information to be compared compare request Concurrency and send to arbitration unit;
Label memory module, for storing TAG table storage array (TLB-TAG) corresponding with physical address.
It should be noted that the TAG table storage array (TLB-TAG) in existing ARM design, is concentrated in this application In label memory module, the label memory module can be the special memory (Memory) of a monolith, can read simultaneously All page table item datas of one TAG table storage array (TLB).This part it is independent be in order to the mark of all TBU Label storage table uniformly arrives to be managed together, is also provided convenience for the rear end design or Full-custom design of this part, is passed through separation The main module and label memory module of setting can more optimize entire label memory module, reduce TAG array and contrast judgement Track lengths interconnected between unit.
Further, the contrast judgement unit includes No.1 multiple selector, No. two multiple selector and comparison module, Wherein,
The arbitration unit is specifically used for, and compares request to label and store simultaneously priority of disposing order, by highest priority Label compare the mark of the corresponding translation buffer cell of request and be sent to No.1 multiple selector and No. two multiple selector Select control terminal;
The TAG table storage array of several translation buffer cells is inputted to the data input of the No.1 multiple selector It end will by the data input pin of No. two multiple selector described in the information input of several translation buffer cells to be compared The data output end of the No.1 multiple selector and No. two multiple selector is connected to comparison module;
The comparison module compares for the data output result to No.1 multiple selector and No. two multiple selector It is right, comparison result is sent to translation buffer cell.
It should be noted that the mark of the translation buffer cell can be the number or other marks of translation buffer cell Information.The comparison module completes the comparison with each single item (Entry) in TAG table usually within the single clock cycle.In addition, institute Stating No.1 multiple selector may be bigger, because to select entire array, each TAG array can be put together, with Wiring can be reduced, the full custom of the digital circuit including the No.1 multiple selector and TAG array can also be carried out No.1 multiple selector is arranged inside label memory module, they is carried out full custom as a whole and set by design Meter, can more save area in this way.
Further, the contrast judgement unit includes mutually independent first comparison module and the second comparison module, In,
Arbitration unit compares request by the label of the read-write requests generation of main equipment for receiving, is labeled as the first category Label compare request, compare to first kind label and request to be stored and sorted;Receive the page table lookup knot by translation control unit Fruit returns to translation look-up table or the corresponding translation of page table entry searches the label that table entry invalidation request generates and compares request, is labeled as Second class label compares request, compares to the second class label and requests to be stored and sorted;
First comparison module, for extract the prepreerence first kind label in arbitration unit compare request, obtain with most Preferential first kind label, which compares, requests the corresponding information to be compared and prepreerence first kind label to compare belonging to request The TAG table storage array of translation buffer cell is compared, and generates comparison result and is sent to translation buffer cell;
Second comparison module, for extract the prepreerence second class label in arbitration unit compare request, obtain with most The second preferential class label, which compares, requests the corresponding information to be compared and prepreerence second class label to compare belonging to request The TAG table storage array of translation buffer cell is compared, and generates comparison result and is sent to translation buffer cell.
It should be noted that since page table lookup (PTW) probability occurred and page table entry invalid (TLB Invalid) occur Frequency it is all fewer, and after PTW is not needed to the update of TLB continuous each time cycle yet and updates page table entry, thus than To in judging unit, only retain one group or two groups of comparators can, if with two groups of comparators, by translation control unit Page table lookup result when returning to translation look-up table or the corresponding translation of page table entry search it is required when the generation of table entry invalidation request The the second class label wanted compares one comparator of share request, compares request by the label that the read-write requests of main equipment generate and uses Another independent comparator.
Further, when the arbitration unit is stored and sorted to label comparison request, by translation control unit The corresponding translation of page table entry searches the label that table entry invalidation request generates and compares request, by the page table lookup of translation control unit As a result the label that translation look-up table generates is returned to compare request and compare request by the label that the read-write requests of main equipment generate, Its priority orders arranges from high to low.
Further, translation look-up table or the corresponding translation of page table entry are returned to by the page table lookup result of translation control unit It searches the label that table entry invalidation request generates to compare between request, according to the sequential arrangement priority of first come, first served.For same When arrive by translation control unit page table lookup result return translation look-up table or the corresponding translation look-up table of page table entry enter The label that mouth invalidation request generates compares request, and the arbitration unit is slow according to the translation that the label compares the initial source of request The priority for rushing unit is stored and is sorted, for example, for the such request to arrive simultaneously, can be by which TBU be initially come from And the priority of each TBU determined according to register, to indicate that each label compares the priority of request.It is worth explanation Be, in the existing design of ARM company the communication channel of TCU to multiple TBU generally can not transmitted in parallel, it is contemplated herein that scene Compare flexibly, the scheme is not exclusively arrested in the design of ARM company existing product.
It is worth noting that comparing the priority ranking rule between request by the label that the read-write requests of main equipment generate Which can very flexibly can be had based on register configuration come the specified label comparison request derived from main equipment higher preferential Grade can also do situation according to each spare time in relation to access in statistics SOC to distribute priority.
Specifically, the label that the read-write requests for described by main equipment generate compares request, the arbitration unit according to The priority orders of preassigned each main equipment, or the transmission number read and write according to main equipment are stored side by side Sequence, the transmission number that main equipment is being read and write is fewer, and priority is higher.Request is compared by the label that the read-write requests of main equipment generate In, this mode of transmission number that can mainly reading and writing by main equipment finds out prepreerence comparison request, the sequence of first come, first served Mode cannot distinguish between arbitrary way when priority as this mode.
It should be noted that the method for distributing priority according to busy situation of each spare time in relation to access in statistics SOC, Untreated complete transmission quantity can be counted with the handshake in the channel AXI (i.e. in SOC proprietary term The affairs amount of Outstanding), distribute to lesser one side of main equipment of the statistical parameter, the i.e. ACE- by counting each TBU The read request (ARVALID)/write request (AWVALID) and reading feedback (RLAST and RVALID are simultaneously)/that Slave mouthfuls of Lite is write anti- The number of shaking hands for presenting (BVALID) and corresponding READY signal, calculates each ACE-Lite Slave mouthfuls of the biography read and write Defeated number (i.e. just in the quantity of Outstanding), the transmission number read and write is more, illustrates the transmission sent out before the main equipment also It has not handled, it is not necessary to first be eager to handle new transmission, therefore the transmission number that main equipment can be allowed to read and write is fewer, priority is got over It is high.
As shown in figure 3, a system in accordance with the present invention EMS memory management process, comprising:
Step 301: the translation buffer cell in Installed System Memory managing device receives the read-write requests for carrying out autonomous device, and Page table lookup result or the corresponding translation of page table entry from translation control unit search table entry invalidation request, obtain read-write and ask It asks, the information to be compared in page table lookup result or the corresponding translation lookup table entry invalidation request of page table entry, generates and want The corresponding label of the information of comparison compares request;
It is worth noting that comparison result has hit and is not hit by two kinds of situations, when hit, can inform that correspondence is transferring buffered The index information for the TAG table entry that unit is hit, common form are the Hit signals of one-hot encoding, are also notified that when being not hit by Corresponding transferring buffered unit.
In addition, in translation buffer cell in addition to above-mentioned function, there are also some other functions, such as register configuration etc..Institute Stating other function is the intrinsic design of ARM company, is no longer described in detail.
When there is comparison demand, each translation buffer cell (TBU) generates label according to the spare time of itself busy and enabled situation Request is compared, Installed System Memory managing device sorts according to correlated condition, and the TAG table storage array for arbitrating which current TBU will be with It is corresponding to be compared comprising information to be compared such as virtual address, traffic identifier (Stream ID), security attributes, the ratio of generation Result is fed back in each TBU, for managing the subsequent behavior after comparing hit or being not hit by.Buffer cell is translated to receive To comparison result, if there are virtual address hits in comparison result, physical address corresponding with virtual address is exported;If than To there is no virtual address hits in result, then it can judge to generate further search request according to condition to translating control unit; It translates control unit and carries out global page table lookup (PTW) or second level translation look-up table lookup, generate page table lookup result and simultaneously send It generates the corresponding translation lookup table entry invalidation request of page table entry to translation buffer cell and simultaneously sends or when page table entry is invalid To translation buffer cell.
Further, the translation buffer cell includes isolated data storage and tag ram, and the data are deposited Reservoir is for storing physical address, and the tag ram is for storing label list storage array corresponding with physical address, institute Stating label list storage array includes virtual address, Stream ID, security attribute etc..
It should be noted that multiple TAG table storage arrays (TLB of each TBU corresponding one in existing ARM company design It is a), it is concentrated into a unified tag ram in this application, the tag ram can be deposited for the special of a monolith Reservoir (Memory) can read simultaneously the content of all entrances (Entry) of a TAG table storage array.By by label The other parts of memory and translation buffer cell are separately positioned, can more optimize entire tag ram, and reduce from rear The track lengths around TAG array that end angle is seen.
Step 302: Installed System Memory managing device by compare request deposit buffer go forward side by side row major grade sort;
In an embodiment of the present invention, buffer (Buffer) series can be set to the quantity or other values of TBU, Label, which is no longer received, after Buffer is full compares request.The Buffer can once receive multiple requests in singly clapping, by being typically designed Principle, the process of priority arbitration, which occurs to compare in label, to be requested to be recorded into after Buffer.But it is same in one cycle When the comparison number of requests of Shi Faqi is more than Buffer residue storage, have to make choosing before Buffer is written It selects, the priority of this selection can be specified by configuration register.When do not have in Buffer remaining label compare request and When the new label that only arrives simultaneously compares request, which, which compares request, directly to lead directly to (Bypass) mistake from buffer It goes.
Further, the Installed System Memory managing device by compare request deposit buffer go forward side by side row major grade sequence when, Request is compared by the label that the generation of table entry invalidation request is searched in the corresponding translation of the page table entry of translation control unit, is controlled by translation The page table lookup result of unit processed returns to the label generated when translation look-up table and compares request and the read-write requests by main equipment The label of generation compares request, and priority orders arrange from high to low.
Further, generated label compares when returning to translation look-up table by the page table lookup result of translation control unit Between request or the corresponding translation of page table entry searches the produced label wanted when table entry invalidation request generates and compares request Between, according to the sequential arrangement priority of first come, first served.Request is compared for the such label to arrive simultaneously, it can be according to the label Compare and request the priority of the translation buffer cell in initial source to determine that each label compares the priority requested, by initially Lai From which TBU and respectively by the priority of TBU as defined in register, to indicate that each label compares the priority of request.It mentions in passing And in the original design of ARM company TCU to multiple TBU communication channel generally can not transmitted in parallel, it is contemplated herein that scene ratio Relatively flexibly, it not exclusively arrests in the design of ARM company existing product.
Further, it is compared in request in the label that the read-write requests by main equipment generate, the arbitration unit is pressed It is excellent according to the priority orders for specifying each main equipment by register in advance, or according to the transmission number setting that main equipment is being read and write First grade, the transmission number that main equipment is being read and write is fewer, and priority is higher.By can mainly be set by master in the read-write requests of main equipment The standby this mode of transmission number read and write is found out prepreerence comparisons and is requested, the sortord of first come, first served as this mode not Arbitrary way when priority can be distinguished.
It should be noted that passing through Slave mouthfuls of ACE-Lite of read request (ARVALID) counting each TBU/write and ask It asks (AWVALID) and to read shaking hands for feedback (RLAST and RVALID are simultaneously)/write feedback (BVALID) and correspondence READY signal secondary Number, calculates each ACE-Lite Slave mouthfuls of the transmission number (i.e. just in the quantity of Outstanding) read and write, The transmission number of read-write is more, and the transmission sent out before illustrating the main equipment has not been handled also, it is not necessary to first it is eager to handle new transmission, because The transmission number that this can allow main equipment reading and writing is fewer, and priority is higher.
Step 303: Installed System Memory managing device extracts the prepreerence label in buffer and compares request, obtains override Label compare the information to be compared of translation buffer cell belonging to request, and compared with corresponding label list storage array It is right, it generates comparison result and is sent to translation buffer cell.
It should be noted that since page table lookup (PTW) probability occurred and page table entry invalid (TLB Invalid) occur Frequency it is all fewer, and after PTW is not needed to the update of TLB continuous each time cycle yet and updates page table entry, therefore be Unite in memory management device, only retain one group of comparator can, or it is single by translation control using the processing of comparator The page table lookup result of member returns to translation look-up table and the corresponding translation of page table entry searches table entry invalidation request generates second Class label compares request, the first kind label ratio generated using another independent comparator processing by the read-write requests of main equipment To request.
Below by way of a preferred embodiment, illustrate Installed System Memory managing device and Installed System Memory manager of the invention Method.It is worth noting that, preferred embodiment below is intended merely to preferably describe the present invention, it is improper to the present invention not constitute Restriction.
As shown in figure 4, a system in accordance with the present invention memory management device (SMMU), including following several modules:
1) control unit (Translation Control Unit, TCU) is translated
Including page table lookup (Page Table Walk, PTW) function;
Control register and corresponding programming interface including SMMU;
Including carrying out TLB by address or by the invalid module of other conditions invalid (Invalid);
It can be with second level TLB etc..
2) buffer cell (Translation Buffer Unit, TBU) is translated
Data storage (Data RAM) including level-one TLB, for storing physical address and association attributes after translation;
Including judging that generating label compares the logic requested according to condition;
Logic containing the judgement of PTW condition, the transmission for meeting condition are sent to TCU and carry out PTW process.
3) label memory module (for leaving TLB TAG array concentratedly)
The TAG array of all level-one TLB in the design of existing ARM company, is concentrated in this mould in the present embodiment In block, the special Memory an of monolith can be integrated into.This Memory can read N number of data of a TLB simultaneously, The N is the Entry number of a TLB;
The advantage of doing so is that can more optimize entire TAG Memory, reduce the array and TBU TAG selector (after MUX1 in the attached drawing of side) between track lengths interconnected.If it is the design of full custom, the MUX of this TAG array selection It can be made in inside this Memory, can more save area in this way.
4) the common multilevel iudge module of each TBU
In the work of SMMU, the key message newly transmitted that upstream main equipment (Master Device) comes should be compared, For translating physical address;Also to compare the key message that invalid module transmits in TCU, because in feelings such as the changes of page table distribution Under condition, certain page table entries (Entry) of the level-one TLB in each TBU of Invalid are needed, need to find by comparing at this time pair The Entry answered;It is also required to be compared there are also a kind of situation, when being exactly that PTW needs to update level-one TLB later, PTW is one non- Which TLB Entry is often time-consuming process need to update when the result of PTW returns to TBU, is determining by comparing at this time.
Since multiple TBU in the application only share a multilevel iudge module, it is therefore desirable to two multi-path choices be added Device (MUX), one be label memory module MUX1, to multiple labels (TAG) array carry out MUX selection, select currently than Pair TAG array;One is by multiple upstream key message carriers to be compared (including Stream ID/ virtual address/safety Etc. information) carry out MUX selection MUX2.
5) moderator
Which TBU moderator arbitrates and enjoys multilevel iudge module, and the output control signal of moderator connects MUX1 and MUX2 The end select.
The process of Installed System Memory management method of the invention it is following (following steps are successive causal orders in logic, In the details timing of realization, the thing done in the step of front and back be also possible to and meanwhile):
Step 1: each TBU receives the new transmission that main equipment (Master Device) is sent or the TLB that TCU is sent TLB request is updated after Invalid request or PTW;
Step 2: each TBU initiates label to moderator and compares request according to itself not busy busy situation and enabled situation;
Step 3: moderator, which receives, compares request, the arbitration result to multiple requests is selected, according to arbitration result, is chosen One TBU, while obtaining the TLB TAG of selected TBU and effective key message carrier is compared, generate comparison result hair Toward TBU;
Step 4: the TBU chosen by arbitration carries out further work according to comparison result, as taken out in TLB physically Location carries out second level TLB lookup or PTW preparation.
Installed System Memory managing device and Installed System Memory management method provided by the invention are allowed by increasing by an arbitration unit Several TBU share a comparison judgment unit, and increased area is much smaller than the area simplified, to save into for entire SOC This;
In addition, in common SOC design, usually using a unified DDR as final memory space, and the access of DDR Efficiency is limited, therefore is sayed to the entire SOC containing SMMU, and the bottleneck of efficiency is usually in DDR and towards the access of DDR On.Although in the design of ARM company, the completion that multiple TLB can be parallel within the single clock cycle is compared, if each TBU As soon as all downstream issue the transmission of read/write in each clock cycle, thus have in a clock cycle more read/write transmission from SMMU is sent to downstream, then efficiency will necessarily be restricted during DDR is sent in downstream.Therefore, in general, no matter How many TBU, as long as there is a contrast judgement unit to be sufficient, as long as arbitrating proper, the efficiency of entire SOC in SMMU How much not will receive influences.
Those of ordinary skill in the art will appreciate that all or part of the steps in the above method can be instructed by program Related hardware is completed, and described program can store in computer readable storage medium, such as read-only memory, disk or CD Deng.Optionally, one or more integrated circuits also can be used to realize, accordingly in all or part of the steps of above-described embodiment Ground, each module/unit in above-described embodiment can take the form of hardware realization, can also use the shape of software function module Formula is realized.The present invention is not limited to the combinations of the hardware and software of any particular form.
The foregoing is only a preferred embodiment of the present invention, is not intended to restrict the invention, for the skill of this field For art personnel, the invention may be variously modified and varied.All within the spirits and principles of the present invention, made any to repair Change, equivalent replacement, improvement etc., should all be included in the protection scope of the present invention.

Claims (10)

1. a kind of Installed System Memory managing device, which is characterized in that including translation a control unit, several translation buffer cells, one Arbitration unit and a contrast judgement unit, in which:
Control unit is translated, the lookup or global page table for carrying out second level translation look-up table are searched, and page table lookup result is generated And it is sent to translation buffer cell, or when page table entry is invalid, it generates the corresponding translation of page table entry and searches table entry invalidation request And it is sent to translation buffer cell;
Buffer cell is translated, the label list storage comprising the common physical address for storing each main equipment being connected with itself Array, and receive the read-write requests for carrying out autonomous device and corresponded to from the page table lookup result or page table entry for translating control unit Translation search table entry invalidation request, obtain read-write requests, page table lookup result or the corresponding translation look-up table of page table entry enter The information to be compared in mouthful invalidation request is simultaneously sent to contrast judgement unit, generates label ratio corresponding with the information to be compared Request Concurrency is sent to arbitration unit;
Arbitration unit compares request for receiving label, compares to label and request to be stored and sorted, by prepreerence label It compares request and is sent to contrast judgement unit;
Contrast judgement unit compares request for receiving prepreerence label, and it is corresponding to obtain prepreerence label comparison request The information to be compared and corresponding label list storage array, the information that will be compared and corresponding label list storage array are compared It is right, it generates comparison result and is sent to translation buffer cell.
2. system according to claim 1 memory management device, which is characterized in that the translation buffer cell includes separation The main module and label memory module of setting, wherein
Main module, for storing the common physical address of each main equipment, receiving the read-write requests for carrying out autonomous device and coming from The page table lookup result or translation for translating control unit search table entry invalidation request, obtain read-write requests, page table lookup respectively As a result or the corresponding translation of page table entry searches the information to be compared in table entry invalidation request and is sent to contrast judgement unit, Generation label corresponding with the information to be compared compares request Concurrency and send to arbitration unit;
Label memory module, for storing label list storage array corresponding with common physical address.
3. system according to claim 1 memory management device, which is characterized in that the contrast judgement unit includes No.1 Multiple selector, No. two multiple selector and comparison module, in which:
The arbitration unit is specifically used for, and compares request to label and store simultaneously priority of disposing order, by the mark of highest priority The mark that label compare the corresponding translation buffer cell of request is sent to the selection of No.1 multiple selector and No. two multiple selector Control terminal;
The label list storage array of several translation buffer cells is inputted to the data input pin of the No.1 multiple selector, It, will be described by the data input pin of No. two multiple selector described in the information input of several translation buffer cells to be compared The data output end of No.1 multiple selector and No. two multiple selector is connected to comparison module;
The comparison module is compared for the data output result to No.1 multiple selector and No. two multiple selector, Comparison result is sent to the translation buffer cell.
4. system according to claim 1 memory management device, which is characterized in that the contrast judgement unit includes mutual Independent first comparison module and the second comparison module, wherein
The arbitration unit compares request specifically for receiving the label that the read-write requests by main equipment generate, is labeled as First kind label compares request, compares to first kind label and requests to be stored and sorted;It receives described by translation control unit Page table lookup result return translation look-up table or page table entry it is corresponding translation search table entry invalidation request generate label ratio To request, request is compared labeled as the second class label, the second class label is compared and requests to be stored and sorted;
First comparison module, for extract the prepreerence first kind label in the arbitration unit compare request, obtain with most Preferential first kind label, which compares, requests the corresponding information to be compared and prepreerence first kind label to compare belonging to request The label list storage array of translation buffer cell is compared, and generates comparison result and is sent to the translation buffer cell;
Second comparison module, for extract the prepreerence second class label in the arbitration unit compare request, obtain with most The second preferential class label, which compares, requests the corresponding information to be compared and prepreerence second class label to compare belonging to request The label list storage array of translation buffer cell is compared, and generates comparison result and is sent to the translation buffer cell.
5. Installed System Memory managing device according to any one of claims 1 to 4, which is characterized in that the arbitration unit is to mark When label comparison request is stored and sorted, table entry invalidation request is searched by the corresponding translation of the page table entry of translation control unit The label of generation compares request, returns to the label comparison that translation look-up table generates by the page table lookup result of translation control unit and asks It asks, and request is compared by the label that the read-write requests of main equipment generate, priority orders arrange from high to low.
6. Installed System Memory managing device according to claim 5, which is characterized in that for described by translation control unit Table entry invalidation request is searched in the corresponding translation of page table entry or page table lookup result returns to the label that translation look-up table generates and compares Request, the arbitration unit are stored and are sorted according to the order of first come, first served.
7. Installed System Memory managing device according to claim 6, which is characterized in that controlled for what is arrived simultaneously by translation Table entry invalidation request is searched in the corresponding translation of the page table entry of unit or page table lookup result returns to the mark that translation look-up table generates Label compare request, and the arbitration unit is compared according to the label requests the priority of the translation buffer cell in initial source to carry out It stores and sorts.
8. Installed System Memory managing device according to claim 5, which is characterized in that asked for described by the read-write of main equipment The label of generation is asked to compare request, priority orders of the arbitration unit according to preassigned each main equipment, Huo Zhegen The transmission number read and write according to main equipment is stored and is sorted, and the transmission number that main equipment is being read and write is fewer, sequence it is preferential Grade is higher.
9. a kind of Installed System Memory management method characterized by comprising
Translation buffer cell in Installed System Memory managing device receives the read-write requests for carrying out autonomous device and from translation control Table entry invalidation request is searched in the corresponding translation of the page table lookup result or page table entry of unit, obtains read-write requests, page table lookup As a result or the information to be compared in table entry invalidation request is searched in the corresponding translation of page table entry, is generated and the information pair to be compared The label answered compares request;
Installed System Memory managing device by compare request deposit buffer go forward side by side row major grade sequence;
Installed System Memory managing device extracts the prepreerence label in buffer and compares request, obtains prepreerence label comparison and asks The information of affiliated translation buffer cell to be compared is sought, and is compared with corresponding label list storage array, comparison is generated As a result and it is sent to translation buffer cell.
10. Installed System Memory management method according to claim 9, which is characterized in that the Installed System Memory managing device will When row major grade of comparison request deposit buffer going forward side by side sorts, entered by the corresponding translation look-up table of the page table entry of translation control unit The label that mouth invalidation request generates compares request, is returned by the page table lookup result of translation control unit and translates what look-up table generated Label compares request, and compares request by the label that the read-write requests of main equipment generate, and priority orders are arranged from high to low Column.
CN201710467068.4A 2017-06-19 2017-06-19 System memory management device and system memory management method Active CN109144898B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710467068.4A CN109144898B (en) 2017-06-19 2017-06-19 System memory management device and system memory management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710467068.4A CN109144898B (en) 2017-06-19 2017-06-19 System memory management device and system memory management method

Publications (2)

Publication Number Publication Date
CN109144898A true CN109144898A (en) 2019-01-04
CN109144898B CN109144898B (en) 2023-02-17

Family

ID=64804584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710467068.4A Active CN109144898B (en) 2017-06-19 2017-06-19 System memory management device and system memory management method

Country Status (1)

Country Link
CN (1) CN109144898B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597080A (en) * 2020-12-29 2021-04-02 联芸科技(杭州)有限公司 Read request control device and method and memory controller
CN113918483A (en) * 2021-12-14 2022-01-11 南京芯驰半导体科技有限公司 Multi-master device cache control method and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088751A1 (en) * 2001-11-02 2003-05-08 Sheng-Chung Wu Memory read/write arbitrating apparatus and method
CN1952916A (en) * 2006-11-28 2007-04-25 北京中星微电子有限公司 An arbitration device and method for accessing internal storage
CN102945213A (en) * 2012-09-24 2013-02-27 无锡众志和达存储技术股份有限公司 FPGA (field programmable date array) based out-of-order memory controller and realizing method thereof
CN104583976A (en) * 2012-08-18 2015-04-29 高通科技公司 System translation look-aside buffer with request-based allocation and prefetching
US20150161057A1 (en) * 2013-12-05 2015-06-11 Qualcomm Incorporated System and method for providing client-side address translation in a memory management system
CN104731720A (en) * 2014-12-30 2015-06-24 杭州中天微系统有限公司 Set associative second-level memory management device
US20160140071A1 (en) * 2014-11-13 2016-05-19 Cavium, Inc. Arbitrated Access To Resources Among Multiple Devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088751A1 (en) * 2001-11-02 2003-05-08 Sheng-Chung Wu Memory read/write arbitrating apparatus and method
CN1952916A (en) * 2006-11-28 2007-04-25 北京中星微电子有限公司 An arbitration device and method for accessing internal storage
CN104583976A (en) * 2012-08-18 2015-04-29 高通科技公司 System translation look-aside buffer with request-based allocation and prefetching
CN102945213A (en) * 2012-09-24 2013-02-27 无锡众志和达存储技术股份有限公司 FPGA (field programmable date array) based out-of-order memory controller and realizing method thereof
US20150161057A1 (en) * 2013-12-05 2015-06-11 Qualcomm Incorporated System and method for providing client-side address translation in a memory management system
US20160140071A1 (en) * 2014-11-13 2016-05-19 Cavium, Inc. Arbitrated Access To Resources Among Multiple Devices
CN104731720A (en) * 2014-12-30 2015-06-24 杭州中天微系统有限公司 Set associative second-level memory management device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋广华等: "具有服务仲裁机制的内存数据库管理器的研究与设计", 《计算机辅助设计与图形学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597080A (en) * 2020-12-29 2021-04-02 联芸科技(杭州)有限公司 Read request control device and method and memory controller
CN113918483A (en) * 2021-12-14 2022-01-11 南京芯驰半导体科技有限公司 Multi-master device cache control method and system

Also Published As

Publication number Publication date
CN109144898B (en) 2023-02-17

Similar Documents

Publication Publication Date Title
CN105740168B (en) A kind of fault-tolerant directory caching controller
CN100421088C (en) Digital data processing device and method for managing cache data
EP0009938A1 (en) Computing systems having high-speed cache memories
CN101252536B (en) Router multi-queue data pack buffer management and output queue scheduling system
CN105900076A (en) A data processing system and method for handling multiple transactions
CN1307561C (en) Multi-level cache having overlapping congruence groups of associativity sets in different cache levels
CN103959261B (en) More kernels interconnection in network processing unit
CN102810082B (en) The Memory Controller of the priority distribution capability with dynamic port
CN106415522A (en) In-memory lightweight coherency
CN108875064A (en) OpenFlow multidimensional data matched and searched method based on FPGA
CN104156400B (en) The storage method and device of a kind of mass network flow data
CN107239413A (en) Handle memory requests
CN106682042B (en) A kind of relation data caching and querying method and device
CN105320608A (en) Memory controller and method for controlling a memory device to process access requests
CN102713864A (en) Method and system for packet switch based logic replication
CN108139882B (en) Implement the system and method for stratum's distribution lists of links for network equipment
CN105740248B (en) A kind of method of data synchronization, apparatus and system
CN109144898A (en) A kind of Installed System Memory managing device and Installed System Memory management method
CN103475584A (en) Query method and query device for ternary content addressable memory (TCAM)
CN107391422A (en) multi-path asynchronous serial communication data access system and method
CN105022322A (en) Smart medicine cabinet storage device
CN105242768A (en) Clock controlled bridge apparatus used for low-power-consumptioon high-speed AHB bus to access multiple SRAMs
CN104615684A (en) Mass data communication concurrent processing method and system
CN105260332A (en) Method and system for orderly storing CPLD data packets
CN207149259U (en) A kind of satellite data radioresistance storage device of reinforcing

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