CN107710172B - 存储器的访问系统及方法 - Google Patents

存储器的访问系统及方法 Download PDF

Info

Publication number
CN107710172B
CN107710172B CN201580080676.9A CN201580080676A CN107710172B CN 107710172 B CN107710172 B CN 107710172B CN 201580080676 A CN201580080676 A CN 201580080676A CN 107710172 B CN107710172 B CN 107710172B
Authority
CN
China
Prior art keywords
data block
memory
group
target storage
read data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580080676.9A
Other languages
English (en)
Other versions
CN107710172A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107710172A publication Critical patent/CN107710172A/zh
Application granted granted Critical
Publication of CN107710172B publication Critical patent/CN107710172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储器的访问系统及方法,所述系统包括:存储器(21)、控制器(23)与冗余消除单元(22);所述存储器为多路组存储器(21);所述冗余消除单元(22)记录M条记录项,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;所述控制器(23)确定读数据块和所述读数据块的目标存储组,向所述冗余消除单元(22)发送查询消息,所述查询消息携带所述读数据块的目标存储组的组标识和所述读数据块的标签;所述冗余消除单元(22)根据所述读数据块的目标存储组的组标识,确定所述目标存储组的组标识对应的记录项,将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配,若匹配失败,向所述控制器(23)发送读数据未命中的查询响应消息。

Description

