CN102521151A - 数据缓存方法和装置 - Google Patents
数据缓存方法和装置 Download PDFInfo
- Publication number
- CN102521151A CN102521151A CN2011103848235A CN201110384823A CN102521151A CN 102521151 A CN102521151 A CN 102521151A CN 2011103848235 A CN2011103848235 A CN 2011103848235A CN 201110384823 A CN201110384823 A CN 201110384823A CN 102521151 A CN102521151 A CN 102521151A
- Authority
- CN
- China
- Prior art keywords
- cache
- target data
- data
- time
- delay
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/174—Telecommunications system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据缓存方法和装置,属于网络应用领域。该方法包括:接收第一数据请求;将所述第一数据请求中的目标数据写入到片内缓存Cache中,并统计所述目标数据在所述片内缓存中的存储时间;当所述目标数据在所述Cache中的存储时间达到预设延时时间时,使能所述目标数据的延时通过标识;当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据。本发明实施例采用较少的资源实现了不同数据在片内存留时间的近似均等、不增加原有cache的深度、充分发挥cache的性能,提高了网络应用中cache的命中率,使得数据缓存更适合当前的网络应用。
Description
技术领域
本发明涉及网络应用领域,特别涉及一种数据缓存方法和装置。
背景技术
通用的延时通道delay cache方案广泛的应用于CPU设计、高速缓存等各种应用场景,基本的思想是将可释放的cache放入延时释放通道,当延时到达时,即可释放cache,将数据写入片外存储器;但在网络应用中,由于不同流带宽的差异、流数的随机、业务处理时间的不定,导致通用的delay cache方案不再用。具体来说,网络应用中对cache的需求是大于配置带宽的流一定能命中cache,避免高带宽流的处理频繁访问片外存储器。这就要求每个cache从占用至释放的时间(存留时间)需近似相等,在此期间如果收到同一类型的流,即可以命中cache直接进行处理。传统的delay cache采用将完成处理的cache进入延时通道的机制,由于处理时间的不定,会导致cache的存留时间相差很大,故会对网络应用造成一定的影响。
发明内容
本发明实施例提供了一种数据缓存方法和装置。所述技术方案如下:
一种数据缓存方法,包括:
接收第一数据请求;
将所述第一数据请求中的目标数据写入到片内缓存Cache中,并统计所述目标数据在所述片内缓存中的存储时间;
当所述目标数据在所述Cache中的存储时间达到预设延时时间时,使能所述目标数据的延时通过标识;
当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据。
一种数据缓存装置,包括:
数据读写请求处理模块,用于将第一数据请求中的目标数据写入到片内存储模块的缓冲存储器Cache中;
所述片内存储模块,包括用于存储所述目标数据的所述缓冲存储器,以及延时缓存模块,其中,所述延时缓存模块用于在所述目标数据被写入到所述片内存储模块的Cache中后,统计所述目标数据在所述Cache中的存储时间;
标识使能模块,用于当所述目标数据被写入所述Cache中时,为所述目标数据设置延时通过标识和处理完成标识,其中,当所述目标数据在所述Cache中的存储时间达到预设延时时间时,所述标识使能模块使能所述延时通过标识;当所述目标数据被处理完成时,所述标识使能模块使能所述目标数据在所述Cache中的处理完成标识,
其中,所述片内存储模块还用于在所述Cache中的所述目标数据的延时通过标识和处理完成标识均处于使能状态时,释放所述目标数据。
本发明实施例提供的技术方案的有益效果是:
通过统计目标数据在片内缓存中的存储时间,并根据该统计的存储时间以及存储时间达到预设延时时间时使能的延时通过标识,并在目标数据被处理完成且延时通过标识为使能状态时,释放目标数据,改变了现有技术中将目标数据进行固定延时的做法,大大减少了占用的资源,采用较少的资源实现了不同数据在片内存留时间的近似均等、不增加原有cache的深度、充分发挥cache的性能,使得数据缓存更适合当前的网络应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据缓存方法的流程图;
图2是本发明实施例提供的一种数据缓存方法的流程图;
图3是本发明实施例提供的一种数据缓存装置的结构示意图;
图4是本发明实施例提供的一种数据缓存装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据缓存方法的流程图。参见图1,该实施例提供的数据缓存方法包括:
101、接收第一数据请求;
在本实施例中,该数据请求可以为数据报文入队请求、流标号是指报文的队列号,指示当前报文去往的用户,流标号决定了流去往哪里。
102、将所述第一数据请求中的目标数据写入到片内缓存Cache中,并统计所述目标数据在所述片内缓存中的存储时间;
在本实施例中,cache ID用于标识存储该目标数据的cache块,通过在delaybuffer中存储cache ID,该delay buffer的深度等于预设延时时间。
103、当所述目标数据在所述Cache中的存储时间达到预设延时时间时,使能所述目标数据的延时通过标识;
在本实施例中,当目标数据在cache中的存储时间达到delay buffer的深度时,使能目标数据的延时通过标识,此时对该目标数据的处理有可能未完成,则此时,不能释放目标数据,直到目标数据的处理完成,才能释放该目标数据。
进一步地,当所述目标数据被处理完成时,使能所述目标数据的处理完成标识,相应地,当所述当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据包括:
当所述目标数据的延时通过标识和处理完成标识均处于使能状态时,释放所述目标数据。
104、当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据。
其中,处理完成是指发起第一数据请求的应用等已经使用完目标数据。
进一步地,该方法还包括:
接收第二数据请求;
当所述第二数据请求命中存储在所述Cache中的所述目标数据时,重置所述目标数据在所述Cache中的存储时间,并且,如果所述目标数据的延时通过标识处于使能状态,则将所述目标数据的延时通过标识置为无效状态;
当所述目标数据在所述Cache中的存储时间再次达到所述预设延时时间时,再次使能所述目标数据的延时通过标识。
通过统计目标数据在片内缓存中的存储时间,并根据该统计的存储时间以及存储时间达到预设延时时间时使能的延时通过标识,并在目标数据被处理完成且延时通过标识为使能状态时,释放目标数据,改变了现有技术中将目标数据进行固定延时的做法,大大减少了占用的资源,采用较少的资源实现了不同数据在片内存留时间的近似均等、不增加原有Cache的深度、充分发挥Cache的性能,使得数据缓存更适合当前的网络应用。
图2是本发明实施例提供的一种数据缓存方法的流程图。在本实施例中,通过delay buffer来设置预设延时时间,参见图2,该实施例具体包括:
201、接收携带流标号的第一数据请求,根据所述流标号匹配片内缓存Cache;
在本实施例中,当接收到第一数据请求时,该第一数据请求中会携带流标号。每个Cache块中都有一个数据域,用于存储当前Cache块服务的流标号。
202、通过比较第一数据请求的流标号与流标号表确定该第一数据请求未命中片内缓存Cache;
Cache由数据存储器、流标号表、失效判断逻辑、访存控制器组成。流标号表的输入通道通过主存地址总线与CPU、数据存储器和访存控制器相连,输出端与失效判断逻辑相连。流标号表所包含的项数等于Cache的块数,每一项对应Cache中的一个块,它通过记录该主存储器块地址一一标识来指明当前该块中存放的信息是哪个主存块的。当一个主存块被调入Cache中某一个块时,该主存块的流标号就被填入流标号表中与该Cache块相应的项中。
通过比较主存地址总线上的标识即流标号与标志表输出的标识是否相等来判断数据请求是否命中或未命中,如果相等则表示命中,如果不相等则表示未命中。其中,命中意味着所要访问的数据在cache中,失效意味着cache中没有所要访问的数据。
其中,根据流标号匹配cache是现有技术,在此不再赘述。
在本实施例中,仅以第一数据请求未命中cache为例进行说明。
203、为将所述第一数据请求中的目标数据写入到片内缓存Cache时,将所述目标数据的缓存标识Cache ID写入延时缓存delay buffer的队尾;
在本实施例中,该延时缓存delay buffer用于存储Cache ID,该delay buffer中存储的数据可以按照预设周期从队尾向队头移动。本领域技术人员可以获知,本实施例所述的队尾是指尾指针所指的地址,队头是指头指针所指的地址。当有新的cache ID写入队尾时,尾指针和头指针均加1,则可以认为原来存储的cache ID向队头移动了一个地址,当Cache ID的延时达到了delay buffer的深度,则头指针指向该Cache ID,可释放该Cache ID。在另一实施例中,该delay buffer的尾指针和头指针还可以每隔预设时长移动一个地址,使得当Cache ID的延时达到了delay buffer的深度,则头指针指向该Cache ID。
204、接收携带流标号的第二数据请求,根据所述流标号匹配片内缓存Cache;
该步骤204与步骤201同理,在此不再赘述。
205、通过比较第二数据请求的流标号与流标号表确定该第二数据请求命中片内缓存Cache;
206、获取命中的Cache ID;
在本实施例中,每个cache块中包括数据和该数据对应的Cache ID,在数据的处理过程中,该数据存储于cache中,当数据处理完成后,且数据对应的CacheID的延时通过标识处于无效状态,cache不释放该数据。当通过步骤202的比较,确定接收的第二数据请求命中cache中存储的数据时,获取该命中的数据的Cache ID。
每个cache块都有两个idle标志,处理完成标识use_idle和延时通过标识delay_idle;其中,use_idle存储在片内缓存外,当请求分配一个cache块时,将当前cache块的use_idle置为无效;当请求使用完该cache块时,将标志置为有效。delay_idle存储在delay_buffer中,当请求分配一个cache块时,将当前cache块的delay_idle置为有效;如果delay buffer中的Cache ID被重新命中,则该CacheID的delay_idle置为无效。当Cache ID从delay buffer中移出时,数据在Cache内的存储时间达到预设延时时间,将delay_idle置为有效。当两个标志都有效时,cache可以释放标识对应的数据,当前Cache ID可以进入idle池,如果请求没有命中cache,则从idle池中随机选择一个cache块使用。
207、根据所述命中的Cache ID匹配延时缓存delay buffer,确定所述命中的Cache ID命中delay buffer;
在本实施例中,延时缓存delay buffer用于储存cache中数据所对应的CacheID,数据仍存储在cache中,该Cache ID的数据大小远远小于cache中数据的大小,在根据命中的Cache ID匹配delay buffer时,可能出现两种情况,delay buffer中还未释放该命中的Cache ID,则命中delay buffer;或,delay buffer中已释放该命中的Cache ID,则未命中delay buffer。需要说明的是,delay buffer中所有数据的延时时长是相同的,由于数据在cache中的处理时间不同,当处理时间较长,可能会出现delay buffer已释放该Cache ID的情况。
本实施例仅以Cache ID命中delay buffer为例进行说明。
208、重置目标数据在所述Cache中的存储时间,并且,如果所述目标数据的延时通过标识处于使能状态,则将所述目标数据的延时通过标识置为无效状态。
在该步骤208中,根据命中结果确定第二数据请求所请求的数据存储于Cache中,则为了延长该数据的延时,减少对主存的读取,重置目标数据在所述Cache中的存储时间,具体地,该重置过程包括:当命中所述delay buffer,将命中的所述Cache ID对应的延时通过标识置为无效;当所述delay buffer已写满时,将命中的所述Cache ID写入所述delay buffer的尾指针指向的地址,将所述头指针和尾指针加1,并将命中的所述Cache ID对应的延时通过标识置为有效;当所述delay buffer未写满时,将命中的所述Cache ID写入所述delay buffer的尾指针指向的地址,所述头指针保持不变,将所述尾指针加1,并将命中的所述Cache ID对应的延时通过标识置为有效。相同流标号的请求的时间间隔小于delay buffer的延时时间,就一定能命中cache。
在另一实施例中,当未命中所述delay buffer且所述delay buffer已写满时,将所述Cache ID写入所述delay buffer的尾指针指向的地址,将所述头指针和尾指针加1,将所述Cache ID对应的延时通过标识置为有效;
当未命中所述delay buffer且当所述delay buffer未写满时,将所述Cache ID写入所述delay buffer的尾指针指向的地址,所述头指针保持不变,将所述尾指针加1,将所述Cache ID对应的延时通过标识置为有效。
在另一实施例中,当未命中cache时,说明该cache中未存储该数据请求对应的数据或该请求的数据已经被延时释放,则为该数据请求分配新的Cache ID,并将该新分配的Cache ID写入延时释放通道delay buffer,以便后续再接收到其他数据请求时,根据第二数据请求对cache进行匹配。由于Cache ID的大小很小,因此,delay buffer的深度可以很深,增加了数据的存留时间。
举例说明,如果cache的深度是128,入口的速率是FP1,则每个cache的平均使用时间应为128个cycle(数据的最大处理时间必须小于等于128个cycle),配置delay buffer的深度为120,保证了每个cache至少会使用120个cycle后才会被释放(也就是数据存留的时间),而平均的使用时间是128个cycle,所以每个cache的存留时间相差不大,性能逼近LRU(Latest Recently Used)替换策略,数据的存留时间相对固定。而且,深度128的cache,入口的速率是FP1,每个cache的平均使用时间为128个cycle,把每个cache限制为必须使用120个cycle后才允许释放,不会存在因为增加了该限制而出现cache不够的情况发生,所以对cache的深度无影响,不会增加cache的深度。
209、当所述目标数据在所述Cache中的存储时间再次达到预设延时时间时,使能所述目标数据的延时通过标识;
通过将cache ID重新写入delay buffer的队尾,实现了对cache中目标数据的存储时间的延时。
210、当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据。
需要说明的是,该释放目标数据可以被动释放,当接收到第三数据请求,且该第三数据请求未命中cache时,根据cache中目标数据的处理完成标识和延时通过标识,获知该目标数据可以释放,则释放该目标数据,将第三数据请求对应的数据写入cache,并为之分配cache ID,将cache ID写入delay buffer。
本实施例提供的方法,支持FP1的申请、匹配cache,其中,cache的深度,delay buffer的深度可根据实际需求进行设置,本发明实施例不做具体限定。
在另一实施例中,该delay buffer的功能可以用计数器实现,cache的每个存储单元都配置一个counter计数器,counter的初值配置为cache的每个存储单元中数据的存留时间,如果接收到的数据请求命中cache的某个存储单元,将对应的counter置为初始值,其他counter继续计时;如果请求没有命中cache,分配counter减为0的cache给当前请求。
通过统计目标数据在片内缓存中的存储时间,并根据该统计的存储时间以及存储时间达到预设延时时间时使能的延时通过标识,并在目标数据被处理完成且延时通过标识为使能状态时,释放目标数据,改变了现有技术中将目标数据进行固定延时的做法,通过改变delay buffer的存储数据类型,仅在delay buffer中存储Cache的缓存索引,大大减少了delay buffer占用的资源,采用较少的资源实现了不同数据在片内存留时间的近似均等、不增加原有cache的深度、充分发挥cache的性能,提高了网络应用中cache的命中率,使得数据缓存更适合当前的网络应用。
图3是本发明实施例提供的一种数据缓存装置的结构示意图。参见图3,该实施例具体包括:
数据读写请求处理模块301,用于将第一数据请求中的目标数据写入到片内存储模块302的缓冲存储器Cache中;
所述片内存储模块302,包括用于存储所述目标数据的所述缓冲存储器3021,以及延时缓存模块3022,其中,所述延时缓存模块用于在所述目标数据被写入到所述片内存储模块的Cache中后,统计所述目标数据在所述Cache中的存储时间;
标识使能模块303,用于当所述目标数据被写入所述Cache中时,为所述目标数据设置延时通过标识和处理完成标识,其中,当所述目标数据在所述Cache中的存储时间达到预设延时时间时,所述标识使能模块使能所述延时通过标识;当所述目标数据被处理完成时,所述标识使能模块使能所述目标数据在所述Cache中的处理完成标识,
其中,所述片内存储模块302还用于在所述Cache中的所述目标数据的延时通过标识和处理完成标识均处于使能状态时,释放所述目标数据。
参见图4,所述装置还包括:
重置模块304,用于当第二数据请求命中存储在所述Cache中的所述目标数据时,重置所述目标数据在所述Cache中的存储时间,并且,
所述标识使能模块303,还用于如果所述目标数据的延时通过标识处于使能状态,则将所述目标数据的延时通过标识置为无效状态;
所述标识使能模块303,还用于当所述目标数据在所述Cache中的存储时间再次达到所述预设延时时间时,再次使能所述目标数据的延时通过标识。
所述标识使能模块303,还用于如果所述第一数据请求被处理完成时,使能所述目标数据的处理完成标识,
所述标识使能模块303,还用于当所述第二数据请求命中存在所述Cache中的所述目标数据时,将所述目标数据的处理完成标识置为无效状态。
所述装置还包括:写入模块305,用于将所述第一数据请求中的目标数据写入到片内缓存Cache时,将所述目标数据的缓存标识Cache ID写入延时缓存的队尾;
相应地,所述延时缓存模块3022具体用于当所述目标数据的Cache ID在所述延时缓存中从队尾移动到队头时,所述目标数据在所述Cache中的存储时间达到所述预设延时时间。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据缓存方法,其特征在于,包括:
接收第一数据请求;
将所述第一数据请求中的目标数据写入到片内缓存Cache中,并统计所述目标数据在所述片内缓存中的存储时间;
当所述目标数据在所述Cache中的存储时间达到预设延时时间时,使能所述目标数据的延时通过标识;
当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据。
2.如权利要求1所述的数据缓存方法,其特征在于,还包括:
当所述目标数据被处理完成时,使能所述目标数据的处理完成标识,
相应地,当所述当所述目标数据的延时通过标识处于使能状态,且所述目标数据被处理完成时,释放所述目标数据包括:
当所述目标数据的延时通过标识和处理完成标识均处于使能状态时,释放所述目标数据。
3.如权利要求1所述的数据缓存方法,其特征在于,还包括:
接收第二数据请求;
当所述第二数据请求命中存储在所述Cache中的所述目标数据时,重置所述目标数据在所述Cache中的存储时间,并且,如果所述目标数据的延时通过标识处于使能状态,则将所述目标数据的延时通过标识置为无效状态;
当所述目标数据在所述Cache中的存储时间再次达到所述预设延时时间时,再次使能所述目标数据的延时通过标识。
4.如权利要求3所述的数据缓存方法,其特征在于,
在接收所述第二数据请求之前,所述方法还包括:
如果所述第一数据请求被处理完成时,使能所述目标数据的处理完成标识,
当所述第二数据请求命中存在所述Cache中的所述目标数据时,将所述目标数据的处理完成标识置为无效状态。
5.如权利要求1所述的数据缓存方法,其特征在于,
将所述第一数据请求中的目标数据写入到片内缓存Cache时,将所述目标数据的缓存标识Cache ID写入延时缓存的队尾;
相应地,所述统计所述目标数据在所述片内缓存中的存储时间包括:
当所述目标数据的Cache ID在所述延时缓存中从队尾移动到队头时,所述目标数据在所述Cache中的存储时间达到所述预设延时时间。
6.一种数据缓存装置,其特征在于,包括:
数据读写请求处理模块,用于将第一数据请求中的目标数据写入到片内存储模块的缓冲存储器Cache中;
所述片内存储模块,包括用于存储所述目标数据的所述缓冲存储器,以及延时缓存模块,其中,所述延时缓存模块用于在所述目标数据被写入到所述片内存储模块的Cache中后,统计所述目标数据在所述Cache中的存储时间;
标识使能模块,用于当所述目标数据被写入所述Cache中时,为所述目标数据设置延时通过标识和处理完成标识,其中,当所述目标数据在所述Cache中的存储时间达到预设延时时间时,所述标识使能模块使能所述延时通过标识;当所述目标数据被处理完成时,所述标识使能模块使能所述目标数据在所述Cache中的处理完成标识,
其中,所述片内存储模块还用于在所述Cache中的所述目标数据的延时通过标识和处理完成标识均处于使能状态时,释放所述目标数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
重置模块,用于当第二数据请求命中存储在所述Cache中的所述目标数据时,重置所述目标数据在所述Cache中的存储时间,并且,
所述标识使能模块,还用于如果所述目标数据的延时通过标识处于使能状态,则将所述目标数据的延时通过标识置为无效状态;
所述标识使能模块,还用于当所述目标数据在所述Cache中的存储时间再次达到所述预设延时时间时,再次使能所述目标数据的延时通过标识。
8.根据权利要求6所述的装置,其特征在于,所述标识使能模块,还用于如果所述第一数据请求被处理完成时,使能所述目标数据的处理完成标识,
所述标识使能模块,还用于当所述第二数据请求命中存在所述Cache中的所述目标数据时,将所述目标数据的处理完成标识置为无效状态。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
写入模块,用于将所述第一数据请求中的目标数据写入到片内缓存Cache时,将所述目标数据的缓存标识Cache ID写入延时缓存的队尾;
相应地,所述延时缓存模块具体用于当所述目标数据的Cache ID在所述延时缓存中从队尾移动到队头时,所述目标数据在所述Cache中的存储时间达到所述预设延时时间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103848235A CN102521151A (zh) | 2011-11-28 | 2011-11-28 | 数据缓存方法和装置 |
US13/687,955 US9208087B2 (en) | 2011-11-28 | 2012-11-28 | On-chip data caching method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103848235A CN102521151A (zh) | 2011-11-28 | 2011-11-28 | 数据缓存方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521151A true CN102521151A (zh) | 2012-06-27 |
Family
ID=46292081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103848235A Pending CN102521151A (zh) | 2011-11-28 | 2011-11-28 | 数据缓存方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9208087B2 (zh) |
CN (1) | CN102521151A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268382A (zh) * | 2015-03-27 | 2018-07-10 | 英特尔公司 | 两级存储器全行写入 |
CN110058786A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN112527697A (zh) * | 2020-05-11 | 2021-03-19 | 大唐半导体科技有限公司 | Cache RAM与Retention RAM数据交换控制器及实现方法 |
CN115629718A (zh) * | 2022-12-08 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 用于片上系统的存储结构及其管理方法、装置和机器可读存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101936951B1 (ko) * | 2018-04-11 | 2019-01-11 | 주식회사 맴레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
CN111355673A (zh) * | 2018-12-24 | 2020-06-30 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111818108B (zh) * | 2019-04-10 | 2022-07-19 | 阿里巴巴集团控股有限公司 | 一种确保数据获取一致性的方法和装置 |
US11481330B2 (en) * | 2020-06-03 | 2022-10-25 | Micron Technology, Inc. | Cache architectures with address delay registers for memory devices |
US11595457B2 (en) * | 2021-04-05 | 2023-02-28 | Arris Enterprises Llc | System and method for dynamic adjustment of content streaming rates |
CN115639949A (zh) * | 2021-07-20 | 2023-01-24 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152229A1 (en) * | 2001-04-16 | 2002-10-17 | Luosheng Peng | Apparatus and methods for managing caches on a mobile device |
CN101197786A (zh) * | 2008-01-02 | 2008-06-11 | 杭州华三通信技术有限公司 | 缓存管理方法和缓存管理系统 |
CN1997015B (zh) * | 2006-11-24 | 2011-04-20 | 华为技术有限公司 | 缓存应用方法与装置以及文件传输系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0752399B2 (ja) * | 1988-06-30 | 1995-06-05 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 記憶システム |
US6490654B2 (en) * | 1998-07-31 | 2002-12-03 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
JP3620473B2 (ja) * | 2001-06-14 | 2005-02-16 | 日本電気株式会社 | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 |
JP3813930B2 (ja) * | 2002-01-09 | 2006-08-23 | 松下電器産業株式会社 | プロセッサ及びプログラム実行方法 |
US6701393B1 (en) * | 2002-06-27 | 2004-03-02 | Emc Corporation | Systems and methods for managing storage location descriptors |
-
2011
- 2011-11-28 CN CN2011103848235A patent/CN102521151A/zh active Pending
-
2012
- 2012-11-28 US US13/687,955 patent/US9208087B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152229A1 (en) * | 2001-04-16 | 2002-10-17 | Luosheng Peng | Apparatus and methods for managing caches on a mobile device |
CN1997015B (zh) * | 2006-11-24 | 2011-04-20 | 华为技术有限公司 | 缓存应用方法与装置以及文件传输系统 |
CN101197786A (zh) * | 2008-01-02 | 2008-06-11 | 杭州华三通信技术有限公司 | 缓存管理方法和缓存管理系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268382A (zh) * | 2015-03-27 | 2018-07-10 | 英特尔公司 | 两级存储器全行写入 |
CN110058786A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN110058786B (zh) * | 2018-01-18 | 2022-12-02 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN112527697A (zh) * | 2020-05-11 | 2021-03-19 | 大唐半导体科技有限公司 | Cache RAM与Retention RAM数据交换控制器及实现方法 |
CN115629718A (zh) * | 2022-12-08 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 用于片上系统的存储结构及其管理方法、装置和机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20130282984A1 (en) | 2013-10-24 |
US9208087B2 (en) | 2015-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521151A (zh) | 数据缓存方法和装置 | |
JP5610636B2 (ja) | トラフィッククラスと関連するポートをもつマルチポートのメモリコントローラ | |
CN103946803B (zh) | 具有高效工作排队的处理器 | |
CN105786448B (zh) | 一种指令调度方法及装置 | |
CN101079015B (zh) | 数据传送方法及系统 | |
CN101122886B (zh) | 分配缓存空间的方法和装置以及缓存控制器 | |
US9507752B2 (en) | Methods, apparatus and systems for facilitating RDMA operations with reduced doorbell rings | |
CN109815172B (zh) | 设备控制器以及包括其的储存设备 | |
US8583873B2 (en) | Multiport data cache apparatus and method of controlling the same | |
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
CN102130833A (zh) | 一种高速路由器流量管理芯片链表存储管理方法及系统 | |
CN109240980A (zh) | 具有多个高速串行访存通道的访存密集型算法加速芯片 | |
CN103095686A (zh) | 热点元数据访问控制方法和服务器 | |
WO2016019554A1 (zh) | 一种队列管理的方法和装置 | |
CN106775477B (zh) | Ssd主控数据传输管理装置及方法 | |
WO2015187824A1 (en) | Command trapping in an input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN104252422A (zh) | 内存访问方法和内存控制器 | |
CN103207776B (zh) | 一种gene乱序发射处理器内核 | |
CN104808950B (zh) | 对嵌入式存储器元件的模式依赖性访问 | |
CN116257191B (zh) | 存储器的控制器、组件、电子设备及命令调度方法 | |
US10740029B2 (en) | Expandable buffer for memory transactions | |
CN103746940B (zh) | 一种网络设备以及解包输出报文的方法 | |
CN104391680B (zh) | 一种超标量微处理器中实现存储指令流水提交方法 | |
US20080228999A1 (en) | Dual use for data valid signal in non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120627 |