CN102209042B - 一种避免先入先出队列溢出的方法及设备 - Google Patents
一种避免先入先出队列溢出的方法及设备 Download PDFInfo
- Publication number
- CN102209042B CN102209042B CN201110205098.0A CN201110205098A CN102209042B CN 102209042 B CN102209042 B CN 102209042B CN 201110205098 A CN201110205098 A CN 201110205098A CN 102209042 B CN102209042 B CN 102209042B
- Authority
- CN
- China
- Prior art keywords
- ring
- data
- write
- idle
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 13
- 239000003550 marker Substances 0.000 claims description 18
- 230000003139 buffering effect Effects 0.000 claims description 16
- 238000000151 deposition Methods 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种避免先入先出队列(FIFO)溢出的方法,包括如下步骤:A、在设备内存中创建第一缓冲区描述符BD环和第二BD环;B、硬件收发器将FIFO中的数据通过第一写指针写入第一BD环的空闲BD中,完成后硬件收发器产生接收中断;C、驱动软件检测到接收中断后,利用第一读指针从第一BD环中读取数据;驱动软件利用第二写指针将所读取的数据写入第二BD环中;驱动软件利用第二读指针从第二BD环中读取数据并进行处理。本发明方案在不修改硬件收发器的前提下避免出现接收FIFO溢出,相应提高驱动接收的稳定性和可靠性。
Description
技术领域
本发明涉及数据通信技术领域,尤其涉及设备驱动软件的接收机制,特别涉及一种避免先入先出队列溢出的方法及设备。
背景技术
目前网络设备中,设备驱动软件接收数据普遍采用缓冲区描述符(BD)环机制,BD环是驱动软件与硬件收发器之间的一个数据缓冲。如图1所示,在设备内存103中分配BD 104,每个BD 104由状态标志和缓冲指针组成,状态标志指示这个BD是空闲的还是有数据待处理的,缓冲指针指向一块内存区域,用于存放待处理的数据。多个BD 104首尾相接组成BD环。BD环是驱动软件101与硬件收发器102之间的一个数据缓冲。
设备初始化的时候,由驱动软件101将BD环构造好,然后把BD环的信息通告给硬件收发器102。硬件收发器102收到数据后,先在先入先出队列(FIFO)105中暂存接收到的数据,当FIFO 105中暂存的数据达到一定水位后,再将暂存的数据从FIFO 105转移到接收BD环中的空闲BD上,最后以中断的方式通知驱动软件101处理收到的数据。
虽然BD环与硬件收发器102的FIFO 105一样都是起缓冲作用,但BD环能存放更多的数据,能容忍更大的网络突发流量。由于驱动软件101处理数据的时间较长且不固定,所以通常会在中断服务进程中唤醒一个接收任务来延后处理。当接收任务处理数据的速度持续低于硬件收发器102写入数据的速度,则BD环会被数据占满,硬件收发器102无法将FIFO 105中的数据转移走,只要此时还有数据进入,FIFO 105就会溢出。
可见,采用上述机制接收数据,FIFO溢出是容易出现的情况。特别是对于集中式系统,控制驱动软件和转发驱动软件都在一个中央处理单元(CPU)中运行,驱动接收任务被调度的时间得不到保证,FIFO溢出情况更为普遍。
如图1所示,在FIFO 105溢出的时候,硬件收发器102往往会停止接收数据,并产生一个中断通知驱动软件101。驱动软件101的做法是清空接收BD环上的数据,然后统计一次接收溢出错误,最后重新启动硬件收发器102继续接收数据。
通常情况下,FIFO溢出的后果也就是丢失几个报文,不会有太大问题。但是,如果FIFO反复溢出,就会产生大量额外的中断,进一步增加驱动软件系统的开销,降低驱动软件的处理性能,形成恶性循环。另外,某些硬件收发器在FIFO多次溢出后,会引起内部状态机紊乱,轻者再也不收数据,重者将数据写到错误的内存地址上,导致系统崩溃。而如何避免硬件收发器FIFO溢出,是解决上述问题的关键。
发明内容
本发明提供了一种避免先入先出队列溢出的方法及设备,在不修改硬件收发器的前提下避免出现接收FIFO溢出,相应提高驱动接收的稳定性和可靠性。
本发明实施例提出的一种避免FIFO溢出的方法,包括如下步骤:
A、在设备内存中创建第一缓冲区描述符BD环和第二BD环;
B、硬件收发器将FIFO中的数据通过第一写指针写入第一BD环的空闲BD中,完成后硬件收发器产生接收中断;
C、驱动软件检测到接收中断后,利用第一读指针从第一BD环中读取数据;驱动软件利用第二写指针将所读取的数据写入第二BD环中;驱动软件利用第二读指针从第二BD环中读取数据并进行处理。
较佳地,所述第一BD环和第二BD环中的BD数目均为m,m≥n,n为硬件收发器产生一个接收中断对应的最大报文数。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中连续相邻,BD的状态字段中包含一个环回标志比特。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中不连续相邻,BD中有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址。
较佳地,步骤B包括:
B1、硬件收发器FIFO达到高水位后,判断FIFO中是否有数据需要转移,若是执行步骤B2;否则转至步骤B6;
B2、判断第一写指针指向的第一BD环中的BD是否为空闲,若是,执行步骤B3,否则返回步骤B2;
B3、从W1指向的BD中取出缓冲区地址,将数据通过直接内存访问DMA的方式写入到缓冲区中;
B4、判断第一BD环是否完成一个报文的接收,若是,继续执行步骤B5,否则返回步骤B3;
B5、设置第一写指针指向的BD的空闲标志为有数据,然后将第一写指针指向第一BD环的下一个BD;
B6、硬件收发器判断是否满足产生接收中断的条件,若是则产生接收中断,完成步骤B;否则返回步骤B1。
较佳地,步骤C包括:
C1、驱动软件在中断处理程序中检查第一读指针指向的第一BD环中的BD是否有数据,若是执行步骤C2,否则转至步骤C6;
C2、检查第二写指针指向的第二BD环的BD是否空闲,若是,执行步骤C3,否则转至步骤C5;
C3、将第二写指针指向BD的缓冲指针与第一读指针指向的BD的缓冲指针交换;
C4、设置第二写指针指向的BD的空闲标志为有数据,使第二写指针指向第二BD环的下一个BD;
C5、设置第一读指针指向的BD的空闲标志为空闲,使第一读指针指向第一BD环的下一个BD,然后转至步骤C1;
C6、在接收任务中检查第二读指针指向的第二BD环的BD是否有数据,如果没有数据,完成数据接收处理;如果有数据,转到步骤C7;
C7、从第二读指针指向的第二BD环的BD的缓冲地址中取出数据进行处理,完成后执行步骤C8;
C8、设置第二读指针指向的第二BD环的BD的空闲标志为空闲,使第二读指针指向第二BD环的下一个BD,然后转至步骤C6。
本发明实施例还提出一种设备,包括硬件收发器模块,缓冲区描述符BD环模块和驱动软件模块,所述BD环模块中创建有第一缓冲区描述符BD环和第二BD环,其中:
所述硬件收发器模块,用于将先进先出FIFO单元中的数据通过第一写指针写入第一BD环的空闲BD中,完成后产生接收中断;
所述驱动软件模块,用于在检测到所述硬件收发器模块产生的接收中断后,利用第一读指针从第一BD环中读取数据;利用第二写指针将所读取的数据写入第二BD环中;并利用第二读指针从第二BD环中读取数据并进行处理。
较佳地,所述第一BD环和第二BD环中的BD数目均为m,m≥n,n为硬件收发器产生一个接收中断对应的最大报文数。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中连续相邻,BD的状态字段中包含一个环回标志比特。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中不连续相邻,BD中有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址。
从以上技术方案可以看出,在设备内从中设置两个BD环,通过在两个BD环之间传递数据,达到第一BD环被驱动软件快速处理的效果,确保硬件收发器总能从第一BD环中找到空闲的BD写入数据,从而避免了硬件收发器FIFO的溢出。
附图说明
图1为现有技术中采用BD环接收数据的原理示意图;
图2为本发明实施例中采用BD环接收数据的原理示意图;
图3为本发明实施例方案硬件收发器部分的处理流程图;
图4为本发明实施例方案驱动软件部分的处理流程图。
具体实施方式
本发明提出的避免先入先出队列溢出的方法的基本思想如下:在原有一个BD环的基础上,增加了一个BD环。硬件收发器可以访问的BD环称之为第一BD环,或快速BD环。另一个BD环称之为第二BD环,或慢速BD环。通过在两个BD环之间传递数据,达到第一BD环被驱动软件快速处理的效果,确保硬件收发器总能从第一BD环中找到空闲的BD写入数据,从而避免了硬件收发器FIFO的溢出。
本发明实现容易,效果明显,不依赖于特殊的硬件收发器特性,是完全通用的驱动软件设计。设计上利用了空间换取时间的方法,成功的将驱动软件缓冲与硬件收发器FIFO之间的矛盾转移到了两个驱动软件缓冲之间,虽然增加一点内存开销,但彻底解决硬件收发器FIFO溢出带来的问题。
为使本发明技术方案的特点以及技术效果更加清楚,以下通过具体实施例对本发明方案进行进一步详细阐述。
假设硬件收发器最多收到n个报文产生一个接收中断,那么设备驱动软件需要从内存中分配2×m个BD,m≥n,每m个BD组成一个BD环。组成BD环的方式与硬件收发器对BD环的约定有关,分为如下两种:
方式一:同一个BD环的各个BD在内存中必须是连续相邻的,BD的状态字段中有一个环回标志比特,环回标志比特为1表示该BD是最后一个BD,环回标志比特为0则表示该BD不是最后一个BD。驱动软件初始化时将BD环中的第一个BD的内存起始地址写到硬件收发器寄存器中,硬件收发器通过偏移BD大小的内存找到下一个BD,当发现BD是BD环的最后一个BD时,自动跳回到第一个BD,完成BD环的遍历。
方式二:同一个BD环的各个BD在内存中可以不是连续相邻的,BD有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址,形成一个首尾相接的环。驱动软件初始化时将第一个BD的内存起始地址写到硬件收发器寄存器中,硬件收发器通过该字段找到下一个BD,完成BD环的遍历。
两个BD环创建完成后,为每个BD分配一个数据缓冲区,将数据缓冲区的内存起始地址写入BD的缓冲指针字段,设置BD的状态字段中的空闲标志为空闲。选择其中一个BD环作为快速BD环,把它的第一个BD的内存起始地址写到硬件收发器寄存器中。初始化完成后的双BD环如图2所示,粗箭头表示数据的流向,细箭头指向当前操作的BD。
图2中,第一写指针(W1)由硬件收发器维护,指向硬件收发器当前可以访问的第一BD环的BD。第一读指针(R1)、第二写指针(W2)和第二读指针(R2)由驱动软件维护,分别指向第一BD环中可以执行读操作的BD、第二BD环中可以执行写操作的BD和第二BD环中可以执行读操作的BD。初始化完成的时候,W1和R1指向第一BD环的第一个BD,W2和R2指向第二BD环的第一个BD。当然在本发明中,W1和R1不限于指向第一BD环的第一个BD,两个指针可以指向第一BD环的任意同一个BD,此时驱动软件初始化时将W1和R1同时指向的BD环中的那一个BD的内存起始地址写到硬件收发器寄存器中即可。同理,W2和R2指向第二BD环的同一个BD即可。
本发明实施例提出一种设备,包括硬件收发器模块,缓冲区描述符BD环模块和驱动软件模块,可以避免出现先入先出队列溢出的情况。所述BD环模块中创建有第一缓冲区描述符BD环和第二BD环,其中:
所述硬件收发器模块,用于将先进先出FIFO单元中的数据通过第一写指针写入第一BD环的空闲BD中,完成后产生接收中断;
所述驱动软件模块,用于在检测到所述硬件收发器模块产生的接收中断后,利用第一读指针从第一BD环中读取数据;利用第二写指针将所读取的数据写入第二BD环中;并利用第二读指针从第二BD环中读取数据并进行处理。
较佳地,所述第一BD环和第二BD环中的BD数目均为m,m≥n,n为硬件收发器产生一个接收中断对应的最大报文数。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中连续相邻,BD的状态字段中包含一个环回标志比特。
较佳地,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中不连续相邻,BD中有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址。
本发明实施例提出的基于上述设备的双BD环的数据接收流程如图3和图4所示,其中图3示出了硬件收发器部分的处理流程,图4示出了驱动软件部分的处理流程。
硬件收发器部分的处理过程是硬件收发器将FIFO中的数据通过第一写指针写入第一BD环的空闲BD中,完成后硬件收发器产生接收中断,具体包括如下步骤:
步骤301:硬件收发器FIFO达到高水位后,判断FIFO中是否有数据需要转移,若是,转至步骤306,否则执行步骤302。
步骤302:判断W1指针指向的BD是否空闲,若是,执行步骤303,否则,返回步骤302。
所述判断具体为:检查W1指向的BD的状态字段中的空闲标志比特,如果为1表示该BD空闲,如果为0表示该BD已被占用。
步骤303:从W1指向的BD中取出缓冲区地址,将数据通过直接内存访问(DMA)的方式写入到缓冲区中。
步骤304:判断是否完成一个报文的接收,若是,继续执行步骤305,否则返回步骤303。
步骤305:将W1当前指向的BD的空闲标志比特置0,然后将W1指向第一BD环的下一个BD。
步骤306:硬件收发器判断是否满足产生接收中断的条件(时间超过门限或报文个数超过门限),若是执行步骤307。否则返回步骤301。
步骤307:硬件收发器产生接收中断。
至此,硬件收发器部分的处理过程完成,接下来进行驱动软件部分的处理,如图4所示,驱动软件部分的处理过程是驱动软件检测到接收中断后,利用第一读指针从第一BD环中读取数据,然后利用第二写指针将所读取的数据写入第二BD环中,最后利用第二读指针将第二BD环的数据读取出来。具体包括如下步骤:
步骤401:驱动软件在中断处理程序中检查R1指向的第一BD环中的BD是否有数据,若是,执行步骤402,否则转至步骤406。
所述中检查R1指向的BD是否有数据就是检查中检查R1指向的BD的空闲标志比特,如果为1表示没有数据,如果为0表示有数据待处理。
步骤402:检查W2指向的第二BD环的BD是否空闲,若是,执行步骤403,否则转至步骤405。
所述检查W2指向的BD是否空闲同样是检查W2指向的BD的空闲标志比特,如果为0表示有数据尚未处理,如果为1表示该BD空闲。
步骤403:将W2指向BD的缓冲指针与R1指向的BD的缓冲指针交换。
步骤404:将W2指向的BD的空闲标志比特置0(表示该BD中有数据尚未处理),W2指向第二BD环的下一个BD。
步骤405:将R1指向的BD的空闲标志比特置1(表示该BD空闲),R1指向下一个BD,然后转至步骤401。
步骤406:驱动软件在接收任务中检查R2指向的BD的空闲标志比特,判断R2指向的BD是否有数据,如果空闲标志比特为1表示没有数据,退出任务,完成数据接收处理。如果为0表示有数据待处理,转到步骤407。
步骤407:驱动软件从R2指向的BD的缓冲地址中取出数据进行处理,完成后执行步骤408。
步骤408:将R2指向的BD的空闲标志比特置1(表示该BD空闲),R2指向下一个BD,然后转至步骤406。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助驱动软件加必需的硬件收发器平台的方式来实现,当然也可以全部通过硬件收发器来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以驱动软件产品的形式体现出来,该计算机驱动软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种避免先入先出队列FIFO溢出的方法,其特征在于,包括如下步骤:
A、在设备内存中创建第一缓冲区描述符BD环和第二BD环;
B、硬件收发器将FIFO中的数据通过第一写指针写入第一BD环的空闲BD中,完成后硬件收发器产生接收中断;
C、驱动软件检测到接收中断后,利用第一读指针从第一BD环中读取数据;驱动软件利用第二写指针将所读取的数据写入第二BD环中;驱动软件利用第二读指针从第二BD环中读取数据并进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一BD环和第二BD环中的BD数目均为m,m≥n,n为硬件收发器产生一个接收中断对应的最大报文数。
3.根据权利要求1所述的方法,其特征在于,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中连续相邻,BD的状态字段中包含一个环回标志比特。
4.根据权利要求1所述的方法,其特征在于,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中不连续相邻,BD中有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址。
5.根据权利要求1-4任一项所述的方法,其特征在于,步骤B包括:
B1、硬件收发器FIFO达到高水位后,判断FIFO中是否有数据需要转移,若是执行步骤B2;否则转至步骤B6;
B2、判断第一写指针指向的第一BD环中的BD是否为空闲,若是,执行步骤B3,否则返回步骤B2;
B3、从第一写指针指向的BD中取出缓冲区地址,将数据通过直接内存访问DMA的方式写入到缓冲区中;
B4、判断第一BD环是否完成一个报文的接收,若是,继续执行步骤B5,否则返回步骤B3;
B5、设置第一写指针指向的BD的空闲标志为有数据,然后将第一写指针指向第一BD环的下一个BD;
B6、硬件收发器判断是否满足产生接收中断的条件,若是则产生接收中断,完成步骤B;否则返回步骤B1。
6.根据权利要求1-4任一项所述的方法,其特征在于,步骤C包括:
C1、驱动软件在中断处理程序中检查第一读指针指向的第一BD环中的BD是否有数据,若是执行步骤C2,否则转至步骤C6;
C2、检查第二写指针指向的第二BD环的BD是否空闲,若是,执行步骤C3,否则转至步骤C5;
C3、将第二写指针指向BD的缓冲指针与第一读指针指向的BD的缓冲指针交换;
C4、设置第二写指针指向的BD的空闲标志为有数据,使第二写指针指向第二BD环的下一个BD;
C5、设置第一读指针指向的BD的空闲标志为空闲,使第一读指针指向第一BD环的下一个BD,然后转至步骤C1;
C6、在接收任务中检查第二读指针指向的第二BD环的BD是否有数据,如果没有数据,完成数据接收处理;如果有数据,转到步骤C7;
C7、从第二读指针指向的第二BD环的BD的缓冲地址中取出数据进行处理,完成后执行步骤C8;
C8、设置第二读指针指向的第二BD环的BD的空闲标志为空闲,使第二读指针指向第二BD环的下一个BD,然后转至步骤C6。
7.一种设备,包括硬件收发器模块,缓冲区描述符BD环模块和驱动软件模块,其特征在于,所述BD环模块中创建有第一缓冲区描述符BD环和第二BD环,其中:
所述硬件收发器模块,用于将先进先出FIFO单元中的数据通过第一写指针写入第一BD环的空闲BD中,完成后产生接收中断;
所述驱动软件模块,用于在检测到所述硬件收发器模块产生的接收中断后,利用第一读指针从第一BD环中读取数据;利用第二写指针将所读取的数据写入第二BD环中;并利用第二读指针从第二BD环中读取数据并进行处理。
8.根据权利要求7所述的设备,其特征在于,所述第一BD环和第二BD环中的BD数目均为m,m≥n,n为硬件收发器产生一个接收中断对应的最大报文数。
9.根据权利要求7所述的设备,其特征在于,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中连续相邻,BD的状态字段中包含一个环回标志比特。
10.根据权利要求7所述的设备,其特征在于,对于第一BD环和第二BD环,同一个BD环中的各个BD在内存中不连续相邻,BD中有一个特殊字段用于存放下一个BD的内存起始地址,最后一个BD的该字段存放第一个BD的内存起始地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110205098.0A CN102209042B (zh) | 2011-07-21 | 2011-07-21 | 一种避免先入先出队列溢出的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110205098.0A CN102209042B (zh) | 2011-07-21 | 2011-07-21 | 一种避免先入先出队列溢出的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102209042A CN102209042A (zh) | 2011-10-05 |
CN102209042B true CN102209042B (zh) | 2014-04-16 |
Family
ID=44697711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110205098.0A Expired - Fee Related CN102209042B (zh) | 2011-07-21 | 2011-07-21 | 一种避免先入先出队列溢出的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102209042B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183373B (zh) * | 2015-08-28 | 2018-11-09 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN108259381B (zh) * | 2016-12-29 | 2022-06-07 | 航天信息股份有限公司 | 数据帧处理方法、装置及车载单元 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365999A (zh) * | 2005-02-03 | 2009-02-11 | 五级网络公司 | 发送完成事件批处理 |
CN101690047A (zh) * | 2007-07-13 | 2010-03-31 | 国际商业机器公司 | 网络端点系统中的服务质量增强 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2333519T3 (es) * | 2002-06-19 | 2010-02-23 | Telefonaktiebolaget L M Ericsson | Una arquitectura de controlador de dispositivo de red. |
US7457892B2 (en) * | 2006-06-05 | 2008-11-25 | Freescale Semiconductor, Inc. | Data communication flow control device and methods thereof |
US20080086575A1 (en) * | 2006-10-06 | 2008-04-10 | Annie Foong | Network interface techniques |
-
2011
- 2011-07-21 CN CN201110205098.0A patent/CN102209042B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101365999A (zh) * | 2005-02-03 | 2009-02-11 | 五级网络公司 | 发送完成事件批处理 |
CN101690047A (zh) * | 2007-07-13 | 2010-03-31 | 国际商业机器公司 | 网络端点系统中的服务质量增强 |
Also Published As
Publication number | Publication date |
---|---|
CN102209042A (zh) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541468B (zh) | 虚拟化环境下的脏数据回写系统 | |
CN102460405A (zh) | 用于通过存储器装置来控制主机存储器存取的方法及系统 | |
CN103064795B (zh) | 一种存储设备的控制方法及相关装置 | |
CN104881248B (zh) | 面向ssd的文件系统中自适应直接io加速方法 | |
CN101178701B (zh) | 一种多处理器间通信的方法及系统 | |
CN101877666B (zh) | 基于零拷贝方式的多应用程序报文接收方法和装置 | |
CN103279309A (zh) | 基于fpga的ddr控制装置及方法 | |
CN102855214B (zh) | 实现数据一致性的方法和一种多核系统 | |
CN112559476B (zh) | 一种用于提高目标系统性能的日志存储方法及其相关设备 | |
CN111124267A (zh) | 数据写入的方法、设备和计算机程序产品 | |
US20230094634A1 (en) | Memory system and data processing system including the same | |
CN102209042B (zh) | 一种避免先入先出队列溢出的方法及设备 | |
CN111651396B (zh) | 一种优化的pcie完成包乱序管理电路实现方法 | |
CN108228490A (zh) | 一种基于pcie卡高速数据传输的驱动方法 | |
CN101227689B (zh) | 信息上报方法及装置 | |
CN102779098B (zh) | 混合缓存的协同式自适应预取方法、装置和系统 | |
US20240020246A1 (en) | Method for Generating Information Based on FIFO Memory and Apparatus, Device and Medium | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
CN114706531A (zh) | 数据处理方法、装置、芯片、设备及介质 | |
CN103559079A (zh) | 一种基于共享内存的数据存取方法及装置 | |
CN105264608A (zh) | 存储数据的方法、内存控制器和中央处理器 | |
CN100419723C (zh) | 多中断的缓存装置和方法 | |
CN102609240B (zh) | 处理器电路及读取数据的方法 | |
CN106326094B (zh) | 检查指针异常的方法及系统 | |
CN105718207A (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 | ||
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: 20140416 |
|
CF01 | Termination of patent right due to non-payment of annual fee |