CN103902471B - 数据缓存处理方法和装置 - Google Patents
数据缓存处理方法和装置 Download PDFInfo
- Publication number
- CN103902471B CN103902471B CN201210587169.2A CN201210587169A CN103902471B CN 103902471 B CN103902471 B CN 103902471B CN 201210587169 A CN201210587169 A CN 201210587169A CN 103902471 B CN103902471 B CN 103902471B
- Authority
- CN
- China
- Prior art keywords
- fifo memory
- cache addresses
- cache
- addresses
- fifo
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种数据缓存处理方法和装置,该方法包括:接收数据缓存请求消息;从先入先出FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,其中,所述FIFO存储器的读指针在读取所述Cache地址之后指向下一个可用的Cache地址;根据读取的Cache地址,对待缓存数据进行数据缓存处理。实现了在需要申请Cache地址时,直接获取FIFO存储器中的当前读指针所指向的Cache地址,从而提高了申请Cache地址的效率。
Description
技术领域
本发明实施例涉及存储技术,尤其涉及一种数据缓存处理方法和装置。
背景技术
在存储系统中,在数据存取装置和主存储器之间可以设置高速缓冲存储器(Cache),该Cache用于缓存数据,在需要进行缓存数据时,数据存取装置给Cache发送数据缓存指令,Cache根据数据缓存指令,申请Cache地址,然后将数据缓存至该Cache地址对应的Cache存储区域,从而可以提高该数据的访问速度。
现有技术中,主要通过对应有效位的方式(bitmap)来实现Cache地址的申请,即设置一组状态位集合,并且该一组状态位集合与Cache地址对应,然后从该一组状态位集合的一端开始,按照从小到大的顺序或者从大到小的顺序遍历,或者从该一组状态位集合的两端同时开始,按照从小到大的顺序和从大到小的顺序遍历,当遍历至有效的状态位时,可以申请该状态位对应的Cache地址,然后将该状态位从有效设置为无效,当Cache地址对应的缓存数据被访问后,则可以将该Cache地址对应的状态位从无效设置为有效。
在实现本发明的过程中,发明人发现现有技术中申请Cache地址时每次需要重新从一组状态位集合的一端开始进行遍历,从而导致申请Cache地址的效率低。
发明内容
本发明实施例提供一种数据缓存处理方法和装置,用于实现需要申请Cache地址时,直接获取FIFO存储器中的当前读指针所指向的Cache地址,从而提高了申请Cache地址的效率。
第一方面,本发明实施例提供一种数据缓存处理方法,包括:
接收数据缓存请求消息;
从先入先出FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,其中,所述FIFO存储器的读指针在读取所述Cache地址之后指向下一个可用的Cache地址;
根据读取的Cache地址,对待缓存数据进行数据缓存处理。
在第一方面的第一种可能的实现方式中,所述接收数据缓存请求消息,包括:
接收包含所需申请地址个数N的数据缓存请求消息;
所述从FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,包括:
从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,M和N均为自然数且M大于等于N。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址之前,还包括:
将Cache的所有Cache地址存储至所述M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,所述M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;
所述从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,包括:
根据所述循环访问顺序,从所述M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在接收到下一个数据缓存请求消息之后,还包括:
根据所述循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:
接收数据释放请求消息;
对已缓存数据进行数据释放处理;
将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,其中,所述FIFO存储器的写指针在写入所述Cache地址之后指向下一个可用的Cache地址存储位置。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述接收数据释放请求消息,包括:
接收包括N个释放的Cache地址的数据释放请求消息;
所述将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,包括:
将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,M和N均为自然数且M大于等于N。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,包括:
根据所述循环访问顺序,将所述N个释放的Cache地址分别写入M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,在接收到下一个数据释放请求消息之后,还包括:
根据所述循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
第二方面,本发明实施例提供一种数据缓存处理装置,包括:
接收模块,用于接收数据缓存请求消息;
读取模块,用于从先入先出FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,其中,所述FIFO存储器的读指针在读取所述Cache地址之后指向下一个可用的Cache地址;
处理模块,用于根据读取的Cache地址,对待缓存数据进行数据缓存处理。
在第二方面的第一种可能的实现方式中,所述接收模块,具体用于接收包含所需申请地址个数N的数据缓存请求消息;
所述读取模块,具体用于从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,M和N均为自然数且M大于等于N。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:
存储模块,用于将Cache的所有Cache地址存储至所述M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,所述M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;
所述读取模块,具体用于根据所述循环访问顺序,从所述M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述读取模块还用于在所述接收模块接收到下一个数据缓存请求消息之后,根据所述循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
结合第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收模块,还用于接收数据释放请求消息;
所述处理模块,还用于对已缓存数据进行数据释放处理;
所述装置还包括:
写入模块,用于将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,其中,所述FIFO存储器的写指针在写入所述Cache地址之后指向下一个可用的Cache地址存储位置。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述接收模块,具体用于接收包括N个释放的Cache地址的数据释放请求消息;
所述写入模块,具体用于将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,M和N均为自然数且M大于等于N。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述写入模块具体用于根据所述循环访问顺序,将所述N个释放的Cache地址分别写入M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述写入模块,还用于在所述接收模块接收到下一个数据释放请求消息之后,根据所述循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
本发明实施例提供的数据缓存处理方法和装置,通过接收数据缓存请求消息,从FIFO存储器中读取当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址,根据读取的Cache地址,对待缓存数据进行数据缓存处理。实现了在需要申请Cache地址时,直接获取FIFO存储器中的当前读指针所指向的Cache地址,从而提高了申请Cache地址的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据缓存处理方法实施例一的流程图;
图2为本发明数据缓存处理方法实施例二的流程图;
图3为初始化时Cache地址存储在FIFO存储器中的示意图;
图4为读取存储在FIFO存储器中的Cache地址的示意图;
图5为本发明数据缓存处理方法实施例三的流程图;
图6为本发明数据缓存处理方法实施例四的流程图;
图7为在FIFO存储器中写入释放的Cache地址的示意图;
图8为工作过程中Cache地址存储在FIFO存储器中的一种示意图;
图9为本发明数据缓存处理装置实施例一的结构示意图;
图10为本发明数据缓存处理装置实施例二的结构示意图;
图11为本发明数据缓存处理装置实施例三的结构示意图;
图12为本发明提供的计算节点实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明数据缓存处理方法实施例一的流程图,如图1所示,本实施例能够采用数据缓存处理装置来实现,并且这个装置可以为一个逻辑电路,集成在Cache中来实现本实施例的方法,本实施例的方法可以包括:
步骤101、接收数据缓存请求消息。
本实施例中,在数据存取装置需要将数据缓存至Cache时,会发送数据缓存请求消息,数据缓存处理装置接收到该数据缓存请求消息后,即获知需要为待缓存的数据申请一个Cache地址,以将该待缓存的数据缓存在该Cache地址所对应的区域,需要说明的是,Cache地址为Cache中一存储区域所对应的地址。
步骤102、从先入先出(Firt In First Out,简称为FIFO)存储器中读取当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址。
本实施例中,所有的Cache地址存储在FIFO存储器中,根据FIFO存储器的先入先出顺序,即按照Cache地址存储在FIFO存储器中的前后顺序来获取Cache地址,在FIFO存储器初始化后,FIFO存储器的读指针指向第一个存储在FIFO存储器中的Cache地址,当接收到数据缓存请求消息时,从FIFO存储器中读取当前读指针指向的第一个存储在FIFO存储器中的Cache地址,在第一个存储在FIFO存储器中的Cache地址被读取之后,则FIFO存储器的读指针指向第一个存储在FIFO存储器中的Cache地址的下一个可用的Cache地址,即第二个存储在FIFO存储器中的Cache地址;当接收到数据缓存请求消息时,直接从FIFO存储器中读取当前读指针指向的第二个存储在FIFO存储器中的Cache地址,在第二个存储在FIFO存储器中的Cache地址被读取之后,则FIFO存储器的读指针指向第二个存储在FIFO存储器中的Cache地址的下一个可用的Cache地址,即第三个存储在FIFO存储器中的Cache地址;以此类推,本发明在此不再赘述。
步骤103、根据读取的Cache地址,对待缓存数据进行数据缓存处理。
本实施例中,根据步骤102中从FIFO存储器所读取出的Cache地址,将待缓存数据缓存在该Cache地址所对应的Cache的存储区域,本领域普通技术人员可以理解,在获取到Cache地址后,如何根据Cache地址对待缓存数据进行数据缓存处理与现有技术中一致,本发明在此不再赘述。
本发明实施例一提供的数据缓存处理方法,通过接收数据缓存请求消息,从FIFO存储器中读取当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址,根据读取的Cache地址,对待缓存数据进行数据缓存处理。实现了在需要申请Cache地址时,直接获取FIFO存储器中的当前读指针所指向的Cache地址,从而提高了申请Cache地址的效率。
随着网络带宽需求的增长及相关技术的发展,同一时间对Cache进行交互的数据存取装置也会增加,就会出现同一时间需要为待缓存的数据申请多个Cache地址,但现有技术的方案同一时间最多只能申请两个Cache,无法满足需求,但是,通过本发明实施例二提供的数据缓存处理方法可以解决上述问题。
图2为本发明数据缓存处理方法实施例二的流程图,如图2所示,本实施例能够采用数据缓存处理装置来实现,并且这个装置可以为一个逻辑电路,集成在Cache中来实现本实施例的方法,本实施例的方法可以包括:
步骤201、将Cache的所有Cache地址存储至M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序。
本实施例中,根据实际应用场景中的存储系统需求,可以确定同一时间内最多需要申请的Cache地址个数,本发明对最多需要申请的Cache地址个数不做限制,根据同一时间最多需要申请的Cache地址个数去确定存储Cache地址的FIFO存储器的个数,若同一时间最多需要申请M个Cache地址,则可以设置M个FIFO存储器用于存储Cache地址,其中,M可以为自然数。然后M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序,即FIFO存储器的循环访问顺序为:第1个FIFO存储器、第2个FIFO存储器……第M个FIFO存储器、第1个FIFO存储器、第2个FIFO存储器……第M个FIFO存储器……,以此类推。每个Cache地址可以以二进制数存储在FIFO存储器中,可以设置Cache所具有的Cache地址为2n个,n可以为自然数,则Cache地址以n位二进制数存储在FIFO存储器中,因此,每个FIFO存储器中所存储的Cache地址的个数为2n/M,每个FIFO存储器中所存储的Cache地址按照先入先出顺序排序。需要说明的是,各Cache地址之间不必要连续,只要不重复即可。
图3为初始化时Cache地址存储在FIFO存储器中的示意图,如图3所示,本实施例中,以同一时间最多需要申请4个Cache地址,Cache地址的总个数为32个进行举例说明,则M=4,n=5,因此,可以设置4个FIFO存储器用于存储Cache地址,每个Cache地址以5位二进制数存储在FIFO存储器中,为了在本实施例中方便说明,本实施例中示出的Cache地址为十进制数,每个FIFO存储器中所存储的Cache地址个数为8个,对4个FIFO存储器按照循环访问顺序进行排序,并给每个FIFO存储器进行编码,即可确定循环访问顺序为第1个FIFO存储器、第2个FIFO存储器、第3个FIFO存储器、第4个FIFO存储器、第1个FIFO存储器……,以此类推,而且此时,第1个FIFO存储器当前读指针指向的是Cache地址0,第2个FIFO存储器当前读指针指向的是Cache地址8,第3个FIFO存储器当前读指针指向的是Cache地址16,第4个FIFO存储器当前读指针指向的是Cache地址24。需要说明的是,图3用于举例说明,本发明并不以此为限。
步骤202、接收包含所需申请地址个数N的数据缓存请求消息。
本实施例中,在N个数据存取装置需要将数据缓存至Cache时,会发送数据缓存请求消息,数据缓存处理装置接收到该数据缓存请求消息后,即获知需要为待缓存的数据申请N个Cache地址,以将待缓存的数据分别缓存在该N个Cache地址所对应的区域,其中,N可以为自然数,并且小于等于M。数据存取装置可以为中央处理器、对列管理模块和缓存管理模块等,本发明在此不做限制。
步骤203、根据循环访问顺序,从M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址。
本实施例中,根据步骤203中所设置的循环访问顺序,从M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,从各FIFO存储器中每读取一个Cache地址之后,各FIFO存储器均会将读指针指向按照先入先出顺序排在当前读取的Cache地址之后的下一个可用的Cache地址。需要说明的是,当每次申请的Cache地址均为M个,则可以直接从M个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
图4为读取存储在FIFO存储器中的Cache地址的示意图,如图4所示,读取存储在FIFO存储器中的Cache地址的顺序是:从下往上,从左往后。若N=4时,根据循环访问顺序,从4个FIFO存储器中的前4个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,即读取第1个FIFO存储器当前读指针指向的Cache地址0,然后第1个FIFO存储器读指针指向下一个可用的Cache地址1;读取第2个FIFO存储器当前读指针指向的Cache地址8,然后第2个FIFO存储器读指针指向下一个可用的Cache地址9;读取第3个FIFO存储器当前读指针指向的Cache地址16,然后第3个FIFO存储器读指针指向下一个可用的Cache地址17;读取第4个FIFO存储器当前读指针指向的Cache地址24,然后第4个FIFO存储器读指针指向下一个可用的Cache地址25,最后可以标记此次获取Cache地址的最后一个FIFO存储器为第4个FIFO存储器,下次可以从第4个FIFO存储器的下一个FIFO存储器即第1个FIFO存储器中读取Cache地址。若N=3时,根据循环访问顺序,从4个FIFO存储器中的前3个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,即分别读取第1个FIFO存储器、第2个FIFO存储器和第3个FIFO存储器当前读指针指向的Cache地址,详细可以参见上述的记载,此处不再赘述,最后可以标记此处获取Cache地址的最后一个FIFO存储器为第3个FIFO存储器,下次可以从第3个FIFO存储器的下一个FIFO存储器即第4个FIFO存储器中读取Cache地址。
步骤204、根据读取的Cache地址,对待缓存数据进行数据缓存处理。
本实施例中,根据步骤上述从FIFO存储器所读取出的N个Cache地址,将待缓存数据缓存在该N个Cache地址所对应的Cache的N个存储区域,本领域普通技术人员可以理解,在获取到Cache地址后,如何根据Cache地址对待缓存数据进行数据缓存处理与现有技术中一致,本发明在此不再赘述。
步骤205、在接收到下一个数据缓存请求消息之后,根据循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
本实施例中,在接收到下一个数据缓存请求消息后,获知需要申请Cache地址,根据循环访问顺序从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址,如图4所示,若上一次最后读取Cache地址的FIFO存储器为第4个FIFO存储器,根据循环访问顺序则此次从第4个FIFO存储器的下一个FIFO存储器(即第1个FIFO存储器)开始读取Cache地址,并且读取第1个FIFO存储器中当前读指针指向的Cache地址;若上一次最后读取Cache地址的FIFO存储器为第3个FIFO存储器,根据循环访问顺序则此次从第3个FIFO存储器的下一个FIFO存储器(即第4个FIFO存储器)开始读取Cache地址,并且读取的第4个FIFO存储器中当前读指针指向的Cache地址。读取Cache地址的具体实现过程,详细可以参见步骤203中的相关记载,本发明在此不再赘述。然后,以此类推,本发明在此也不再赘述。需要说明的是,当FIFO存储器中的Cache地址全部被读取之后,即FIFO存储器中已无有效的Cache地址存在,则FIFO存储器会发出空信号,表示自己存储的Cache地址为空,此时无法从该FIFO存储器中读取Cache地址。
本发明实施例二提供的数据缓存处理方法,通过将Cache的所有Cache地址存储至M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;然后接收包含所需申请地址个数N的数据缓存请求消息;根据循环访问顺序,从M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址;根据读取的Cache地址,对待缓存数据进行数据缓存处理;在接收到下一个数据缓存请求消息之后,根据循环访问顺序,从最后读取Cache地址的FIFO存储器中的下一个FIFO存储器开始读取Cache地址。实现了在需要申请多个Cache地址时,直接读取多个FIFO存储器中的当前读指针所指向的Cache地址,从而提高了申请Cache地址的效率,由于同时可以申请多个Cache地址,提高了申请Cache地址的效率。
图5为本发明数据缓存处理方法实施例三的流程图,如图5所示,本实施例能够采用数据缓存处理装置来实现,并且这个装置可以为一个逻辑电路,集成在Cache中来实现本实施例的方法,在图1所示实施例一或图2所示实施例二的基础上,本实施例的方法还可以包括:
步骤301、接收数据释放请求消息。
步骤302、对已缓存数据进行数据释放处理。
本实施例中,本领域普通技术人员可以理解,接收到数据释放请求消息,对已缓存数据进行数据释放处理,与现有技术中一致,本发明在此不再赘述。
步骤303、将释放的Cache地址写入FIFO存储器中当前写指针指向的Cache地址存储位置,其中,FIFO存储器的写指针在写入Cache地址之后指向下一个可用的Cache地址存储位置。
本实施例中,对已缓存的数据进行释放后,之前缓存该数据的Cache中的存储区域可以用于存储后续待缓存的数据,所以需要将该存储区域对应的Cache地址进行释放,将释放的Cache地址根据FIFO存储器的先入先出顺序写入至FIFO存储器中,在FIFO存储器初始化后,FIFO存储器的写指针指向该FIFO存储器中第一个Cache地址存储位置,当已缓存的数据释放后,当释放的Cache地址写入FIFO存储器中当前写指针指向的第一个Cache地址存储位置,在写入该释放的Cache地址之后,则FIFO存储器的写指针指向第一个Cache地址存储位置的下一个可用的Cache地址存储位置,即第二个Cache地址存储位置;当再需要释放Cache地址时,直接将释放的Cache地址写入当前写指针指向的第二个Cache地址存储位置,则FIFO存储器的写指针指向第二个Cache地址存储位置的下一个Cache地址存储位置,即第三个Cache地址存储位置,以此类推,本发明在此不再赘述。需要说明的是,所释放的Cache地址的顺序是随机的,不一定是所申请Cache地址的顺序。
需要说明的是,步骤302和步骤303也可以同时执行。
本发明实施例三提供的数据缓存处理方法,进一步地,通过接收数据释放请求消息,对已缓存数据进行数据释放处理,将释放的Cache地址写入FIFO存储器中当前写指针指向的Cache地址存储位置,其中,FIFO存储器的写指针在写入Cache地址之后指向下一个可用的Cache地址存储位置。实现了在释放Cache地址时,直接写入FIFO存储器中的当前写指针所指向的Cache地址存储位置,提高了释放Cache地址的效率,从而提高了申请有效Cache地址的效率。
图6为本发明数据缓存处理方法实施例四的流程图,如图6所示,本实施例能够采用数据缓存处理装置来实现,并且这个装置可以为一个逻辑电路,集成在Cache中来实现本实施例的方法,在图2所示实施例一的基础上,本实施例的方法还可以包括:
步骤401、接收包括N个释放的Cache地址的数据释放请求消息。
本实施例中,在N个数据存取装置需要将Cache中缓存的数据获取出来,会发送数据释放请求消息,数据缓存处理装置接收到该数据释放请求消息后,即获取释放的N个Cache地址,以备为后续待缓存的数据申请Cache地址,其中,N可以为自然数,并且小于等于M。
步骤402、对已缓存数据进行数据释放处理。
本实施例中,本领域普通技术人员可以理解,接收到数据释放请求消息,对已缓存数据进行数据释放处理,与现有技术中一致,本发明在此不再赘述。
步骤403、根据循环访问顺序,将N个释放的Cache地址分别写入M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,FIFO存储器的写指针在写入Cache地址之后指向下一个可用的Cache地址存储位置。
本实施例中,根据步骤203中所设置的循环访问顺序,将N个释放的Cache地址分别写入M个FIFO存储器的N个FIFO存储器中当前写指针指向的Cache地址存储位置,将各释放的Cache地址存储在各FIFO存储器之后,各FIFO存储器均会将写指针指向按照先入先出顺序排在当前写入的Cache地址存储位置的下一个可用的Cache地址存储位置。需要说明的是,当每次释放的Cache地址均为4个,则可以直接将Cache地址存储在4个FIFO存储器中当前写指针指向的可用的Cache地址存储位置。
图7为在FIFO存储器中写入释放的Cache地址的示意图,如图7所示,在FIFO存储器中写入释放的Cache地址的顺序是:从上往下,从左往右。若当N=4时,根据循环访问顺序,将4个释放的Cache地址分别写入至4个FIFO存储器当前写指针指向的Cache地址存储位置,将释放的一个Cache地址写入第1个FIFO存储器当前读指针指向的第一个Cache地址存储位置,然后第1个存储器写指针指向下一个可用的Cache地址存储位置,即第二个Cache地址存储位置;将释放的一个Cache地址写入第2个FIFO存储器当前读指针指向的第一个Cache地址存储位置,然后第2个存储器写指针指向下一个可用的Cache地址存储位置,即第二个Cache地址存储位置;将释放的一个Cache地址写入第3个FIFO存储器当前读指针指向的第一个Cache地址存储位置,然后第3个存储器写指针指向下一个可用的Cache地址存储位置,即第二个Cache地址存储位置;将释放的一个Cache地址写入第4个FIFO存储器当前读指针指向的第一个Cache地址存储位置,然后第4个存储器写指针指向下一个可用的Cache地址存储位置,即第二个Cache地址存储位置,最后可以标记此次写入Cache地址的最后一个FIFO存储器为第4个FIFO存储器,下次可以将释放的Cache地址写入至第4个FIFO存储器的下一个FIFO存储器即第1个FIFO存储器。若N=3时,根据循环访问顺序,将释放的地址分别写入4个FIFO存储器中的前3个FIFO存储器当前写指针指向的Cache地址存储位置,即分别写入第1个FIFO存储器、第2个FIFO存储器和第3个FIFO存储器当前写指针指向的Cache地址存储位置,详细可以参见上述的记载,此处不再赘述,最后可以标记此次写入Cache地址的最后一个FIFO存储器为第3个FIFO存储器,下次可以将释放的Cache地址写入至第3个FIFO存储器的下一个FIFO存储器即第4个FIFO存储器。
步骤404、在接收到下一个数据释放请求消息之后,根据循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
在本实施例中,在接收到下一个数据释放请求消息后,获取释放的Cache地址,根据循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址,如图7所示,若上一次最后写入释放的Cache地址的FIFO存储器为第4个FIFO存储器,根据循环访问顺序则此次从第4个FIFO存储器的下一个FIFO存储器(即第1个FIFO存储器)开始写入释放的Cache地址,并且写入第1个FIFO存储器中当前写指针指向的Cache地址存储位置;若上一次最后写入释放的Cache地址的FIFO存储器为第3个FIFO存储器,根据循环访问顺序则此次从第3个FIFO存储器的下一个FIFO存储器(即第4个FIFO存储器)开始写入释放的Cache地址,并且写入第4个FIFO存储器中当前写指针指向的Cache地址存储位置。写入Cache地址的具体实现过程,详细可以参见步骤403中的相关记载,本发明在此不再赘述。然后,以此类推,本发明在此也不再赘述。图8为工作过程中Cache地址存储在FIFO存储器中的一种示意图,如图8所示,所释放的Cache地址的顺序是随机的,不一定是所申请Cache地址的顺序。需要说明的是,当FIFO存储器中的Cache地址存储位置全部写入释放的Cache地址之后,即FIFO存储器中已无有用的Cache地址存储位置存在,则FIFO存储器会发出满信号,表示自己的Cache地址存储位置已满,此时无法再将释放的Cache地址写入该FIFO存储器中。
本发明实施例四提供的数据缓存处理方法,进一步地,通过接收包括N个释放的Cache地址的数据释放请求消息;对已缓存数据进行数据释放处理;根据循环访问顺序,将N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,FIFO存储器的写指针在写入所述Cache地址之后指向下一个可用的Cache地址存储位置;在接收到下一个数据释放请求消息之后,根据循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。实现了在释放多个Cache地址时,直接写入多个FIFO存储器中的当前读指针所指向的Cache地址存储位置,由于同时可以释放多个Cache地址,提高了释放Cache地址的效率,从而提高了申请Cache地址的效率。
图9为本发明数据缓存处理装置实施例一的结构示意图,如图9所示,本实施例的装置可以包括:接收模块51、读取模块52和处理模块53,其中,接收模块51用于接收数据缓存请求消息;读取模块52用于从FIFO存储器中读取当前读指针指向的Cache地址,其中,FIFO存储器的读指针在读取Cache地址之后指向下一个可用的Cache地址;处理模块53用于根据读取的Cache地址,对待缓存数据进行数据缓存处理。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。
图10为本发明数据缓存处理装置实施例二的结构示意图,如图10所示,本实施例的装置在图9所示装置实施例的基础上,本实施例的装置还包括:存储模块54,上述的接收模块51具体用于接收包含所需申请地址个数N的数据缓存请求消息;上述的读取模块52具体用于从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,M和N均为自然数且M大于等于N;该存储模块54用于将Cache的所有Cache地址存储至M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;读取模块52具体用于根据循环访问顺序,从M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
进一步地,读取模块52还用于在接收模块51接收到下一个数据缓存请求消息之后,根据循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。
图11为本发明数据缓存处理装置实施例三的结构示意图,如图11所示,本实施例的装置在图9或图10所示装置结构的基础上,本实施例的装置还包括:写入模块55,上述的接收模块51还用于接收数据释放请求消息;上述的处理模块53还用于对已缓存数据进行数据释放处理;写入模块55,用于将释放的Cache地址写入FIFO存储器中当前写指针指向的Cache地址存储位置,其中,FIFO存储器的写指针在写入Cache地址之后指向下一个可用的Cache地址存储位置。
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。
在本发明数据缓存处理装置实施例四中,本实施例的装置在图11所示装置结构的基础上,上述的接收模块51具体用于接收包括N个释放的Cache地址的数据释放请求消息;上述的写入模块55具体用于将N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,M和N均为自然数且M大于等于N。
进一步地,上述的写入模块55具体用于根据循环访问顺序,将N个释放的Cache地址分别写入前M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置。
更进一步地,写入模块55还用于在接收模块51接收到下一个数据释放请求消息之后,根据循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
本实施例的装置,可以用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。
图12为本发明提供的计算节点实施例一的结构示意图,如图12所示,本实施例提供的计算节点700可以是包含计算能力的主机服务器,或者是个人计算机(PersonalComputer;以下简称:PC),或者是可携带的便携式计算机或终端等,本发明在此不做限制,本发明具体实施例并不对计算节点700的具体实现做限定。计算节点700可以包括:处理器(Processor)710、通信接口(Communications Interface)720、存储器(memory)730、通信总线740,其中,处理器710、通信接口720和存储器730通过通信总线740完成各设备之间的通信。
存储器730用于存储执行本发明方案的程序代码。存储器730可以包含高速随机存储器(Random Access Memory,简称为RAM),也可以还包括非易失性存储器(Non-volatileMemory),例如为至少一个磁盘存储器。
处理器710用于执行存储在存储器730中的程序代码,具体地,程序代码包括计算机操作指令。其中,处理器710可以是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit;简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
在一些实施方式中,存储器730存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统731,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用模块732,包含各种应用程序,用于实现各种应用业务。
应用模块732中包括但不限于:接收模块733、读取模块734和处理模块735。进一步地,应用模块732还可以包括存储模块736。更进一步地,应用模块732还可以包括写入模块737。应用模块732中各模块的具体实现参见本发明数据缓存处理装置实施例一~四任意一实施例中的相应模块,在此不赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种数据缓存处理方法,其特征在于,包括:
接收数据缓存请求消息;
从先入先出FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,其中,所述FIFO存储器的读指针在读取所述Cache地址之后指向下一个可用的Cache地址;
根据读取的Cache地址,对待缓存数据进行数据缓存处理;
所述接收数据缓存请求消息,包括:
接收包含所需申请地址个数N的数据缓存请求消息;
所述从FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,包括:
从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,M和N均为自然数且M大于等于N;
所述从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址之前,还包括:
将Cache的所有Cache地址存储至所述M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,所述M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;
所述从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,包括:
根据所述循环访问顺序,从所述M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
2.根据权利要求1所述的方法,其特征在于,在接收到下一个数据缓存请求消息之后,还包括:
根据所述循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
接收数据释放请求消息;
对已缓存数据进行数据释放处理;
将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,其中,所述FIFO存储器的写指针在写入所述Cache地址之后指向下一个可用的Cache地址存储位置。
4.根据权利要求3所述的方法,其特征在于,所述接收数据释放请求消息,包括:
接收包括N个释放的Cache地址的数据释放请求消息;
所述将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,包括:
将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,M和N均为自然数且M大于等于N。
5.根据权利要求4所述的方法,其特征在于,所述将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,包括:
根据所述循环访问顺序,将所述N个释放的Cache地址分别写入M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置。
6.根据权利要求5所述的方法,其特征在于,在接收到下一个数据释放请求消息之后,还包括:
根据所述循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
7.一种数据缓存处理装置,其特征在于,包括:
接收模块,用于接收数据缓存请求消息;
读取模块,用于从先入先出FIFO存储器中读取当前读指针指向的高速缓冲存储器Cache地址,其中,所述FIFO存储器的读指针在读取所述Cache地址之后指向下一个可用的Cache地址;
处理模块,用于根据读取的Cache地址,对待缓存数据进行数据缓存处理;
所述接收模块,具体用于接收包含所需申请地址个数N的数据缓存请求消息;
所述读取模块,具体用于从M个FIFO存储器中的N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址,其中,M和N均为自然数且M大于等于N;
所述装置,还包括:
存储模块,用于将Cache的所有Cache地址存储至所述M个FIFO存储器中,每个FIFO存储器中存储的Cache地址的个数相同,且各FIFO存储器中的Cache地址按照所需的先入先出顺序排序,所述M个FIFO存储器按照从第1个FIFO存储器至第M个FIFO存储器的循环访问顺序排序;
所述读取模块,具体用于根据所述循环访问顺序,从所述M个FIFO存储器中的前N个FIFO存储器中分别读取各FIFO存储器当前读指针指向的Cache地址。
8.根据权利要求7所述的装置,其特征在于,
所述读取模块还用于在所述接收模块接收到下一个数据缓存请求消息之后,根据所述循环访问顺序,从最后读取Cache地址的FIFO存储器的下一个FIFO存储器开始读取Cache地址。
9.根据权利要求7或8所述的装置,其特征在于,
所述接收模块,还用于接收数据释放请求消息;
所述处理模块,还用于对已缓存数据进行数据释放处理;
所述装置还包括:
写入模块,用于将释放的Cache地址写入所述FIFO存储器中当前写指针指向的Cache地址存储位置,其中,所述FIFO存储器的写指针在写入所述Cache地址之后指向下一个可用的Cache地址存储位置。
10.根据权利要求9所述的装置,其特征在于,
所述接收模块,具体用于接收包括N个释放的Cache地址的数据释放请求消息;
所述写入模块,具体用于将所述N个释放的Cache地址分别写入M个FIFO存储器中的N个FIFO存储器中当前写指针指向的Cache地址存储位置,其中,M和N均为自然数且M大于等于N。
11.根据权利要求10所述的装置,其特征在于,所述写入模块具体用于根据所述循环访问顺序,将所述N个释放的Cache地址分别写入M个FIFO存储器中的前N个FIFO存储器中当前写指针指向的Cache地址存储位置。
12.根据权利要求11所述的装置,其特征在于,所述写入模块,还用于在所述接收模块接收到下一个数据释放请求消息之后,根据所述循环访问顺序,从最后写入释放的Cache地址的FIFO存储器的下一个FIFO存储器开始写入释放的Cache地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210587169.2A CN103902471B (zh) | 2012-12-28 | 2012-12-28 | 数据缓存处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210587169.2A CN103902471B (zh) | 2012-12-28 | 2012-12-28 | 数据缓存处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902471A CN103902471A (zh) | 2014-07-02 |
CN103902471B true CN103902471B (zh) | 2017-08-25 |
Family
ID=50993805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210587169.2A Active CN103902471B (zh) | 2012-12-28 | 2012-12-28 | 数据缓存处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902471B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636087B (zh) * | 2015-02-09 | 2018-06-26 | 华为技术有限公司 | 读取数据的控制方法和装置 |
CN108108148B (zh) * | 2016-11-24 | 2021-11-16 | 舒尔电子(苏州)有限公司 | 一种数据处理方法和装置 |
CN109840150B (zh) * | 2017-11-29 | 2021-10-26 | 北京忆芯科技有限公司 | 存储器分配器 |
CN111435332B (zh) * | 2019-01-14 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 数据处理方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267459A (zh) * | 2008-04-23 | 2008-09-17 | 北京中星微电子有限公司 | 数据输出方法及数据缓存器 |
CN101551736A (zh) * | 2009-05-20 | 2009-10-07 | 杭州华三通信技术有限公司 | 基于地址指针链表的缓存管理装置和方法 |
CN102395958A (zh) * | 2011-08-26 | 2012-03-28 | 华为技术有限公司 | 一种数据包的并发处理方法及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801203B1 (en) * | 1999-12-22 | 2004-10-05 | Microsoft Corporation | Efficient graphics pipeline with a pixel cache and data pre-fetching |
CN101146091B (zh) * | 2007-09-05 | 2010-09-08 | 中兴通讯股份有限公司 | 多通道数据输出方法及系统 |
CN102185767B (zh) * | 2011-04-27 | 2014-07-16 | 杭州华三通信技术有限公司 | 一种缓存管理方法及系统 |
CN102411543B (zh) * | 2011-11-21 | 2014-12-03 | 华为技术有限公司 | 缓存地址的处理方法和装置 |
CN102722449B (zh) * | 2012-05-24 | 2015-01-21 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及系统 |
-
2012
- 2012-12-28 CN CN201210587169.2A patent/CN103902471B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267459A (zh) * | 2008-04-23 | 2008-09-17 | 北京中星微电子有限公司 | 数据输出方法及数据缓存器 |
CN101551736A (zh) * | 2009-05-20 | 2009-10-07 | 杭州华三通信技术有限公司 | 基于地址指针链表的缓存管理装置和方法 |
CN102395958A (zh) * | 2011-08-26 | 2012-03-28 | 华为技术有限公司 | 一种数据包的并发处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103902471A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100899242B1 (ko) | 메모리 시스템 및 불휘발성 반도체 메모리 기입 방법 | |
CN103699344B (zh) | 非易失性存储器装置及其操作方法 | |
CN103425600B (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
CN103761988B (zh) | 固态硬盘及数据移动方法 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
CN108805272A (zh) | 一种基于fpga的通用卷积神经网络加速器 | |
CN103902471B (zh) | 数据缓存处理方法和装置 | |
CN109857679A (zh) | 存储器控制器、存储器系统以及存储器系统的操作方法 | |
CN107111452A (zh) | 应用于计算机系统的数据迁移方法和装置、计算机系统 | |
CN109992202A (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
CN104598161B (zh) | 数据读取、写入方法和装置及数据存储结构 | |
CN107315694A (zh) | 一种缓存一致性管理方法及节点控制器 | |
Chen et al. | Unified non-volatile memory and NAND flash memory architecture in smartphones | |
CN109426623A (zh) | 一种读取数据的方法及装置 | |
US11385900B2 (en) | Accessing queue data | |
CN104898989B (zh) | 一种大容量数据存储设备、方法及装置 | |
CN106980466A (zh) | 数据存储装置及其操作方法 | |
CN106445472B (zh) | 一种字符操作加速方法、装置、芯片、处理器 | |
CN108572932A (zh) | 多平面nvm命令融合方法与装置 | |
CN104778100A (zh) | 一种安全备份数据的方法 | |
CN108628759A (zh) | 乱序执行nvm命令的方法与装置 | |
CN105264500B (zh) | 一种数据传输方法及装置 | |
KR101934517B1 (ko) | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 | |
CN111897745B (zh) | 一种数据存储方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |