数据通信流控制装置及其方法制造方法及图纸

技术编号:2912612 阅读:127 留言:0更新日期:2012-04-11 18:40
披露了一种用于控制至集成电路的数据缓冲区的数据通信流的装置。该装置接收传输装置(170)传送的数据。所接收的数据被放置在存储器(120)的数据缓冲区中。该数据缓冲区通过缓冲区描述符组来限定,从而,该缓冲区描述符组中的空闲缓冲区描述符的数量表示数据缓冲区中的空闲空间的量。通信控制器(111)通过确定空闲缓冲区描述符的数量何时移至阈值水平(水位标记)之下来确定数据缓冲区是否可能溢出。该通信控制器发送请求给传输装置,以响应于数据缓冲区可能处于表示数据缓冲区基本上满了的溢出状态来停止传输数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及数据通信,更具体而言,涉及数据通信的流控制。
技术介绍
在诸如计算机网络的通信系统中的装置可接收大量的数据。通常,通信系统中的接收装置不能看到将要从一个或多个传输装置接收多少信息。例如,在以太网络中,接收装置不能在物理和数据链路层看到将要接收多大的数据包,更不能看到下一数据包将是多大的,这将导致在接收装置处可能发生数据溢出和传输数据的丢失。要求通过数据处理源对所接收的数据进行即刻的处理通常将对该装置的中央处理单元(CPU)或其他处理模块造成不希望的负担。同样,如果可能,要求在数据链路层处的存储器FIFO足够大以保证在其被卸载至应用程序之前不会丢失传输的数据,但这是昂贵的。因此,小型存储器FIFO能被用来在发送所接收的数据给数据缓冲区之前快速临时存储少量所接收的数据。然而,在一些情况下,比应用程序从数据缓冲区去除和处理数据更快地接收数据是可能的。这将导致数据缓冲区的溢出和不期望的接收数据的丢失。尽管通过使用大接收队列或数据缓冲区可以减少数据缓冲区溢出的可能性,但是,这样的存储器的尺寸和成本对于很多通信系统而言是不期望的。因此,用于控制数据通信流的改进装置是有利的。附图说明图1是通信系统的特定实施例的框图;-->图2是通信系统的通信控制器的特定实施例的框图;图3是示出根据本说明书的特定实施例的通信系统的各种存储器元件的关系的示意图;图4是与数据缓冲区相关联的缓冲区描述符的特定实施例的示意图;图5是通信控制器的溢出检测模块的特定实施例的框图;图6是在集成电路装置处管理数据通信流的方法的特定实施例的流程图。具体实施方式披露了用于控制到集成电路的数据缓冲区的数据通信流的装置。在一个实施例中,该装置接收从传输装置传送的数据。所接收的数据被放置在存储器的数据缓冲区中。通过一组缓冲区描述符来限定该数据缓冲区,从而,该组缓冲区描述符中的空闲缓冲区描述符的数量表示数据缓冲区中的空闲空间的量。该装置包括用于从该传输装置接收信息、并访问表示用于数据缓冲区的空闲缓冲区描述符的数量的信息的通信控制器。通信控制器通过确定该空闲缓冲区描述符的数量何时移至阈值水平(水位标记)之下来确定数据缓冲区是否可能溢出。该通信控制器发送请求给传输装置,以响应于确定数据缓冲区可能处于表示数据缓冲区基本上满了的溢出状态来停止传输数据。当数据缓冲区接近其容量时,通过停止接收的数据流,通信控制器降低了在接收装置处丢失数据的可能性。参看图1,示出了通信系统100的框图。通信系统100包括传输装置170、接收装置181和网络150。该网络150可以是局域网、广域网或其它合适的通信网络,或其组合。在工作期间,传输装置170通过网络150向接收装置181传输数据。接收装置181在存储器120处在数据缓冲区中存储所接收的数据。数据缓冲区由一组缓冲区描述符定义。因此,该组缓冲区描述符中的每个空闲缓冲区描述符标识了该数据缓冲区中还没有包含任何数-->据并被认为是空闲的部分。与该数据缓冲区中包含接收数据的一部分相关联的缓冲区描述符被认为不是空闲的。当与缓冲区描述符相关的数据缓冲区的已占用部分中的所有数据被去除或者被用完时,相关的缓冲区描述符被认为是用过的(即被释放),并再次被认为是空闲的缓冲区描述符。因此,与释放的缓冲区描述符相关的存储器中的一部分数据缓冲区现在可用于接收更多的数据。接收装置181跟踪缓冲区描述符组中的空闲缓冲区描述符的数量。当数据被写入数据缓冲区时,如果该数量跌至表示数据缓冲区可能溢出的水位标记(阈值)水平之下,则接收装置181向传输装置170发出请求,以停止传输数据。该停止请求可以是以太网暂停帧或者是其他适当的暂停请求。通过使传输装置停止传输数据一段时间,就给了接收装置181一段时间来释放一些缓冲区描述符,从而降低了缓冲区溢出的可能性。考虑传输装置170和接收装置181之间的任意通信延迟而设置由接收装置181维持的水位标记水平,所述延迟可导致数据缓冲区的溢出。例如,在接收装置处发出停止请求的时间和传输装置能够停止传输数据的时间之间可能存在延迟。因此,在停止请求已经被发出后,将持续接收数据一段时间。水位标记水平可被选择为使足够的空闲缓冲区描述符存在,以保证相关的数据缓冲区能够容纳在停止请求被发出的时间和传输装置能够停止传输数据的时间之间接收的数据。例如,水位标记水平可以基于所接收的数据的最大帧的大小和需要用来停止数据传输的最大延迟。图1的实施例中的接收装置181被示出为包括连接至存储器120、装置130、和装置140的集成电路装置110。装置140表示连接至网络150以提供通信控制器110和网络150之间的接口的物理通信模块140。装置130可以是主/从装置,诸如CPU、存储器控制器、或其他外围装置。存储器120可包括读/写随机存取存储器。在一个实施例中,存储器120是用来存储用于系统100的CPU的一个或多个指令、视频信息等的系统存储器。物理通信模块140提供通信控制-->器110和网络150之间的接口。物理通信模块140可实现以太网PHY层或其他适当的物理通信功能。应当理解,尽管已经将存储器120、装置130、和物理通信模块140描述为在集成电路110的外部,但是一个或多个这样的模块也可以与集成电路110集成。还应当理解,通信系统可被实现为没有物理通信模块140。集成电路110包括连接至物理通信模块140和连接至系统总线125的通信控制器111。在特定实施例中,通信控制器是链路层控制器,诸如以太网媒体访问控制器(MAC),或其他基于标准或适当的链路层控制器。集成电路装置110还包括连接至总线125的装置112、113、和114。装置112~114可以是主或从装置,在特定实施例中,装置113是CPU,以及装置114可以是总线和总线126之间的总线接口单元。在工作期间,物理通信模块140从传输装置170接收信号,且执行适当的处理以提供数据给通信模块111。在特定实施例中,通信控制器111将所接收的数据放置到通信控制器111处的先进先出(FIFO)存储器队列(存储器FIFO)(未示出)。FIFO存储器中的数据被传送给数据缓冲区,其能够被存储在存储器120中。在数据缓冲区中存储的数据,通常被存取应用程序以先进先出(FIFO)的方式从数据缓冲区中移除,本文档来自技高网...

