CN101478481B - 缓存管理方法及装置、数据转发系统 - Google Patents

缓存管理方法及装置、数据转发系统 Download PDF

Info

Publication number
CN101478481B
CN101478481B CN200910000387XA CN200910000387A CN101478481B CN 101478481 B CN101478481 B CN 101478481B CN 200910000387X A CN200910000387X A CN 200910000387XA CN 200910000387 A CN200910000387 A CN 200910000387A CN 101478481 B CN101478481 B CN 101478481B
Authority
CN
China
Prior art keywords
weight
cache blocks
mistake
buffer
taken place
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.)
Expired - Fee Related
Application number
CN200910000387XA
Other languages
English (en)
Other versions
CN101478481A (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 Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec 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 Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN200910000387XA priority Critical patent/CN101478481B/zh
Publication of CN101478481A publication Critical patent/CN101478481A/zh
Application granted granted Critical
Publication of CN101478481B publication Critical patent/CN101478481B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例具体公开了一种缓存管理方法,所述方法包括:统计缓存区中空闲缓存块的数量;当统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。本发明实施例还公开了一种缓存管理装置、数据转发系统。本发明实施例所述方法、装置及系统,能够有效提高数据报文缓存系统的可靠性。

Description

缓存管理方法及装置、数据转发系统 
技术领域
本发明涉及通信领域,特别是涉及一种缓存管理方法及装置、数据转发系统。 
背景技术
在数据转发的通信设备中,很多业务处理,例如流量管理、异步传输模式(ATM:Asynchronous Transfer Mode)信元重组等,通常都要实现报文的存储。一般均采用数据转发芯片实现。 
参照图1,为现有技术所述数据转发芯片结构示意图。 
所述芯片包括:输入处理模块1、中间处理模块2、输出处理模块3、缓存管理模块4。芯片外挂数据缓存器5。 
当一个数据报文从输入接口进入芯片内部后,由输入处理模块1向缓存管理模块4申请一个空闲的缓存指针,将数据报文写入所述缓存指针所指向的缓存空间,同时提取出后继模块需要分析的报文信息及所述缓存指针发送至中间处理模块2。经中间处理模块2处理完成后,输出处理模块3根据所述缓存指针从数据缓存器5中对应缓存空间内将数据报文读出,对数据报文进行相应的编辑处理后发送出去,同时将所述缓存指针释放给缓存管理模块4,进行缓存回收处理。至此,完成对一个数据报文的处理。 
常用的缓存管理模块4一般采用权重随机存储器(RAM:Random Access Memory)的缓存管理方法进行缓存管理。参照图2所示,为权重RAM结构示意图。将数据缓存器中的缓存区按照固定的大小分成多个缓存逻辑块,每个缓存逻辑块对应一个缓存指针。例如,假设数据缓存区的大小为16M字节,每个缓存逻辑块的大小为2K字节,那么就有8K个缓存逻辑块,这8K个缓存逻辑块对应的缓存指针为0~8191。每个逻辑块对应权重RAM中的一个字节,因此权重RAM的索引地址数与缓存指针数相同,权重RAM的每个地址对应相应的缓存指针。假设每个逻辑块权重值为8bit,则每个逻辑块对应的权重值最大为255,整个权重RAM的大小为8192×8bit。 
采用权重RAM的缓存管理方法的处理流程如下所述:当一个空闲缓存逻 辑块被分配出去后,缓存管理模块将权重RAM中与缓存指针对应位置的内容全写1,即为255。当芯片的中间处理模块处理完毕后,输出处理模块释放缓存逻辑块并给出释放权重值,缓存管理模块响应释放申请后将权重RAM中的对应位置的权重值减去输出处理模块给出的释放权重值。当权重RAM中的权重值为0时,表示该缓存逻辑块的缓存释放完毕。缓存管理模块对此缓存逻辑块进行回收处理,回收后将所述缓存逻辑块作为空闲缓存块等待下次被申请。由此,实现了缓存逻辑块的申请和释放循环过程,保证数据报文的正常存储和转发。 
参见图2,权重RAM中的不同的值表示了缓存逻辑块的当前状态。图示地址为0的逻辑块权重值为180,说明该缓存逻辑块权重释放了75,还没有完全释放,该逻辑块仍处于被占用状态。图示地址为1的缓存逻辑块权重值为0,说明该缓存逻辑块已释放完毕,为空闲缓存块。图示地址为2的逻辑块权重值为255,说明该缓存逻辑块还未释放。 
在实际应用中,经常出现由于设计缺陷造成的缓存漏释放、误释放等现象。由于存储器失效等原因,可能出现权重RAM中的值错误,从而导致缓存块权重错误,造成某个指针在所有释放操作完成后,其对应权重RAM中的权重值不为0,使所述指针对应的缓存逻辑块无法被回收。随着上述错误逐渐累积,缓存空间将被消耗空,所有的缓存逻辑块均处于被占用状态,没有空闲缓存块。此时,输入处理模块将无法申请到空闲缓存指针存储数据报文,导致后继处理步骤无法进行,从而导致整个芯片无法接收报文,形成死机现象,造成系统可靠性大大降低。 
发明内容
本发明所要解决的技术问题是提供一种缓存管理方法及装置、数据转发系统,以提高数据报文缓存系统的可靠性。 
为实现上述目的,本发明实施例提供了如下技术方案: 
一种缓存管理方法,所述方法包括: 
统计缓存区中空闲缓存块的数量; 
当统计的空闲缓存块的数量小于预设阈值时,确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,执行初始化操作,初始化所述缓存区; 否则不执行初始化操作。 
一种缓存管理装置,所述装置包括: 
空闲缓存块统计单元,用于统计缓存区中空闲缓存块的数量; 
权重释放错误确定单元,用于确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知初始化执行单元; 
初始化执行单元,用于当系统发生了权重释放错误且统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。 
一种数据转发系统,所述系统包括:数据转发芯片和数据存储器;所述数据转发芯片包括输入处理模块、中间处理模块、输出处理模块、以及缓存管理模块;所述缓存管理模块包括:空闲缓存块统计单元、权重释放错误确定单元和初始化执行单元; 
空闲缓存块统计单元,用于统计数据存储器中空闲缓存块的数量; 
权重释放错误确定单元,用于确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知所述初始化执行单元; 
初始化执行单元,用于当系统发生了权重释放错误且数据存储器中的空闲缓存块的数量小于预设阈值时,执行初始化操作。 
与现有技术相比,本发明具有以下优点: 
在本发明实施例中,统计缓存区中空闲缓存块的数量,当缓存区中空闲缓存块的数量小于预设阈值时,系统自动执行初始化操作。采用本发明实施例,当缓存丢失达到一定程度时,系统能够自动执行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1为现有技术所述数据转发芯片结构示意图; 
图2为权重RAM结构示意图; 
图3为本发明第一实施例的缓存管理方法流程图; 
图4为本发明第二实施例的缓存管理方法流程图; 
图5为本发明第三实施例的缓存管理方法流程图; 
图6为本发明第四实施例的缓存管理装置结构图; 
图7为本发明第五实施例的缓存管理装置结构图; 
图8为本发明第六实施例的缓存管理装置结构图; 
图9为本发明第七实施例的数据转发系统示意图。 
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 
参照图3,为本发明第一实施例的缓存管理方法流程图,所述方法包括: 
步骤S301:统计缓存区中空闲缓存块的数量。 
步骤S302:当统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。 
本发明实施例一所述方法,统计空闲缓存块的数量,当空闲缓存块的数量小于预设阈值时,系统自动执行初始化操作。采用所述方法,当缓存丢失达到一定程度时,系统能够自动执行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
优选地,本发明实施例一的方法在步骤S302之后可以进一步包括: 
步骤S303:对所述初始化操作的情况进行记录或上报中断至中央处理器(CPU:Central Processing Unit),供系统进行记录和分析。 
通过系统对自动执行初始化操作的时间、原因等状况进行统计、分析,以便进一步优化,使系统运行更加稳定、可靠。 
本发明实施例二所述方法与实施例一的区别在于进一步包括确定系统发生权重释放错误。当系统缓存丢失达到一定程度且发生权重释放错误时,执行初始化操作,能够进一步提高系统运行的可靠性。 
参照图4,为本发明第二实施例的缓存管理方法流程图。 
步骤S401:统计空闲缓存块的数量。 
可以但不限于采用下述步骤S401a~步骤S401c统计空闲缓存块的数量: 
步骤S401a:设置缓存剩余数量计数器。 
可以但不限于在缓存管理模块中设置缓存剩余数量计数器buf_left_cnt,实时统计缓存管理模块当前剩余空闲缓存块的数量。 
步骤S401b:采用缓存剩余数量计数器,根据缓存块的分配和回收对缓存剩余数量进行计数。 
所述计数方式可以包括:系统初始化时,缓存剩余数量计数器buf_left_cnt的值设置为缓存管理模块中缓存块的总数量;每当分配出去一个缓存块时,buf_left_cnt的值减1;每当回收一个缓存块时,buf_left_cnt的值加1。 
在本发明其他实施例中,也可以采用其他计数方式,例如,设置缓存使用数量计数器buf_usd_cnt,系统初始化时,缓存使用数量计数器buf_usd_cnt的值设置为0,每当分配出去一个缓存块时,buf_usd_cnt的值加1;每当回收一个缓存块时,buf_usd_cnt的值减1;根据缓存块的总数量减去计数器中的值,即可确定剩余的缓存数量。 
步骤S401c:根据计数器的计数值确定空闲缓存块的数量。 
步骤S402:确定系统是否发生了权重释放错误。 
可以但不限于在缓存管理模块中设置一个权重释放错误标志位wght_err_flag,根据权重释放错误标志位的值确定系统是否发生权重释放错误。 
具体可以采用下述方法进行确定:为权重释放错误标志位wght_err_flag定义错误标志和正确标志。系统进行初始化时,将所述权重释放错误标志位wght_err_flag复位为正确标志。当系统出现权重释放错误时,例如申请要释放的缓存块权重值大于权重RAM中对应的权重值时,缓存管理模块自动将wght_err_flag置为错误标志,表示系统发生权重释放错误;否则,权重释放错误标志位wght_err_flag保持为正确标志。 
实际应用中,可以但不限于分别用0和1代表错误标志和正确标志。 
步骤S403:如果系统发生了权重释放错误,且当前空闲缓存块的数量小 于预设阈值时,缓存管理模块进行初始化操作。 
当系统出现缓存块释放错误致使缓存无法释放时,buf_left_cnt的值会逐渐减小,直到耗尽。可以预先设定阈值,当buf_left_cnt的值低于预设阈值且确定已经发生权重释放错误时,缓存管理模块进行初始化操作,使权重RAM中的值清零,wght_err_flag复位,buf_left_cnt恢复初始设定值,例如缓存管理模块中缓存块的总数量。缓存管理模块中各个状态恢复初始状态,使系统能够继续正常收发数据包。 
所述预设阈值可以根据实际情况具体确定。例如,当系统中缓存块总数量为1K个时,预设阈值为16或32个。 
采用所述方法执行缓存自动初始化时,由于芯片的各处理模块中可能还有一些正在处理的缓存块还没有进行释放操作,而在权重RAM清零后才释放,由此可能会产生少量的释放错误,输出少量错误数据包。但是,这些并不影响系统的主要功能,能够有效避免系统频繁死机,大大提高了系统的可靠性。 
优选地,本发明实施例二的方法在步骤S403之后可以进一步包括: 
步骤S404:对所述初始化操作的情况进行记录或上报中断至CPU,供系统进行记录和分析。 
采用步骤S404,系统对自动执行初始化操作的时间、原因等状况进行统计、分析,以便进一步优化,使系统运行更加稳定、可靠。 
采用本发明实施例二所述方法,当系统发生权重释放错误且缓存丢失达到一定程度时,系统能够自动执行初始化操作,恢复原始状态。并且,由于在系统释放错误时才进行初始化,使系统在正常情况下即使当前空闲缓存块的数量小于预设阈值也不会初始化,从而所述方法能够解决权重漏释放且发生释放错误的情况,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
本发明实施例三所述方法,用于系统中各处理模块正在处理的缓存块数量最大值均小于缓存块总数量的情况。此时,不需要确定系统是否发生权重释放错误,当缓存丢失达到一定程度时,系统自动执行始化操作,恢复正常。 
参照图5,为本发明第三实施例的缓存管理方法流程图。 
步骤S501:统计空闲缓存块的数量。 
步骤S501与步骤S401相同。 
步骤S502:当缓存管理模块中剩余空闲缓存块数量小于预设阈值时,缓存管理模块自动执行初始化操作。 
所述预设阈值可以但不限于根据缓存块总数量和系统占用缓存块数量的最大值进行确定。 
设缓存管理模块中缓存块总数量为buf_num,系统占用缓存块数量的最大值为buf_pro_max,且有系统占用缓存块数量的最大值buf_pro_max小于缓存块总数量buf_num。系统占用缓存块数量的最大值为buf_pro_max即为系统中各处理模块正在处理的缓存块数量的最大值。 
所述预设阈值小于或等于缓存块总数量buf_num与系统占用缓存块数量最大值buf_pro_max的差值;所述系统占用缓存块数量最大值buf_pro_max小于所述缓存块总数量buf_num。 
通常,系统中各处理模块正在处理的缓存块数量应小于其最大值。因此,在系统正常工作情况下,缓存管理模块中剩余缓存块数量应大于缓存总数量减去正在被处理的缓存块数量。一旦出现剩余缓存块数量小于缓存总数量减去正在被处理的缓存块数量,即buf_left_cnt<buf_num-buf_pro_max。可以认为是发生了缓存泄露。此时缓存管理模块进行初始化操作,使权重RAM中的值清零,wght_err_flag复位,buf_left_cnt恢复初始设定值,例如缓存管理模块中缓存块的总数量。缓存管理模块中各个状态恢复初始状态,使系统能够继续正常收发包。 
如果所述阈值小于缓存块总数量buf_num与系统占用缓存块数量最大值buf_pro_max的差值,当缓存管理模块中剩余空闲缓存块数量小于所述预设阈值时,缓存管理模块自动执行初始化操作,由于在系统正常工作情况下,缓存管理模块中剩余缓存块数量应大于缓存总数量减去正在被处理的缓存块数量,故设置阈值小于差值可以减低缓存管理模块进行初始化的频度,提高系统的稳定性。当然,阈值大于缓存块总数量buf_num与系统占用缓存块数量最大值buf_pro_max的差值也是可以的,例如差值为100时,可以设置阈值为100、101、99等均可。 
优选地,本发明实施例三的方法还可以在步骤S502之后进一步包括: 
步骤S503:对自动执行初始化操作的情况进行记录或上报中断,供系统进行记录和分析。 
采用步骤S503,系统对自动执行初始化操作的时间、原因等状况进行统计、分析,对系统进行进一步优化,使系统运行更加稳定、可靠。 
采用本发明实施例三所述方法,当出现缓存丢失且缓存丢失到一定数量时,系统能够自动执行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。并且,如果所述阈值小于缓存块总数量buf_num与系统占用缓存块数量最大值buf_pro_max的差值,则可以减低缓存管理模块进行初始化的频度,提高系统的稳定性。 
对应于本发明实施例一所述方法,本发明实施例还提供了一种缓存管理装置。 
参照图6,为本发明第四实施例的缓存管理装置结构图,所述装置包括:空闲缓存块统计单元601和初始化执行单元602。 
空闲缓存块统计单元601,用于缓存区中统计空闲缓存块的数量; 
初始化执行单元602,用于当统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。 
进一步,空闲缓存块统计单元601可以包括:计数单元601a、以及统计单元601b。 
计数单元601a,用于根据缓存块的分配和回收对缓存剩余数量进行计数; 
统计单元601b,用于根据计数单元601a的计数值确定缓存区中空闲缓存块的数量。 
进一步,所述装置还可以包括记录单元603,用于记录系统的初始化操作。 
进一步,所述装置还可以包括中断上报单元604,用于对系统的初始化操作上报中断至CPU。 
采用本发明实施例一所述装置,当系统缓存丢失达到一定程度时,系统能够及时进行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
对应于本发明实施例二所述方法,本发明实施例还提供了一种缓存管理装置。 
参照图7,为本发明第五实施例的缓存管理装置结构图,所述装置包括:空闲缓存块统计单元701、权重释放错误确定单元702、以及初始化执行单元703。 
空闲缓存块统计单元701,用于统计空闲缓存块的数量。 
权重释放错误确定单元702,用于确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知所述初始化执行单元703。 
初始化执行单元703,用于当系统发生了权重释放错误且当前空闲缓存块的数量小于预设阈值时,执行初始化操作。 
进一步,空闲缓存块统计单元701可以包括:计数单元701a、以及统计单元701b。 
计数单元701a,用于根据缓存块的分配和回收对缓存剩余数量进行计数; 
统计单元701b,用于根据计数单元701a的计数值确定缓存区中空闲缓存块的数量。 
进一步,当装置中设置了权重释放错误标志位,用于标志系统是否发生权重释放错误时,权重释放错误确定单元702,用于根据权重释放错误标志位的状态确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知所述初始化执行单元。 
进一步,所述装置还可以包括记录单元704和中断上报单元705,记录单元704和中断上报单元705的具体实现可以参考本发明第四实施例的相关内容。 
采用本发明实施例五所述装置,当系统发生权重释放错误且缓存丢失达到一定程度时,系统能够及时进行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。并且,由于在系统释放错误时才进行初始化,使系统在正常情况下即使前空闲缓存块的数量小于预设阈值也不会初始化,从而降低了系统初始化频率,提高了系统的稳定性。 
对应于本发明实施例三所述方法,本发明实施例还提供了一种缓存管理装置。 
参照图8,为本发明第六实施例的缓存管理装置结构图;所述装置包括:空闲缓存块统计单元801和初始化执行单元802。 
空闲缓存块统计单元801,用于统计空闲缓存块的数量; 
初始化执行单元802,用于当所述当前空闲缓存块的数量小于预设阈值时,执行初始化操作。 
其中,所述预设阈值小于缓存块总数量与系统占用缓存块数量最大值的差值;所述系统占用缓存块数量最大值小于所述缓存块总数量。 
进一步,空闲缓存块统计单元801包括:计数单元以及统计单元。计数单元以及统计单元的具体实现可以参考本发明第五实施例的相关内容 
进一步,所述装置还包括记录单元和中断上报单元。记录单元和中断上报单元的具体实现可以参考本发明第四实施例的相关内容。 
本发明实施例六所述装置,用于占用缓存块数量最大值小于所述缓存块总数量的系统,当出现缓存丢失且缓存丢失到一定数量时,初始化执行单元能够自动将系统进行初始化操作,恢复系统原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。并且,如果所述阈值小于缓存块总数量buf_num与系统占用缓存块数量最大值buf_pro_max的差值,则可以减低缓存管理模块进行初始化的频度,提高系统的稳定性。 
本发明实施例所述方法及装置,不仅适用于数据转发芯片的缓存管理方案,对于各种使用到权重缓存管理及同类的方案均使用。 
本发明实施例还提供了一种数据转发系统。 
参照图9,为本发明第七实施例的数据转发系统示意图。 
所述系统包括:数据转发芯片90和芯片外挂数据缓存器95。所述数据转发芯片90包括:输入处理模块91、中间处理模块92、输出处理模块93、缓存管理模块94。 
芯片外挂数据缓存器95,用于根据数据转发芯片90的控制,存储或删除数据。 
所述缓存管理模块94包括:空闲缓存块统计单元941和初始化执行单元943。 
空闲缓存块统计单元941,用于统计数据存储器中空闲缓存块的数量。 
初始化执行单元942,用于当数据存储器中的空闲缓存块的数量小于预设阈值时,执行初始化操作。 
进一步,所述缓存管理模块94还可以包括:权重释放错误确定单元,用于确定系统是否发生了权重释放错误。如果系统发生了权重释放错误,则通知初始化执行单元942。初始化执行单元942,用于当空闲缓存块的数量小于预设阈值且系统发生了权重释放错误时,执行初始化操作。 
进一步,所述预设阈值可以小于或等于缓存块总数量与系统占用缓存块数量最大值的差值;其中,所述系统占用缓存块数量最大值小于所述缓存块总数量。 
所述缓存管理模块可以如前述任一种缓存管理装置所述。 
采用本发明实施例所述系统,当系统缓存丢失达到一定程度时,系统能够及时进行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
综上所述,在本发明实施例中,统计缓存区中空闲缓存块的数量,当统计的空闲缓存块的数量小于预设阈值时,系统自动执行初始化操作,初始化缓存区。采用本发明实施例,当系统缓存丢失达到一定程度时,能够自动执行初始化操作,恢复原始状态,避免系统因为缓存耗尽而出现死机,大大提高了数据报文缓存系统的可靠性。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:统计缓存区中空闲缓存块的数量;当统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。 
以上对本发明所提供的一种缓存管理方法及装置、数据转发系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以 上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 

Claims (8)

1.一种缓存管理方法,其特征在于,所述方法包括:
统计缓存区中空闲缓存块的数量;
当统计的空闲缓存块的数量小于预设阈值时,确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,执行初始化操作,初始化所述缓存区;否则不执行初始化操作。
2.根据权利要求1所述的方法,其特征在于,所述确定系统是否发生了权重释放错误包括:
设置权重释放错误标志位,当申请要释放的缓存块权重值大于权重RAM中对应的权重值时,置所述权重释放错误标志位为错误标志;
当所述权重释放错误标志位为错误标志时,确定系统发生了权重释放错误。
3.根据权利要求2所述的方法,其特征在于,所述执行初始化操作时,将所述权重释放错误标志位复位为正确标志。
4.根据权利要求1所述的方法,其特征在于,所述预设阈值小于缓存块总数量与系统占用缓存块数量最大值的差值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述统计缓存区中空闲缓存块的数量包括:
采用计数器,根据缓存块的分配和回收对缓存剩余数量进行计数;
根据所述计数器的计数值确定空闲缓存块的数量。
6.一种缓存管理装置,其特征在于,所述装置包括:
空闲缓存块统计单元,用于统计缓存区中空闲缓存块的数量;
权重释放错误确定单元,用于确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知初始化执行单元;
初始化执行单元,用于当系统发生了权重释放错误且统计的空闲缓存块的数量小于预设阈值时,执行初始化操作,初始化所述缓存区。
7.根据权利要求6所述的装置,其特征在于,所述空闲缓存块统计单元包括:
计数单元,根据缓存块的分配和回收对缓存剩余数量进行计数;
统计单元,用于根据所述计数单元的计数值确定缓存区中空闲缓存块的数量。
8.一种数据转发系统,所述系统包括:数据转发芯片和数据存储器;所述数据转发芯片包括输入处理模块、中间处理模块、输出处理模块、以及缓存管理模块;其特征在于:
所述缓存管理模块包括:空闲缓存块统计单元、权重释放错误确定单元和初始化执行单元;
空闲缓存块统计单元,用于统计数据存储器中空闲缓存块的数量;
权重释放错误确定单元,用于确定系统是否发生了权重释放错误;如果系统发生了权重释放错误,则通知所述初始化执行单元;
初始化执行单元,用于当系统发生了权重释放错误且数据存储器中的空闲缓存块的数量小于预设阈值时,执行初始化操作。
CN200910000387XA 2009-01-07 2009-01-07 缓存管理方法及装置、数据转发系统 Expired - Fee Related CN101478481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910000387XA CN101478481B (zh) 2009-01-07 2009-01-07 缓存管理方法及装置、数据转发系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910000387XA CN101478481B (zh) 2009-01-07 2009-01-07 缓存管理方法及装置、数据转发系统

Publications (2)

Publication Number Publication Date
CN101478481A CN101478481A (zh) 2009-07-08
CN101478481B true CN101478481B (zh) 2011-04-06

Family

ID=40839116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910000387XA Expired - Fee Related CN101478481B (zh) 2009-01-07 2009-01-07 缓存管理方法及装置、数据转发系统

Country Status (1)

Country Link
CN (1) CN101478481B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734990A (zh) * 2015-03-19 2015-06-24 华为技术有限公司 一种确定大流量报文类的方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063386B (zh) * 2010-12-17 2014-07-23 曙光信息产业(北京)有限公司 一种单载体多目标的缓存系统的缓存管理方法
CN102081583A (zh) * 2011-02-12 2011-06-01 中兴通讯股份有限公司 提高文件系统操作速率的方法及系统
CN102521177B (zh) * 2011-12-07 2015-01-21 福建星网锐捷网络有限公司 中断处理方法及装置、中央处理器以及处理设备
WO2014101086A1 (zh) * 2012-12-28 2014-07-03 华为技术有限公司 存储空间的处理方法、装置及非易失性计算机可读存储介质
CN103095992A (zh) * 2013-03-01 2013-05-08 天津三星光电子有限公司 一种数码相机
CN106527998B (zh) * 2016-11-28 2019-05-03 建荣半导体(深圳)有限公司 一种优化sd卡读写性能的方法、装置和一种sd卡
CN107302505B (zh) * 2017-06-22 2019-10-29 迈普通信技术股份有限公司 管理缓存的方法及装置
CN109144736A (zh) * 2018-09-30 2019-01-04 新华三信息安全技术有限公司 一种输出警告消息的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713612A (zh) * 2004-06-25 2005-12-28 中兴通讯股份有限公司 采用指针技术存储数据包的方法
CN1786926A (zh) * 2004-12-07 2006-06-14 华为技术有限公司 一种处理器中使用缓存区的方法
CN1863132A (zh) * 2005-11-23 2006-11-15 华为技术有限公司 一种缓存管理系统与方法
CN101197786A (zh) * 2008-01-02 2008-06-11 杭州华三通信技术有限公司 缓存管理方法和缓存管理系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713612A (zh) * 2004-06-25 2005-12-28 中兴通讯股份有限公司 采用指针技术存储数据包的方法
CN1786926A (zh) * 2004-12-07 2006-06-14 华为技术有限公司 一种处理器中使用缓存区的方法
CN1863132A (zh) * 2005-11-23 2006-11-15 华为技术有限公司 一种缓存管理系统与方法
CN101197786A (zh) * 2008-01-02 2008-06-11 杭州华三通信技术有限公司 缓存管理方法和缓存管理系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734990A (zh) * 2015-03-19 2015-06-24 华为技术有限公司 一种确定大流量报文类的方法及装置

Also Published As

Publication number Publication date
CN101478481A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
CN101478481B (zh) 缓存管理方法及装置、数据转发系统
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
CN105320490A (zh) 用于异步fifo电路的方法和设备
CN109491606B (zh) 一种全闪存储空间管理方法、系统、设备及计算机介质
CN102904685A (zh) 一种硬件表项校验错误的处理方法及装置
CN110647472A (zh) 崩溃信息统计方法、装置、计算机设备及存储介质
US20230176997A1 (en) Handshake Protocol Circuit, Chip and Computer Device
CN100438480C (zh) 一种缓存管理系统与方法
CN112181304A (zh) 一种星载NAND Flash存储管理系统
CN105304140B (zh) 电子设备的存储器性能的测试方法及装置
CN113485672B (zh) 基于fifo存储器的信息生成方法、装置、设备及介质
CN110209605A (zh) Pcie总线网卡的寄存器读写方法和计算设备
EP4075749A1 (en) Detection method and detection device for heavy flow data stream
CN108228104B (zh) 数据传输方法及固态硬盘控制器
CN111858256B (zh) 命令队列监控电路、数据交换方法及其设备
CN111143218B (zh) 适用于5G嵌入式设备的log调试方法、装置和可读存储介质
CN113360498A (zh) 流数据转存处理方法、装置及服务器
CN112216333A (zh) 芯片测试方法及装置
CN109710495A (zh) 一种信息处理方法及电子设备
CN109885402B (zh) 测试函数输出数据溢出的方法、终端设备及存储介质
CN101178686A (zh) 信息处理方法及系统、bios及操作系统
CN109189701B (zh) 一种针对嵌入式存储接口数据传输的方法及其系统
CN116107795B (zh) 报错电路及芯片设备
CN113330411B (zh) 一种存储控制器和数据搬迁监测方法
CN114422597B (zh) 基于fpga的数据帧定时转发方法、装置、fpga及数据交换设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110406

Termination date: 20170107

CF01 Termination of patent right due to non-payment of annual fee