存储器的访问系统及方法
技术领域
本发明涉及存储器技术领域,特别涉及存储器的访问系统及方法。
背景技术
片内高速缓存(Cache)是当前单核处理器、多核处理器和众核处理器等多种类型处理器中的必备部件,当前的高速缓存结构普遍采用路组相联结构。但是在访问路组相连的高速缓存时,需要使能高速缓存中的所有缓存路(N路),并将访存地址中取出的标志位(Tag)与访存地址对应的缓存行中的所有标志位并行比较,并且得到是否与缓存行中其中一个标志位相同的比较结果。每次并行比较,最多与缓存行中的一项标志位相同,且此时称为高速缓存访问命中(Cache Hit),即即使在命中的情况下,也会造成至少N-1次的冗余访问;如果与缓存行中的所有标志位比较都不相同,则发生缓存访问缺失(Cache Miss),即造成至少N次冗余访问。
在多核处理器,如SMT处理器中,当多个硬件线程共享高速缓存时,同一个缓存行中的缓存块属于同一个线程的概率降低,即在一个缓存块已经被一个线程占用之后,如果另外一个线程也需要访问这个缓存块时,需要使能所有的存储路,在经过N次tag比较之后,才能确定访问缺失,然后再将缓存块中的数据替换出去,将需要访问的数据从内存中替换进来,因而使不同线程所占有的高速缓存块彼此替换的比例增高,从而使得高速缓存冗余访问的问题更为严重。
发明内容
本发明实施例提供数据写入控制装置及方法,通过两种不同写入模式的转换,提高写入装置及方法的程序执行效率。
本发明实施例的第一方面提供一种存储器的访问系统,包括:存储器、控制器与冗余消除单元;
所述存储器,包括M×N个存储块,每行存储块组成一个存储组,每列存储块组成一个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;
所述冗余消除单元,用于记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;
所述控制器,用于接收数据读请求,确定读数据块和所述读数据块的目标存储组,向所述冗余消除单元发送查询消息,所述查询消息携带所述读数据块的目标存储组的组标识和所述读数据块的标签;
所述冗余消除单元,用于根据所述读数据块的目标存储组的组标识,确定所述目标存储组的组标识对应的记录项,将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配,若匹配失败,向所述控制器发送读数据未命中的查询响应消息。
结合第一方面,在第一种可能的实现方式中,所述控制器,还用于接收数据写请求,确定写数据块的目标存储组和所述写数据块的标签,将所述写数据块存储到所述目标存储组中的目标存储块,并将所述写数据块的目标存储组的组标识以及所述写数据块的标签发送到所述冗余消除单元;
所述冗余消除单元,还用于根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述冗余消除单元将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述冗余消除单元还用于,在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,则确定匹配成功的记录位对应的存储块所在的存储路,将所确定的存储路信息发送至所述控制器,所述控制器根据所述存储路信息使能所述存储路信息对应的存储路。
结合第一方面或者第一方面的以上任何一种实现方式,在第四种可能的实现方式中,所述数据块的标签包括数据块对应的线程标识或者数据块的标识信息或者数据块对应的线程标识及数据块的标识的组合。
结合第一方面或者第一方面的以上任何一种实现方式,在第五种可能的实现方式中,当所述数据块的标签包括数据块对应的线程标识及数据块的标识信息,所述冗余消除单元在接收到所述查询消息后,具体用于:根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配成功,将所述读数据块的标识信息与所述读数据块的目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配失败,则向所述控制器发送读数据未命中的查询响应消息。
本发明的实施例的第二方面提供一种存储器的访问系统,包括:存储器、控制器与冗余消除单元;
所述存储器,包括M×N个存储块,每行存储块组成一个存储组,每列存储块组成一个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;
所述冗余消除单元,用于记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;
所述控制器,用于接收数据读请求,确定读数据块和所述读数据块的目标存储组,根据所述读数据块的目标存储组的组标识,将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配,若匹配失败,返回读数据块未命中信息。
结合第二方面,在第一种可能的实现方式中,所述控制器,还用于接收数据写请求,确定写数据块和所述写数据块的目标存储组,将所述写数据块存储到所述目标存储组中的目标存储块,并根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
结合第二方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述控制器将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述控制器还用于,在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,则确定匹配成功的记录位对应的存储块所在的存储路,并使能所述存储路信息对应的存储路。
结合第二方面或者第二方面的以上任何一种实现方式,在第四种可能的实现方式中,所述数据块的标签包括数据块对应的线程标识或者数据块的标识信息或者数据块对应的线程标识及数据块的标识的组合。
结合第二方面的第三种或者第四种可能的实现方式,在第五种可能的实现方式中,所述数据块的标签包括数据块对应的线程标识及数据块的标识信息,所述控制器根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若匹配失败,则返回未命中信息,若匹配成功,则将所述读数据块的标识信息与目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若匹配失败,并返回未命中的信息。
本发明实施例的第三方面提供一种存储器的访问方法,应用于存储器访问系统,所述访问系统包括存储器及冗余消除单元,包括M×N个存储块,每行存储块组成一个存储组,每列存储块组成一个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;所述冗余消除单元,记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;其特征在于,所述方法包括:
接收数据读请求,确定读数据块和所述读数据块的目标存储组;
根据所述读数据块的目标存储组的组标识,将所述读数据块的标签与所述读数据块的目标存储组对应的所述冗余消除单元的记录项中的已存储的数据块的标签进行匹配,若匹配失败,返回读数据块未命中信息。
结合第三方面,在第一种可能的实现方式中,所述方法包括:
接收数据写请求,确定写数据块和所述写数据块的目标存储组;
将所述写数据块存储到所述目标存储组中的目标存储块;
根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
结合第三方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述方法还包括:将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,则确定匹配成功的记录位对应的存储块所在的存储路,并使能所述存储路信息对应的存储路。
结合第三方面或者第三方面的以上任何一种实现方式,在第四种可能的实现方式中,所述数据块的标签包括数据块对应的线程标识或者数据块的标识信息或者数据块的线程标识及数据块的标识的组合。
结合第三方面或者第三方面的以上任何一种实现方式,在第五种可能的实现方式中,当所述数据块的标签包括数据块对应的线程标识及数据块的标识信息时,在接收到所述查询消息后,所述管理器具体用于:根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配成功,则将所述读数据块的标识信息与目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配失败,并返回未命中的信息。
本发明实施例的第四方面提供一种计算机设备,其特征在于,包括:处理器、第一存储器、总线和通信接口、第二存储器,所述第二存储器包括M×N个存储块,每行存储块组成一个存储组,每列存储块组成一个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;
所述第一存储器用于存储计算机执行指令,所述处理器与所述第一存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述第一存储器中存储的所述计算机执行指令,以使所述计算机设备执行如下方法:
接收数据读请求,确定读数据块和所述读数据块的目标存储组;
根据所述读数据块的目标存储组的组标识,将所述读数据块的标签与所述读数据块的目标存储组对应的所述冗余消除单元的记录项中的已存储的数据块的标签进行匹配,若匹配失败,返回读数据块未命中信息。
本发明实施例的第五方面提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:
接收数据读请求,确定读数据块和所述读数据块所在的存储器的目标存储组,所述存储器包括M×N个存储块,M行存储块组成M个存储组,N列存储块组成N个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数,所述M或N为大于等于2的正整数;
根据所述读数据块的目标存储组的组标识查询冗余消除单元,所述冗余消除单元记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;
将所述读数据块的标签与所述读数据块的目标存储组对应的所述冗余消除单元的记录项中的已存储的数据块的标签进行匹配;
若匹配失败,返回读数据块未命中信息。
本发明的实施例通过提供一个冗余消除单元,所述冗余消除单元中记录了多路组存储器中的每个存储组中的每个数据块的标签,则在有读数据请求时,将读数据请求中包含的读数据块的标签与冗余消除单元中记录的目标的存储组中的每个数据块的标签进行比对,若匹配失败,则说明本次访问请求的目标存储组中没有需要访问的数据块,如此,则不需要使能多路组存储器中的每个存储路进行数据块的标签的比对,如此,有效的减少了冗余访问,提高存储器的访问性能,同时,减少了由于冗余访问而产生的电能的消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中的多路组存储器的结构图。
图2为本发明实施例中的一种存储器的访问系统的架构图。
图3为图2所示的存储器的访问系统中的冗余消除单元的示意图。
图4为图2所示的存储器的访问系统处理数据读请求的示意图。
图5为图2所示的存储器的访问系统处理数据写请求的示意图。
图6为本发明实施例中的一种存储器的访问方法的流程图。
图7为本发明实施例提供的计算机设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为多路组存储器的结构图,所述多路组存储器一般作为内存的缓存。所述多路组存储器一般包括M×N个存储块,每行存储块组成一个存储组(Set0-SetM),每列存储块组成一个存储路(Way0-WayN),每个存储组设置有组标识,如Set0-SetM,所述M或N为大于等于2的正整数。
每个存储块包括数据块(data)及数据块标识信息。所述数据块即为每个存储块中存储的数据,所述数据块标识信息即为每个数据块的标志位(Tag),用于标记所述数据块的内存地址,即通过所述标志位可以定位所述数据块在的内存中的位置,由于每个数据块在内存中的地址是唯一的,所以所述标志位可以唯一标识所述数据块。
内存访问请求中包括所访问数据块的内存地址,内存地址一般包括所访问数据块的标志位(tag)、索引(index)、及偏移量(Offset)。在进行数据访问时,首先通过所述索引(index)定位到所访问数据块所在的存储组,然后使能所述多路组存储器的所有存储路,然后用所述访问请求中的tag与所定位的存储组中的N个tag进行匹配,若匹配成功,则根据所述偏移量Offset从匹配成功的Tag对应的数据块中获取所请求的数据,即访问命中,若匹配不成功,即访问缺失,则需要从内存中调入本次访问的数据块。
由于在数据访问过程中,即使本次访问没有命中的数据,也需要使能多路组存储器中的所有存储路,然后再将访问请求中所访问数据块的标识位与所述访问请求所对应的存储组中的所有数据块的标志位进行比对,这样,即造成了冗余访问,即使在匹配成功的情况下,由于匹配成功的数据块可能只有一个,但却需要将所有的存储路都打开,而且如果有N个存储路,则需要匹配N次,这就会造成N-1次的冗余访问。
另外,如果所述多路组存储器被多个线程使用时,如果当前线程所访问的存储组已被其他线程占用,则当前线程也还是需要打开所有的存储路,进行数据块的标志位的匹配,才能确定所访问的存储组中是否存在本次需要访问的数据块,在其中不存在本次需要访问的数据块,当前线程则需要将其他线程的数据块替换出去,而将本次访问的数据块从内存中调入,而当其他线程再次访问这个数据块时,则需要做同样的操作,如此,则造成更为严重的冗余访问。
本发明的实施例即提供一个冗余消除单元,其中记录了多路组存储器中的每个存储组中的每个数据块的标签,则在有数据访问请求时,将访问请求中包含的需要访问的数据块的标签与冗余消除单元中记录的目标的存储组中的每个数据块的标签进行比对,若匹配失败,则说明本次访问请求的目标存储组中没有需要访问的数据块,如此,则不需要使能多路组存储器中的每个存储路进行数据块的标签的比对,如此,有效的减少了冗余访问,提高存储器的访问性能,同时,减少了由于冗余访问而产生的电能的消耗。
下面结合具体实施例描述如何减少对图1中的多路组存储器的冗余访问。
如图2所示,为本发明实施例中的一种存储器的访问系统的架构图。所述存储器访问系统20包括:如图1所示的多路组存储器21、冗余消除单元22、及控制单元23。
如图3所示,所述冗余消除单元22记录了M条记录项(Item0-ItemM),每条记录项对应于所述每个存储组,所述每条记录项包括N个记录位,每个记录位对应于所述每个存储组中每个存储块,用于保存对应存储块中已存储的数据块的标签。所述数据块的标签包括数据块的标识信息、线程信息、或者数据块的标识信息与线程信息的组合。
如图4所示,所述控制器23用于接收数据读请求,获取所述读请求中的读数据块标签和所述读数据块的目标存储组的组标识,向所述冗余消除单元22发送查询消息,所述查询消息携带所述读数据块的目标存储组的组标识和所述读数据块的标签;
所述冗余消除单元22用于根据所述读数据块的目标存储组的组标识,确定所述目标存储组的组标识对应的记录项,将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配,若匹配失败,向所述控制器23发送读数据未命中的查询响应消息,这样所述控制器23就不需要打开所述存储器21的各个存储路,去对目标存储组中的各数据块的标志位进行比较,从而有效的减少了冗余访问。
另外,在所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签匹配成功后,在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,则所述冗余消除装置22确定匹配成功的记录位对应的存储块所在的存储路,将所确定的存储路信息发送至所述控制器23,所述控制器23根据所述存储路信息使能所述存储路信息对应的存储路。这样,控制器23无需打开所有存储路进行数据块标志位的比较,而只需要打开匹配成功的记录位对应的存储块所在的存储路,从而减少冗余访问。
本实施例中,所述冗余消除单元22中记录的数据块的标签为存储器21中每个数据块的Tag,或者占用每个数据块的线程信息TID,或者为每个数据块的Tag与占用每个数据块的线程信息TID的组合。
当所述数据块的标签为每个数据块的Tag时,所述控制器23即将所述数据读请求中所述读数据块的tag发送至所述冗余消除单元22进行匹配,在匹配失败的时候,则发送匹配失败的信息给所述控制器23,这样所述控制器2则不需要从所述存储器21中获取所述数据块,而在匹配成功时,则只需要打开匹配成功的记录位对应的存储块所在的存储路即可,所以消除了对所述存储器的冗余访问。
在所述存储器21应用于多线程的系统时,所述数据读请求中还包括读取所述读数据块的线程信息TID,则所述读数据块的标签为所述读数据块的线程信息TID。而所述冗余消除单元22中的每条记录项的记录位也记录的是每个存储组中已存储数据块的线程信息TID。则在接收到数据读请求时,所述控制器23即将所述数据读请求中所述读数据块的线程信息发送至所述冗余消除单元22进行匹配,在匹配失败的时候,则发送匹配失败的信息给所述控制器23,这样所述控制器23则不需要使能所述存储器21的各存储路去确定所述目标存储组中是否存在所述读数据块,而在匹配成功时,所述冗余控制器23确定匹配成功的记录位对应的存储块所在的存储路路,然后发送所述存储路信息至所述控制器23,所述控制器23使能所述存储路信息对应的存储路。
需要注意的时,由于一个线程可能占用所述目标存储组中的多个数据块,所以,所述冗余访问消除单元22所匹配成功的记录项可能为多个,这样所述控制器23还是会使能多个存储路,然后在所使能的存储路中,进一步比较所述读数据块的标志位与所述目标存储组中的数据块的标志位,若匹配失败,则返回未命中信息,若匹配成功,则读取数据。
由上面的描述可知,在多线程的系统中,使用线程信息TID进行冗余访问消除操作时,由于一个线程可能占用所述目标存储组的多个数据块,所以,只能减少冗余访问消除操作,并不能完全消除冗余访问消除操作,为了完全消除在多线程系统中的冗余访问消除操作,则所述数据块的标记可以为数据块的线程信息及数据块的标识信息的组合。
在所述数据块的标识信息为数据块的线程信息及数据块的标识信息的组合时,所述冗余消除单元22的冗余访问消除操作具体为:根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若匹配失败,则向所述控制器发送读数据未命中的查询响应消息,若匹配成功,则将所述读数据块的标识信息与所述目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若匹配失败,则向所述控制器23发送读数据未命中的查询响应消息。如此,可完全消除多线程系统中的冗余访问消除操作。
如图5所示,所述控制器23还用于接收数据写请求,确定写数据块的目标存储组和所述写数据块的标签,将所述写数据块存储到所述目标存储组中的目标存储块,并将所述写数据块的目标存储组的组标识以及所述写数据块的标签发送到所述冗余消除单元。所述冗余消除单元22还用于根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
且所述冗余消除单元22中每个记录项记录的数据块的标签随着所述多路组存储器中的存储块中存储的数据块的变更而变更,例如,当所述存储器21中的存储块组Item 2中位于存储路way2的存储块的数据块由data1更新为data2时,则所述冗余消除单元22中与所述存储块对应的记录位处所存储的记录项也由标记A变换为标记B。
在其他实施例中,所述冗余消除单元22并非一独立的硬件元件,而是作为一种数据结构存储在所述存储器21中,或者存储在所述控制器23中存储控制指令的寄存器中。如此,在接收到数据读请求时,所述控制器23确定读数据块和所述读数据块的目标存储组,根据所述读数据块的目标存储组的组标识查询所述冗余消除单元,将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配,若匹配失败,返回读数据块未命中信息。
在接收到数据写请求时,所述控制器23确定写数据块和所述写数据块的目标存储组,将所述写数据块存储到所述目标存储组中的目标存储块,并根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
如图6所示,为本发明实施例中的存储器访问方法的流程图。所述存储器访问方法应用于存储器访问系统,所述存储器访问系统包括存储器及冗余消除单元。所述存储器包括M×N个存储块,每行存储块组成一个存储组,每列存储块组成一个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;所述冗余消除单元记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签。
所述存储器访问方法包括:
步骤S601,接收数据读请求,确定读数据块和所述读数据块的目标存储组;
步骤S602,根据所述读数据块的目标存储组的组标识,确定所述读数据块的目标存储组对应的所述冗余消除单元的记录项;
步骤S603,将所述读数据块的标签与所述读数据块的目标存储组对应的所述冗余消除单元的记录项中的已存储的数据块的标签进行匹配;
步骤S604,判断匹配是否成功,若匹配失败,则执行步骤S605,若匹配成功,则执行步骤S606;
步骤S605,返回读数据块未命中信息;
步骤S606,若匹配成功,则确定匹配成功的记录位对应的存储块所在的存储路;
步骤S604,使能所述存储路信息对应的存储路。
如图7所示,为本发明实施例提供的计算机设备的结构组成示意图。本发明实施例的计算机可包括:
处理器701、内存702、系统总线704和通信接口705。处理器701、内存702和通信接口705之间通过系统总线704连接并完成相互间的通信。
处理器701可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器702可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器702用于计算机执行指令703。具体的,计算机执行指令703中可以包括程序代码。
当计算机运行时,处理器701运行计算机执行指令703,可以执行图6所述的方法流程。
本发明实施例还提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行图6所述的方法流程。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据写入装置及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种存储器的访问系统,包括:存储器、控制器与冗余消除单元;
所述存储器,包括M×N个存储块,M行存储块组成M个存储组,N列存储块组成N个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;
所述冗余消除单元,用于记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签,所述标签包括所述已存储数据块对应的线程标识及数据块的标识信息;
所述控制器,用于接收数据读请求,确定读数据块和所述读数据块的目标存储组,向所述冗余消除单元发送查询消息,所述查询消息携带所述读数据块的目标存储组的组标识和所述读数据块的标签;
所述冗余消除单元,用于在接收到所述查询消息后,根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配成功,将所述读数据块的标识信息与所述读数据块的目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配失败,则向所述控制器发送读数据未命中的查询响应消息。
2.根据权利要求1所述的系统,其特征在于,
所述控制器,还用于接收数据写请求,确定写数据块和所述写数据块的目标存储组,将所述写数据块存储到所述目标存储组中的目标存储块,并将所述写数据块的目标存储组的组标识以及所述写数据块的标签发送到所述冗余消除单元;
所述冗余消除单元,还用于根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
3.根据权利要求2所述的系统,其特征在于,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述冗余消除单元还用于将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
4.根据权利要求3所述的系统,其特征在于,所述冗余消除单元还用于,在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,确定匹配成功的记录位对应的存储块所在的存储路,将所述确定的存储路信息发送至所述控制器;
所述控制器还用于根据所述确定的存储路信息使能所述确定的存储路信息对应的存储路。
5.一种存储器的访问系统,包括:存储器、控制器与冗余消除单元;
所述存储器,包括M×N个存储块,M行存储块组成M个存储组,N列存储块组成N个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数;
所述冗余消除单元,用于记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签;
所述控制器,用于接收数据读请求,确定读数据块和所述读数据块的目标存储组,根据所述读数据块的目标存储组的组标识查询所述冗余消除单元,根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配成功,将所述读数据块的标识信息与目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配,若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配失败,则返回未命中的信息。
6.根据权利要求5所述的系统,其特征在于,
所述控制器,还用于接收数据写请求,确定写数据块和所述写数据块的目标存储组,将所述写数据块存储到所述目标存储组中的目标存储块,并根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
7.根据权利要求6所述的系统,其特征在于,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述控制器还用于将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
8.根据权利要求7所述的系统,其特征在于,所述控制器还用于,在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,确定匹配成功的记录位对应的存储块所在的存储路,并使能所述确定的存储路。
9.一种存储器的访问方法,应用于存储器访问系统,其特征在于,所述存储器访问系统包括存储器及冗余消除单元,所述存储器包括M×N个存储块,M行存储块组成M个存储组,N列存储块组成N个存储路每个存储组设置有组标识,所述M或N为大于等于2的正整数;所述冗余消除单元,记录M条记录项,每条记录项对应于所述每个存储组,所述每条记录项用于保存所述每个存储组中已存储数据块的标签,所述数据块的标签包括数据块对应的线程标识及数据块的标识信息;所述方法包括:
接收数据读请求,确定读数据块和所述读数据块的目标存储组;
根据所述读数据块的目标存储组的组标识查询所述冗余消除单元;
根据所述读数据块的目标存储组的组标识,将所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息进行比较;
若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配成功,则将所述读数据块的标识信息与目标存储组对应的记录项中的匹配成功的已存储的数据块的数据块标识进行匹配;
若所述读数据块的线程标识与所述读数据块的目标存储组对应的记录项中的已存储的数据块的线程信息匹配失败,并返回未命中的信息。
10.根据权利要求9所述的方法,其特征在于,还包括:
接收数据写请求,确定写数据块和所述写数据块的目标存储组;
将所述写数据块存储到所述目标存储组中的目标存储块;
根据所述写数据块的目标存储组的组标识,在所述写数据块的目标存储组的组标识对应的记录项中记录所述写数据块的标签。
11.根据权利要求10所述的方法,其特征在于,所述冗余消除单元中的所述每条记录项包含N个记录位,每个记录位对应于所述每个存储组中每个存储块;
所述方法还包括:将所述已存储的数据块的标签记录到所述已存储的数据块所在的存储组对应的记录项中对应的记录位中。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:在将所述读数据块的标签与所述读数据块的目标存储组对应的记录项中的已存储的数据块的标签进行匹配成功时,确定匹配成功的记录位对应的存储块所在的存储路,并使能所述确定的存储路。
13.一种计算机设备,其特征在于,包括:处理器、第一存储器、总线、通信接口及第二存储器,所述第二存储器包括M×N个存储块,M行存储块组成M个存储组,N列存储块组成N个存储路,每个存储组设置有组标识,所述M或N为大于等于2的正整数,所述M或N为大于等于2的正整数;所述第一存储器用于存储计算机执行指令,所述处理器与所述第一存储器通过所述总线连接,当所述计算机设备运行时,所述处理器执行所述第一存储器中存储的所述计算机执行指令,以使所述计算机设备执行权利要求9-12任意一项所述的方法。
14.一种计算机可读介质,其特征在于,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行权利要求9-12任意一项所述的方法。
CN201580080676.9A 2015-06-02 2015-06-02 存储器的访问系统及方法 Active CN107710172B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/080609 WO2016192045A1 (zh) 2015-06-02 2015-06-02 存储器的访问系统及方法