【技术保护点】
一种方法,包括: 在第一时间接收第一值,所述第一值表示在缓冲区描述符组中的第一缓冲区描述符,所述缓冲区描述符组包括用于限定存储器缓冲区的多个缓冲区描述符,其中,所述第一缓冲区描述符是空闲的缓冲区描述符;以及 根据所述第一值确定停 止从传输装置接收数据。

【技术特征摘要】
【国外来华专利技术】US 2006-6-5 11/446,8911.一种方法,包括:
在第一时间接收第一值,所述第一值表示在缓冲区描述符组中的
第一缓冲区描述符,所述缓冲区描述符组包括用于限定存储器缓冲区
的多个缓冲区描述符,其中,所述第一缓冲区描述符是空闲的缓冲区
描述符;以及
根据所述第一值确定停止从传输装置接收数据。
2.根据权利要求1所述的方法,进一步包括:
接收第二值,所述第二值表示所述缓冲区描述符组中不再空闲的
缓冲区描述符;
接收水位标记值,所述水位标记值表示所述缓冲区描述符组中的
空闲的缓冲区描述符的期望数量;以及
进一步根据所述第一值、所述第二值和所述水位标记值确定停止
在集成电路装置处从传输装置接收数据。
3.根据权利要求2所述的方法,其中,基于小于所述水位标记
值的所述第二值和所述第一值之间的关系,确定停止在所述集成电路
装置处从传输装置接收数据。
4.根据权利要求2所述的方法,其中,从数据处理源接收所述
第一值,所述数据处理源用于从所述存储器缓冲区获取信息,以及响
应于向所述存储器缓冲区提供信息,在集成电路装置处计算所述第二
值。
5.根据权利要求4所述的方法,其中,所述数据处理源在所述
集成电路装置的外部。
6.根据权利要求2所述的方法,进一步包括:
在所述集成电路装置处接收表示所述缓冲区描述符组的总数量的
长度值;以及
进一步基于所述长度值,确定停止在所述集成电路装置处从传输
装置接收数据。
7.根据权利要求1所述的方法,进一步包括:
提供停止指示符,所述停止指示符表明在所述集成电路装置处接
收数据将被停止的持续时间;以及
在所述持续时间期间,确定应继续停止从所述传输装置接收数
据。
8.根据权利要求1所述的方法,其中,所接收的数据与以太网
协议相关。
9.一种方法,包括:
在物理接口处接收数据包;
向在集成电路装置的链路层模块处的接收FIFO队列提供与所述
数据包相关的信息;
从所述FIFO队列向存储器缓冲区发送所述包信息;
接收第一尾指示符值,所述第一尾指示符值表示用于限定缓冲区
描述符环的第一多个缓冲区描述符中的第一空闲的缓冲区描述符,其
中,所述缓冲区描述符环限定所述存储器缓冲区;以及
根据所述第一尾指示符值,发送第一暂停命令,其中所述第一暂
停命令用于停止在所述集成电路装置的所述物理接口处接收数据流一
段时间。
10.根据权利要求9所述的方法,进一步包括:
接收头指示符值,所述头指示符值表示所述多个缓冲区描述符中
的下一可用的缓冲区描述符;
接收水位标记值;以及
其中,进一步基于所述头指示符值和所述水位标记值发送所述第
一停止命令。
11.根据权利要求10所述的方法,其中,基于小于所述水位标
记值的所述尾指示符值和所述头指示符值之间的关系发送所述第一停
止命令。
12.根据权利要求10所述的方法,进一步包括:
接收表示所述多个缓冲区描述符中的缓冲区描述符数量的长度

【专利技术属性】
技术研发人员:JE伊尼斯I阿梅德MJ泰勒DW托德
申请(专利权)人:飞思卡尔半导体公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利