CN100361093C - 一种处理器中使用缓存区的方法 - Google Patents
一种处理器中使用缓存区的方法 Download PDFInfo
- Publication number
- CN100361093C CN100361093C CNB2004100971026A CN200410097102A CN100361093C CN 100361093 C CN100361093 C CN 100361093C CN B2004100971026 A CNB2004100971026 A CN B2004100971026A CN 200410097102 A CN200410097102 A CN 200410097102A CN 100361093 C CN100361093 C CN 100361093C
- Authority
- CN
- China
- Prior art keywords
- buffer area
- information
- buffer
- error
- descriptor
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种处理器中使用缓存区的方法,首先设置缓存区描述符,所述缓存区描述符的信息包括缓存区状态和使用者信息;当申请缓存区时,根据所述缓存区状态获取空闲缓存区,并作为当前缓存区;然后修改所述当前缓存区中缓存区描述符的信息;当释放缓存区时,根据所述缓存区描述符的信息释放当前缓存区。通过在缓存区描述符中设置缓存区状态和使用者信息,当用户在申请和释放缓存区时首先检验缓存区状态是否为错误状态,并且用使用者信息对缓存区资源的使用过程进行动态记录,当发生故障时,从而当缓存区状态为错误状态时,能够根据使用者信息能够进行准确定位。
Description
技术领域
本发明涉及计算机领域,尤其涉及处理器缓存区的使用方法。
背景技术
处理器今天已得到广泛应用,它在各种网络业务和不同性能级别的应用中担任着不同的任务。网络技术及应用的发展,对网络设备的容量及单板的处理能力的要求越来越高。在处理器中通常需要多个协处理器同时并行工作,一个数据包的处理要经过多个模块,由几个协处理器协同完成。为了缓和不同模块间速度不匹配的矛盾,减少对各模块中CPU的中断频率,以及提高CPU和输入/输出单元之间的并行性,需要引入缓冲,对各模块的收发数据进行缓存。
通常,对通信设备内部缓存区的管理按照以下三种方式:
(1)静态分配的管理方式。在设计时对设备内每个模块分配固定大小的缓存区作为数据发送和接收时的专用缓存区,在数据收发过程中反复使用。
这种静态分配方式虽然处理简单,但由于各模块处理功能和处理速度不同,其数据流量也处于不断变化之中,因此可能会使得某些缓存区空间长时间空闲,而有些缓存区空间又会拥挤,甚至溢出,严重时还会引起正常数据的丢失。当发生数据丢失等错误时,由于没有相关的信息,对造成数据丢失的原因无法追溯。
(2)动态分配的管理方式。为了提高缓存区的利用率,设计一个缓存区池,将所有可利用的缓存区空间放入该缓存区池,池中的缓存区可供多个模块共享。
当某模块发送数据时,首先向缓存区池申请缓存空间,从空缓冲队列中为其分配缓存空间,并将该缓存空间链接到输出队列中;当下一个模块接收该数据时,向缓存区池申请缓存空间,从空缓冲队列中为其分配缓存空间,并根据输出队列从对应的缓存空间读取该数据并写到为其分配的缓存空间,同时,将输出队列中对应的缓存空间释放并链接到空缓冲队列中,将写入数据后的缓存空间链接到输入队列中。
由于多个模块共享缓存区池,因此,有可能会因某个模块出现故障而造成缓存区碎片,严重时还可能会耗尽系统的资源。而且,当设备内模块较多时,对缓存区的管理实现复杂,出现问题难以定位。
(3)静态和动态相结合的管理方式。该方法采用在配置时动态分配缓存区的数量,处理中静态操作的方式。首先动态配置相邻模块间所需缓存区;然后将每个所述缓存区划分为预定个数的子缓存区,设置每个子缓存区对应的缓存区描述符,并根据所述缓存区描述符的信息建立环形链表。该缓存区配置好后,对其进行的存取操作是静态的,不需要申请释放过程,具体来说,当相邻模块收/发数据需要缓存区时,顺次从所述环形链表中获取相应的子缓存区读出/写入数据。
由于不需要申请释放过程,一旦某个模块出现问题不会影响到整个系统,而且通过对不同模块及缓存区建立对应关系,一定程度的改善了出现问题时定位的难度。但是该方法链表中某个子缓存区出现错误时,将由于无法形成完整的缓存链而导致整个缓存区的混乱,并且,由于缺少相关信息,无法准确定位到问题代码,因此,该方法当缓存区资源出现错误时仍然存在问题难以定位的缺陷。
发明内容
本发明要解决的技术问题在于:提供一种处理器中使用缓存区的方法,能够简单有效地对缓存区进行可靠管理,并能够准确定位到发生故障的缓存区资源。
为解决上述技术问题,本发明提供一种处理器中使用缓存区的方法,包括步骤:
(1)设置缓存区描述符,所述缓存区描述符的信息包括缓存区状态和使用者信息;
(2)当申请缓存区时,根据所述缓存区状态获取空闲缓存区,并作为当前缓存区;
(3)修改所述当前缓存区中缓存区描述符的信息;
(4)当释放缓存区时,根据所述缓存区描述符的信息释放当前缓存区。
其中,所述缓存区状态包括:正常状态和错误状态。
其中,步骤2)的获取过程具体为:获取所述缓存区状态为正常状态的空闲缓存区。
其中,步骤3)的修改过程具体为:
动态记录所述使用者信息;
若当前缓存区出现错误处理,则将所述缓存区状态设置为错误状态。
其中,步骤5)的释放过程具体为:
若缓存区状态为正常状态,则释放当前缓存区,并清空缓存区描述符中的信息;
若缓存区状态为错误状态,则释放当前缓存区,并保留所述缓存区状态和使用者信息。
其中,所述步骤还包括:若缓存区状态为错误状态,则根据所述使用者信息定位错误源。
其中,步骤1)中所述缓存区描述符的信息还包括:使用状态信息,用于标识缓存区是否处于空闲状态;
所述申请缓存区时和所述释放缓存区时,还包括更新所述使用状态信息。
其中,步骤1)中所述缓存区描述符的信息还包括:错误类型信息;
若缓存区状态为错误状态,则填写所述错误类型信息,并在释放当前缓存区时,保留所述错误类型信息。
其中,步骤1)中所述缓存区描述符的信息还包括:申请者信息和释放者信息;
所述申请缓存区时,还包括:填写所述申请者信息;
若所述缓存区状态为正常状态时,则释放所述当前缓存区时,还包括清空所述释放者信息;
若所述缓存区状态为错误状态时,则释放所述当前缓存区时,还包括保留所述释放者信息。
与现有技术相比,本发明的有益效果是:通过在缓存区描述符中设置缓存区状态和使用者信息,当用户在申请和释放缓存区时首先检验缓存区状态是否为错误状态,并且用使用者信息对缓存区资源的使用过程进行动态记录,当发生故障时,从而当缓存区状态为错误状态时,能够根据使用者信息能够进行准确定位。
进一步,本发明还设置了缓存区使用状态信息,能够根据此信息定期检测缓存区是否存在故障泄漏,并在发生故障泄漏时,根据使用者信息能够准确定位到出现泄漏的缓存区。
进一步,本发明还设置了申请者信息、释放者信息和错误类型信息,能够追溯故障的来源,并记录错误原因,便于问题定位和跟踪。
另外,由于本发明和缓存区的管理方式无关,因此对于静态管理、动态管理和静态动态相结合的缓存区管理方式均适用。
附图说明
图1是静态分配的管理方式示意图
图2是动态分配的管理方式示意图。
具体实施方式
对于缓存资源的管理方式主要有静态管理、动态管理和静态动态相结合的管理方式。本发明的核心在于在缓存资源中保存错误状态和缓存区使用者信息,对内存资源进行快速准确的定位,以便在发生故障时进行问题定位。本发明对于各种缓存区管理方式均适用。
具体来说,利用本发明进行缓存区管理时,首先设置缓存区描述符,所述缓存区描述符的信息包括缓存区状态和使用者信息;当申请缓存区时,根据所述缓存区状态获取空闲缓存区,并作为当前缓存区;当缓存区描述符中的信息发生改变时,修改所述当前缓存区中缓存区描述符的信息;当释放缓存区时,根据所述缓存区描述符的信息释放当前缓存区。以下对本发明的实施过程进行详细介绍。
首先设置缓存区描述符,所述缓存区描述符的信息包括缓存区状态和使用者信息;在本发明中,为了便于理解,将缓存区状态定义为Error,同时定义Error的值为1时表示缓存区发生错误,Error的值为0时表示缓存区目前处于正常状态;将缓存区使用者信息定义为Last_user_ID。对于Error的值为1的情况包括:申请缓存区时,若所述缓存区处于正在使用状态;释放缓存区时,若所述缓存区处于未使用状态,和缓存区在使用中出现处理错误时。
同时,本发明还设置了缓存区使用状态标识Using,以标明缓存区的使用状态,并用Using=0表示缓存区处于未使用状态,Using=1表示缓存区处于使用状态。此字段的存在可以加速系统的处理流程。当某模块申请缓存区时,首先检测Using是否为1,如果是,则直接报告异常,而不必再检查Error的值,如果否,则继续检查Error的值,当Error为1时报告异常;为了能够对缓存资源的使用过程从源头进行跟踪,本发明还设置了申请者Applier_ID字段,但此字段是否存在并不影响故障时的问题定位。当Error和Using的值均为0时,将该缓存区分配给该模块,申请成功后,填写Applier_ID字段;
对于所有使用该缓存区的模块,需要将本模块的标识写入Last_user_ID,以便缓存区出现故障时能够定位到申请该缓存区的模块。Last_user_ID是一个随着缓存区的使用过程动态变化的字段,每一个处理该缓存区的模块,在进入时将该字段填写为自身的标识,随后,随着中间过程以及释放过程中的对该缓存区块的使用者的变化情况进行相应的改变;
为了能够更好的了解因此缓存区错误的原因,本发明还设置了用于显示错误类型的错误码Error_code,本发明中,该错误码支持64种错误,例如:包长超过限制、发现循环校验码错误等。在缓存区的使用过程中,如果出现异常处理,则将Error置为1,同时由发现错误的模块填写相应的Error_code;
另外,本发明还设置了释放者标识Releaser_ID字段,在缓存区释放时由释放该缓存区的模块填写;当使用完该缓存区,释放不存在故障的缓存区时,将上述所有的字段全部清零;释放存在故障的缓存区时,为了对错误进行定位,保持Error、Error_code、Last_user_ID、Releaser_ID、Applier_ID字段,并更新Using字段;
以上介绍了利用本发明进行申请和释放缓存区的过程。下面将介绍当发生错误对各种故障进行故障定位的过程。
一,缓存区重复申请的定位:
当申请缓存区时,如果发现using字段没有清0,则将该缓存区的Error置为1,确认该缓存区为重复申请,并根据Last_user_ID字段检测正在使用的模块,从而判断该模块存在乱释放缓存区的错误。
二,处理流程异常时的检测:
缓存区在申请者和释放者之间的中间环节需要检查Error标志,如果置为1,则表明存在错误处理,然后可以根据Error_code得知故障原因,并通过Last_user_ID定位到发生故障的模块。可以在调试代码中添加打印功能,将故障原因和发现故障的模块打印出来,大大方便问题定位和跟踪。
三,重复释放的错误检测:
在释放一块缓存区时,需要检测Using的值是否0,如果是,则表明该缓存区被重复释放,然后根据Last_user_ID定位到重复释放的模块。同样可以增加打印功能,打印出正在运行的模块名和重复释放的缓存区供定位。
四,缓存区泄漏的检测:
缓存区泄漏即缓存区忘记释放,导致无法被继续使用。如果因为流程错误产生缓存区泄漏,时间长了,可能会导致缓存区耗尽,而导致系统异常甚至死机。
在调试时,可以启动一个任务,定期检测所有的缓存区资源,如果某个缓存区块长期没有释放,即Using始终为1,可以根据Last_user_ID判断最终使用的模块,从而将忘记释放的错误定位到模块。该检测过程可以只是作为调试代码,也可以在正式代码中存在,作为异常恢复的方法,定期为不能释放的缓存区强制释放,保证系统可以长期稳定工作。
以上各种检测错误以及定位的方法,可以只是作为调试代码,也可以在正式代码中存在,用于异常检测和恢复。
本发明提供的管理缓存区的方法与缓存区的管理方式无关,也就是说,本发明适用于静态分配、动态分配、以及静态动态相结合的管理方式。以下将静态分配和动态分配作为作为两个具体实施例进行详细介绍。
第一实施例:静态分配缓存资源的管理方式。
这种分配方式在设计时对每个模块分配固定大小的缓存区作为数据发送和接收时的专用缓存区,在数据收发过程中反复使用。图1为该种分配方式下的缓存区管理的示意图。如图所示,系统将所有的缓存资源划分为N个内存片,并且每个内存片用一个缓存区描述符进行标识,每个缓存区描述符中包含的信息数据包括:位移量、长度、以及本发明增加申请者、释放者、使用状态标识、错误标识和错误码字段。通过指针实现对每个缓存区描述符的管理。系统维持两个指针:头指针headptr、尾指针tailptr。HeadPtr指向当前可以使用的内存片,TailPtr指向当前需要释放的内存片,当两个指针重合时,没有内存片可以使用。静态分配的管理方式要求必须按照顺序进行缓存区的使用和释放,每个缓存区对应的缓存区描述符区域必须是连续的。
在需要申请新的缓存时,首先根据头指针HeadPtr指向的缓存区描述符找到对应的内存片,然后检查Using的值,Error以及Error_code的值,如果为1,表明该内存片存在故障,则上报错误报告。如果为0,则将数据写入HeadPtr指向的内存片,然后HeadPtr下移;在使用过程中,随时记录Last_user,如果出现异常处理,则将Error的值置为1,同时填写相应的Error_code;当使用完该缓存区需要释放时,TailPtr指针指向当前需要释放的内存片,然后检查Using的值是否为1,Error以及Error_code的值是否为0,如果是,则释放该内存片,并将全部字段清零;如果否,则释放该模块后保存Error、Error_code、Last_User_ID、Realese_ID、Applier_ID字段,更新Using字段。
故障定位:由于HeadPtr指向的缓存区描述符所对应的内存片为处于空闲状态的内存片,因此,如果申请内存时Using值为1,则表示该内存片存在重复申请,当需要对出现重复申请的内存片进行问题定位时,可以根据Last_user_ID检测到正在使用该内存片的模块。
同样,由于TailPtr指向的缓存区描述符所对应的内存片为处于占用状态将要释放的内存片,因此,如果申请内存时Using值为0,则表示该内存片存在重复释放,当需要对出现重复释放的内存片进行问题定位时,可以根据Last_user_ID检测到重复释放的模块,并可以根据Realese_ID、Applier_ID字段进行追溯。
处理器可以设定周期,定期遍历所有内存片,当检测到某个内存片对应的缓存区描述符的Using值的值超过预定时间时,则判断为出现内存泄漏,根据Last_user_ID以及Realese_ID、Applier_ID定位到忘记释放内存片的模块。
第二实施例:动态分配缓存资源的管理方式。
图2为该方式下缓存区管理的示意图。系统同样将所有的缓存资源划分为N个内存片,并且每个内存片用一个缓存区描述符进行标识,每个缓存区描述符中包含的信息数据包括:位移量、长度、以及本发明增加申请者、释放者、使用状态标识、错误标识和错误码字段,和静态分配缓存的管理方式不同,动态分配的管理方式的缓存区描述符中存在链表指针NextBufHandle指针。通过指针实现对每个缓存区描述符的管理。这种管理方式对空闲缓存区采用动态链表的方式,系统维持2个指针head,tail,分别指向链表的头尾,tail指针最初指向的缓存区描述符的NextBufHandle域值为0,当某个内存片需要释放时,将需要释放的缓存区描述符中NextBufHandle域的值替换原来的0值。指针唯一指向一个缓存区描述符地址,每个缓存区描述符唯一对应于一段缓存区。缓存区描述符的结构如下表所示:
28
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 27 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
01 | NextBufHandle | |||||||||||||||||||||||||||||||
位移量 | 长度 | |||||||||||||||||||||||||||||||
Using | Error_code | Applier_ID | Releaser_ID | Last_user_ID |
其中,NextBufHandle指向下一个缓存区的缓存区描述符地址,Offset指示包数据第一个字节的位置,Length指示整个包的长度。
当某个模块需要申请缓存区时,将链表头部的缓存区取出,同时head指针指向该缓存区的缓存区描述符中NextBufHandle域指向的缓存区描述符;然后检查Using,Error以及Error_code的值,如果为1,表明该内存片存在故障,则上报错误报告。如果为0,则将数据写入缓存区描述符对应的缓存区,然后NextBufHandle下移;在使用过程中,随时记录Last_user,如果出现异常处理,则将Error的值置为1,同时填写相应的Error_code;当使用完该缓存区需要释放时,先将Tail指针指向的缓存区描述符的NextBufHandle域改为当前缓存区的缓存区描述符地址,然后tail指针指向当前释放的内存片的缓存区描述符地址,同时填写释放者标识Releaser_ID,修改使用状态标识Using。
如果因为某些原因,链表中某个缓存区描述符的NextBufHandle域错误,时,导致某些内存片区永远得不到使用,即缓存区泄漏,或者多次使用即缓存区重复使用。使用本发明进行故障定位的过程是:
一,缓存区重复申请的定位:
当申请缓存区时,由于Head指针指向的是欲分配的空闲内存片,因此如果发现Using字段没有清0,可以确认为缓存区重复申请,则根据Last_user_ID字段可以检测正在使用的模块,从而判断该模块存在乱释放缓存区的错误。
二,处理流程异常时的检测:
缓存区在申请者和释放者之间的中间环节需要检查Error标志,如果置为1,则表明存在错误处理,然后可以根据Error_code得知故障原因,并通过Last_user_ID定位到发生故障的模块。。
三,重复释放的错误检测:
在释放一块缓存区时,由于Tail指针指向的是欲释放的内存片,因此如果Using的值为0,则表明该缓存区被重复释放,然后根据Last_user_ID定位到重复释放的模块。同样可以增加打印功能,打印出正在运行的模块名和重复释放的缓存区供定位。
四,缓存区泄漏的检测:
在调试时,可以启动一个任务,定期检测所有的缓存区资源,如果某个缓存区块在预定时间内没有释放,即Using始终为1,可以根据Last_user_ID判断最终使用的模块,从而将忘记释放的错误定位到模块。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1、一种处理器中使用缓存区的方法,其特征在于,包括步骤:
(1)设置缓存区描述符,所述缓存区描述符的信息包括缓存区状态和使用者信息;
(2)当申请缓存区时,根据所述缓存区状态获取空闲缓存区,并作为当前缓存区;
(3)修改所述当前缓存区中缓存区描述符的信息;
(4)当释放缓存区时,根据所述缓存区描述符的信息释放当前缓存区。
2、根据权利要求1所述的处理器中使用缓存区的方法,其特征在于,所述缓存区状态包括:正常状态和错误状态。
3、根据权利要求2所述的处理器中使用缓存区的方法,其特征在于,步骤2)的获取过程具体为:
获取所述缓存区状态为正常状态的空闲缓存区。
4、根据权利要求2所述的处理器中使用缓存区的方法,其特征在于,步骤3)的修改过程具体为:
动态记录所述使用者信息;
若当前缓存区出现错误处理,则将所述缓存区状态设置为错误状态。
5、根据权利要求4所述的处理器中使用缓存区的方法,其特征在于,步骤5)的释放过程具体为:
若缓存区状态为正常状态,则释放当前缓存区,并清空缓存区描述符中的信息;
若缓存区状态为错误状态,则释放当前缓存区,并保留所述缓存区状态和使用者信息。
6、根据权利要求5所述的处理器中使用缓存区的方法,其特征在于,所述步骤还包括:若缓存区状态为错误状态,则根据所述使用者信息定位错误源。
7、根据权利要求5所述的处理器中使用缓存区的方法,其特征在于,步骤1)中所述缓存区描述符的信息还包括:使用状态信息,用于标识缓存区是否处于空闲状态;
所述申请缓存区时和所述释放缓存区时,还包括更新所述使用状态信息。
8、根据权利要求5所述的处理器中使用缓存区的方法,其特征在于,步骤1)中所述缓存区描述符的信息还包括:错误类型信息;
若缓存区状态为错误状态,则填写所述错误类型信息,并在释放当前缓存区时,保留所述错误类型信息。
9、根据权利要求5所述的处理器中使用缓存区的方法,其特征在于,步骤1)中所述缓存区描述符的信息还包括:申请者信息和释放者信息;
所述申请缓存区时,还包括:填写所述申请者信息;
若所述缓存区状态为正常状态时,则释放所述当前缓存区时,还包括清空所述释放者信息;
若所述缓存区状态为错误状态时,则释放所述当前缓存区时,还包括保留所述释放者信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100971026A CN100361093C (zh) | 2004-12-07 | 2004-12-07 | 一种处理器中使用缓存区的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100971026A CN100361093C (zh) | 2004-12-07 | 2004-12-07 | 一种处理器中使用缓存区的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1786926A CN1786926A (zh) | 2006-06-14 |
CN100361093C true CN100361093C (zh) | 2008-01-09 |
Family
ID=36784397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100971026A Expired - Fee Related CN100361093C (zh) | 2004-12-07 | 2004-12-07 | 一种处理器中使用缓存区的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100361093C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562559B (zh) * | 2008-04-15 | 2011-12-07 | 大唐移动通信设备有限公司 | 一种串行Rapid IO链路数据传输的方法及装置 |
CN101350744B (zh) * | 2008-06-19 | 2013-08-07 | 中兴通讯股份有限公司 | 一种网络处理系统中描述符资源的检测方法及其系统 |
CN101478481B (zh) * | 2009-01-07 | 2011-04-06 | 成都市华为赛门铁克科技有限公司 | 缓存管理方法及装置、数据转发系统 |
CN102209016B (zh) * | 2010-03-29 | 2014-02-26 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和数据处理系统 |
CN102790723A (zh) * | 2012-08-29 | 2012-11-21 | 福建星网锐捷网络有限公司 | 缓冲区对象的处理方法、装置及设备 |
CN103286749B (zh) * | 2013-06-07 | 2016-04-13 | 彭辉 | 一种多功能铲 |
CN103914355A (zh) * | 2014-03-12 | 2014-07-09 | 汉柏科技有限公司 | 对内存重复释放进行定位的方法和装置 |
CN104317734A (zh) * | 2014-11-28 | 2015-01-28 | 迈普通信技术股份有限公司 | 一种适用于slab的内存分配方法及装置 |
WO2019061270A1 (zh) * | 2017-09-29 | 2019-04-04 | 深圳市大疆创新科技有限公司 | 数据缓存装置及控制方法、数据处理芯片、数据处理系统 |
KR102277289B1 (ko) * | 2019-03-04 | 2021-07-16 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록체인 월드 스테이트 머클 패트리샤 트리 서브트리 구성 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002164940A (ja) * | 2000-11-28 | 2002-06-07 | Fujitsu Ltd | ディスクリプタ障害検出方式 |
US20020161943A1 (en) * | 2001-02-28 | 2002-10-31 | Samsung Electronics Co., Ltd. | Communication system for raising channel utilization rate and communication method thereof |
CN1414481A (zh) * | 2002-05-23 | 2003-04-30 | 华为技术有限公司 | 一种基于多业务多通道的数据收发处理方法 |
CN1542623A (zh) * | 2003-04-29 | 2004-11-03 | 华为技术有限公司 | 一种实现内存管理的方法 |
-
2004
- 2004-12-07 CN CNB2004100971026A patent/CN100361093C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002164940A (ja) * | 2000-11-28 | 2002-06-07 | Fujitsu Ltd | ディスクリプタ障害検出方式 |
US20020161943A1 (en) * | 2001-02-28 | 2002-10-31 | Samsung Electronics Co., Ltd. | Communication system for raising channel utilization rate and communication method thereof |
CN1414481A (zh) * | 2002-05-23 | 2003-04-30 | 华为技术有限公司 | 一种基于多业务多通道的数据收发处理方法 |
CN1542623A (zh) * | 2003-04-29 | 2004-11-03 | 华为技术有限公司 | 一种实现内存管理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1786926A (zh) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6643802B1 (en) | Coordinated multinode dump collection in response to a fault | |
US9146737B2 (en) | Systems and methods for finding concurrency errors | |
CN100361093C (zh) | 一种处理器中使用缓存区的方法 | |
US8321430B2 (en) | Resource efficient handling change notifications in graph structures | |
KR101459867B1 (ko) | 시스템 테스트 장치 | |
CN103106134B (zh) | 一种性能缺陷检测方法、装置和系统 | |
CN103415840A (zh) | 跨硬件层和软件层的错误管理 | |
CN103246602A (zh) | 代码覆盖率确定方法及系统、代码覆盖检测方法及系统 | |
US7870358B2 (en) | Zero-penalty RAID controller memory leak detection and isolation method and system utilizing sequence numbers | |
WO2014200551A1 (en) | Identifying the introduction of a software failure | |
CN105446871B (zh) | 一种资源泄漏检测方法、装置及系统 | |
US11782609B2 (en) | Method and apparatus for auditing abnormality of block device in cloud platform, device, and storage medium | |
CN102207956A (zh) | 数据库管理方法、数据库管理系统及其程序 | |
CN104536867A (zh) | 实现多片现场可编程门阵列调试的系统及方法 | |
CN101145129A (zh) | 一种嵌入式系统内存写越界的检测方法及系统 | |
CN105243023B (zh) | 并行运行时错误检测方法 | |
CN101819549B (zh) | 一种内存泄露的定位方法及装置 | |
US8850273B2 (en) | Dynamic hardware watchpoint | |
CN111290942A (zh) | 压力测试方法、装置以及计算机可读介质 | |
CN101119233A (zh) | 获取设备运行状态的方法、装置及系统 | |
US20090172368A1 (en) | Hardware Based Runtime Error Detection | |
US20120159247A1 (en) | Automatically changing parts in response to tests | |
US20130006568A1 (en) | Test Operation | |
CN113704040A (zh) | 一种微处理器内存可靠性测试方法 | |
Chillarege et al. | An experimental study of memory fault latency |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080109 Termination date: 20191207 |
|
CF01 | Termination of patent right due to non-payment of annual fee |