Publications (2)

Publication Number Publication Date
CN107710172A CN107710172A (zh) 2018-02-16
CN107710172B true CN107710172B (zh) 2020-07-07

Family

ID=57439988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080676.9A Active CN107710172B (zh) 2015-06-02 2015-06-02 存储器的访问系统及方法

Country Status (4)

Country Link
US (1) US10901640B2 (zh)
EP (1) EP3296880B1 (zh)
CN (1) CN107710172B (zh)
WO (1) WO2016192045A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459659B2 (en) * 2017-03-31 2019-10-29 Intel Corporation Technologies for issuing commands on selected memory devices
CN110855579A (zh) * 2019-10-18 2020-02-28 北京全路通信信号研究设计院集团有限公司 一种交换机及其数据记录方法
CN111859040B (zh) * 2020-07-17 2022-05-13 苏州浪潮智能科技有限公司 一种数据匹配方法、装置及相关设备
CN111984552A (zh) * 2020-08-21 2020-11-24 苏州浪潮智能科技有限公司 一种缓存管理方法、装置及电子设备和存储介质
CN116680089B (zh) * 2023-08-03 2023-11-14 上海登临科技有限公司 一种访存控制结构、方法、内存系统、处理器及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813031A (en) * 1994-09-21 1998-09-22 Industrial Technology Research Institute Caching tag for a large scale cache computer memory system
CN1763730A (zh) * 2004-10-22 2006-04-26 富士通株式会社 用于在处理环境中提供路径记忆的系统和方法
CN101523359A (zh) * 2006-08-18 2009-09-02 Mips技术公司 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用
CN101727311A (zh) * 2009-12-03 2010-06-09 浙江大学 用于降低指令缓存功耗的分支序列缓冲器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493800B1 (en) * 1999-03-31 2002-12-10 International Business Machines Corporation Method and system for dynamically partitioning a shared cache
US6845432B2 (en) 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6943800B2 (en) * 2001-08-13 2005-09-13 Ati Technologies, Inc. Method and apparatus for updating state data
JP3981070B2 (ja) * 2003-12-26 2007-09-26 株式会社東芝 キャッシュリプレース装置及びキャッシュリプレース方法
KR100688503B1 (ko) 2004-11-02 2007-03-02 삼성전자주식회사 브랜치 목적 어드레스를 이용하여 캐쉬 웨이를 예측하는프로세서 및 그 방법
US7475192B2 (en) 2005-07-12 2009-01-06 International Business Machines Corporation Cache organization for power optimized memory access
US7689772B2 (en) 2006-05-04 2010-03-30 Intel Corporation Power-performance modulation in caches using a smart least recently used scheme
US8225046B2 (en) 2006-09-29 2012-07-17 Intel Corporation Method and apparatus for saving power by efficiently disabling ways for a set-associative cache
JP5413001B2 (ja) * 2009-07-09 2014-02-12 富士通株式会社 キャッシュメモリ
US8631207B2 (en) 2009-12-26 2014-01-14 Intel Corporation Cache memory power reduction techniques
JP2012203729A (ja) * 2011-03-25 2012-10-22 Fujitsu Ltd 演算処理装置および演算処理装置の制御方法
CN102662868B (zh) 2012-05-02 2015-08-19 中国科学院计算技术研究所 用于处理器的动态组相联高速缓存装置及其访问方法
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption
US9311098B2 (en) 2013-05-07 2016-04-12 Apple Inc. Mechanism for reducing cache power consumption using cache way prediction
GB2537357A (en) * 2015-04-09 2016-10-19 Imagination Tech Ltd Cache operation in a multi-threaded processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813031A (en) * 1994-09-21 1998-09-22 Industrial Technology Research Institute Caching tag for a large scale cache computer memory system
CN1763730A (zh) * 2004-10-22 2006-04-26 富士通株式会社 用于在处理环境中提供路径记忆的系统和方法
CN101523359A (zh) * 2006-08-18 2009-09-02 Mips技术公司 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用
CN101727311A (zh) * 2009-12-03 2010-06-09 浙江大学 用于降低指令缓存功耗的分支序列缓冲器

Also Published As

Publication number Publication date
CN107710172A (zh) 2018-02-16
EP3296880A4 (en) 2018-06-20
US10901640B2 (en) 2021-01-26
WO2016192045A1 (zh) 2016-12-08
EP3296880B1 (en) 2022-09-21
EP3296880A1 (en) 2018-03-21
US20180121126A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US10901640B2 (en) Memory access system and method
US9916253B2 (en) Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US8321637B2 (en) Computing system with optimized support for transactional memory
US20180300240A1 (en) Method, apparatus and computer readable medium for building muti-tier flash cache by using spare flash drives
US8095741B2 (en) Transactional memory computing system with support for chained transactions
US8127184B2 (en) System and method including built-in self test (BIST) circuit to test cache memory
US10019381B2 (en) Cache control to reduce transaction roll back
US20080313405A1 (en) Coherency maintaining device and coherency maintaining method
US20190278770A1 (en) Time Series Data Management Method, Device, And Apparatus
CN103150395B (zh) 基于ssd的文件系统目录路径解析方法
KR20140012186A (ko) 메모리 페이지들의 일부에 저장된 메타데이터를 갖는 메모리
US8032706B2 (en) Method and apparatus for detecting a data access violation
US10185505B1 (en) Reading a portion of data to replicate a volume based on sequence numbers
CN101788922A (zh) 基于辅助线程实现事务存储系统的方法和装置
CN106569960A (zh) 一种混合主存的末级缓存管理方法
CN107025130B (zh) 处理节点、计算机系统及事务冲突检测方法
US20110161631A1 (en) Arithmetic processing unit, information processing device, and control method
US10783021B2 (en) Transaction management for multi-node clusters
US8667325B2 (en) Method, apparatus and system for providing memory sparing information
US8595465B1 (en) Virtual address to physical address translation using prediction logic
US9639477B2 (en) Memory corruption prevention system
CN114489480A (zh) 高并发存储数据的方法及系统
US20210064368A1 (en) Command tracking
CN117453632B (zh) 一种数据存储方法及装置
CN114020525B (zh) 故障隔离方法、装置、设备及存储介质

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