CN1968187A - 一种数据速率适配的方法和装置 - Google Patents
一种数据速率适配的方法和装置 Download PDFInfo
- Publication number
- CN1968187A CN1968187A CNA2006100629042A CN200610062904A CN1968187A CN 1968187 A CN1968187 A CN 1968187A CN A2006100629042 A CNA2006100629042 A CN A2006100629042A CN 200610062904 A CN200610062904 A CN 200610062904A CN 1968187 A CN1968187 A CN 1968187A
- Authority
- CN
- China
- Prior art keywords
- indication
- data
- information unit
- rate
- request
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及了一种数据速率适配的方法和装置,该方法和装置用于发送方和接收方采用帧结构化的数据传输协议。该装置包括可操作信息单元识别判决模块,速率适配控制模块,数据缓存器和状态检测模块,可操作信息单元识别判决模块识别数据流中的可操作信息单元,并根据识别结果生成请求调整指示;状态检测模块检测所述数据缓存器的填充量,输出请求速率适配指示;当速率适配控制模块接收到速率调整指示和请求速率适配指示,向数据缓存器发出速率适配控制指令,以控制数据缓存器的读写操作进而实现速率的适配。采用本发明的方案,在统一架构的电路结构上实现了多种协议的速率适配功能,可以根据需要对相关参数进行配置,灵活选择,扩展性和兼容性好。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种数据速率适配的方法和装置。
背景技术
数据速率适配的是由于在传送网上客户端之间接收发送速度不完全匹配而需要进行的调整。例如10G以太局域网和10G以太广域网(采用OC-192c)物理层的速率不同,10G以太局域网的数据流为10Gbit/s,其时钟速率为10.3Gbit/s;而10G以太广域网的数据率为9.58464Gbit/s(SDH OC-192c,是物理编码子层(physical coding subsystem,PCS)未编码前的速率),其时钟速率为9.953Gbit/s,由于其时钟速率不一致,所以对于任意一种网络连接的多个客户端,其中有数据交换的任意两个客户端之间可能因为时钟频率不同,接收缓存大小不同等原因存在一定的速率差异,如果不加控制,差异累积到一定程度就会有数据丢失,丢失的数据可能是有效的数据,对于长度较大(帧长、包长、信元长度等)的数据来说,即使是小段的数据丢失也会造成整个数据包或者数据帧的失效,这种情况下的数据丢失是致命的,所以有效的控制数据传送的速率,通过选择性的添加或者删除多余的数据,对于达到规定范围内客户端之间的正常数据交换是非常必要和关键的。
现有技术中,通过在GFP封装时插入IDLE来进行适配。参见图1所示为pkt-link输入数据流示意图,图中白色的方框表示8byte的包数据,data_mod指示的是上一个包尾的有效字节,下一个包包头方框的数据可以是IDLE、下个数据包或管理帧数据,方便描述,统一称为下个包。到前一个包尾的时候如果data_mod不为0,则表示需要同时处理下个包的数据,data_mod为7的时候,同时接收的数据位宽最大为15byte(120bit,前一个包的data_mod加上下一个包的8byte数据)。前级包处理模块完成了单个包的除净荷域自同步扰码以外的处理,要实现连续的包发送,需要将pkt_proc模块输入的数据中的净荷域数据自同步扰码完成后再移位补齐输出。在包尾连接的时候如果是插入IDLE进行了速率适配,则IDLE帧不需要扰码。分为两种情况:1)插IDLE帧进行速率适配;2)不插IDLE帧。是否插IDLE帧由pkt_proc模块输出的IDLE帧指示idle_flag决定。
由于扩展头数以及包净荷不一定是64bit的整齐数据,在输出数据流中需要将数据拼齐成连续的64bit数据流,这就需要根据前面数据不齐的参数进行移位,前级模块处理完扩展头数据与净荷域数据的不齐情况后会存在一个参数值,将这个参数值传递给本模块后,本模块根据前一个包的移位值情况,结合当前输入的data_mod情况换算以为数值n(以字节为单位)。具体的换算方法如下:
在包尾有效字节指示不为0的情况下,我们需要补齐包尾字节,补齐的表达式为ni=8-((8-ni-1)+data_mod)%8(ni表示本帧的移位值,ni-1表示前一帧的移位值,i>=1;第一帧的前一帧n0值为0)。
这种通过在GFP封装时插入IDLE来进行适配的方法涵盖的范围有限,只适用于万兆网发送方向的适配,不能在多种协议中通用,需要单独设计电路,局限性较大,对于接收方向的适配,一般是将IDLE进行简单的删除,到了GFP成帧这一层是数据已经经过包封完毕了的,这时数据完全是透明的,而插入的IDLE属于GFP一层,能够控制的范围有限,由于对数据本身不进行处理故不能删除数据本身的冗余信息。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是在统一的电路结构上实现了多种传输协议的速率适配功能,不需要改变电路结构,只需要配置适当的参数,即可自动完成速率适配的功能。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种速率适配方法,用于从高速率发送方接收帧结构化的数据传输协议,该方法包括:
识别数据流中的可操作信息单元,将识别到的可操作信息单元进行分类并统计;判断所述统计结果是否满足预先设定的该类可操作信息单元的删除条件,是则输出请求删除指示;
判断是否需要速率适配,是则输出请求速率适配指示;
根据所述请求删除指示和所述请求速率适配指示将所述数据流中满足删除条件的可操作信息单元删除。
其中,所述方法还包括:预先设定所述数据传输协议对应的每一种类型的可操作信息单元的删除条件。
其中,所述数据流中的可操作信息单元的类型包括:IDLE、OS和10BERR。
其中,所述数据传输协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
其中,所述方法还包括:在向低速率接收方发送从高速率发送方接收的数据流之前,将所述数据流输入数据缓存器缓存。
其中,所述判断是否需要速率适配的过程具体包括:检测数据缓存器的填充量,判断所述填充量是否达到预先设定的满状态阈值,如果是则输出请求速率适配指示。
其中,根据所述请求删除指示和所述请求速率适配指示将所述数据流中满足删除条件的可操作信息单元删除的步骤具体包括:
根据所述请求删除指示和所述请求速率适配指示向数据缓存器发送删除控制指令;
数据缓存器接收到所述删除控制指令后,停止所述数据缓存器的写操作并控制所述数据缓存器的地址操作方式,其中所述地址操作方式包括:根据可操作信息单元的字节数决定的位宽进行单地址操作,或采用单字节位宽并根据所述数据传输协议进行多地址操作。
本发明还提供了一种数据速率适配的方法,用于从低速率发送方接收帧结构化的数据传输协议,,该方法包括:
识别数据流中的可操作信息单元,判断所述识别结果是否满足预先设定的插入条件,是则输出请求插入指示;
判断是否需要速率适配,是则输出请求速率适配指示;
根据所述请求插入指示和所述请求速率适配指示在数据流中插入预先设定的可插入信息单元。
其中,所述方法还包括:预先设定所述数据传输协议对应的可插入信息单元。
其中,所述数据传输协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
其中,所述方法还包括:在向高速率接收方发送从低速率发送方接收的数据流之前,将所述数据流输入数据缓存器缓存。
其中,所述判断是否需要速率适配的过程具体包括:检测数据缓存器的填充量,判断所述填充量是否低于预先设定的空状态阈值,如果是则输出请求速率适配指示。
其中,根据所述请求插入指示和所述请求速率适配指示在数据流中插入预先设定的可插入信息单元的步骤具体包括:
根据所述请求插入指示和所述请求速率适配指示向数据缓存器发送插入控制指令;数据缓存器接收到所述插入控制指令后,停止所述数据缓存器的读操作;在数据缓存器的输出端口将预先设定的可插入信息单元插入到数据流中。
本发明还提供了一种数据速率适配的装置,用于在发送方和接收方采用帧结构化的数据传输协议,所述装置包括:可操作信息单元识别判决模块,速率适配控制模块,数据缓存器和状态检测模块,
所述可操作信息单元识别判决模块,用于识别数据流中的可操作信息单元,并根据识别结果生成请求调整指示;
所述状态检测模块,用于检测所述数据缓存器的填充量,输出请求速率适配指示;
所述速率适配控制模块,用于接收所述速率调整指示和所述请求速率适配指示,生成速率适配控制指令;
所述数据缓存器,用于在向接收方发送从发送方接收的数据流之前缓存数据流,并根据所述速率适配控制指令进行速率调整;
其中,所述速率适配控制模块包括删除控制模块和/或插入控制模块。
其中,所述可操作信息单元识别判决模块根据可操作信息单元的分类识别的统计结果输出请求删除指示;所述状态检测模块,当检测到所述数据缓存器的填充量为满状态阈值,向删除控制模块输出请求速率适配指示;所述删除控制模块,根据所述请求删除指示和所述请求速率适配指示,控制所述数据缓存器的写操作。
其中,所述装置还包括插入信息模块;所述可操作信息单元识别判决模块,根据可操作信息单元的识别结果输出请求插入指示;所述状态检测模块,当检测到所述数据缓存器的填充量为空状态阈值,向插入控制模块输出请求速率适配指示;所述插入控制模块,根据所述请求插入指示和所述请求速率适配指示,控制所述数据缓存器的读操作;所述插入信息模块,预先保存了数据传输协议对应的可插入信息,并根据所述插入控制指令输出可插入信息。
其中,所述装置还包括协议选择模块,用于预先设置多协议调整参数的情况下,选择数据流协议对应的调整参数,所述多协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
由上述本发明提供的技术方案可以看出,本发明具有如下优点:
本发明具有统一架构,在应用时可根据需要进行配置,灵活性高;
支持各种速度等级的速率适配,包括:200M/266M/532M/1G/2G/4G/10G等;
支持双向速率适配,能够有效实现从高速向低速调整,也能实现从低速向高速调整。
附图说明
图1为pkt-link输入数据流示意图;
图2为本发明实施例的总体结构示意图;
图3为本发明一实施例的总体结构示意图;
图4为本发明一实施例的总体结构示意图;
图5为本发明一实施例的可操作信息单元识别判决模块示意图;
图6为本发明一实施例的可操作信息单元识别判决模块示意图。
具体实施方式
本发明的核心思想是在统一架构的平台上,根据需要预先设定与数据传输协议的调整策略相关的调整参数,在进行速率适配时,识别数据流中的可操作信息单元并判决是否满足预先设定的调整参数,如果是则输出调整指示;判断是否需要速率适配,是则输出请求速率适配指示;当调整指示和插入指示同时有效时进行速率调整以实现速率适配目的。本发明的方案支持多种协议,具有统一架构形式,不需要改变电路而只需对相关参数进行配置即可实现。
根据本发明的思想,本发明的方案用于发送方和接收方采用帧结构化的数据传输协议,对于各种协议,进行数据速率适配的核心思想是:保留足够的同步定时信息,保留足够控制字节个数,只能在信息单元尾部进行同类删除和插入,操作完成不能破坏原有的连续性。其中,所述的连续性是指,在数据帧前后会有定界符帧开始(Start of Frame,SOF)、帧结尾(End ofFrame,EOF),对于数据是不能破坏的,要完整接收下来,另外在数据帧的间隙还有一些控制信息,这些信息在满足一定条件后就是冗余的了,比如先接收到连续2个IDLE,紧随其后的IDLE就是多出来的了,这时要将前两个IDLE接收下来,多余的删除,这样就不破坏其连续性了。如果在还没有收到足够的控制信息之前就进行了删除操作,因为接下来收到的信息是不可预知的,就有可能破坏其连续性。
为对本发明有进一步理解,下面结合附图对本发明所述的方法和装置作进一步说明。
首先,根据本发明的思想,对本发明各实施例中对应每一种协议完成速率适配的原则进行说明。本发明的实施例支持的协议类型包括但不限于千兆以太网(Gigabit Ethernet,GE)、光纤通道(Fiber Channel,FC)、光纤连接(Fiber Connection,FICON)、企业系统互联(Enterprise SystemConnection,ESCON)、单字节命令编码集互联(Single-Byte Command CodeSets Connection,SBCON)、数字视频播放(Digital Video Broadcast,DVB)。由于支持多种协议,这里的可操作信息单元识别、分类要针对不同协议分类进行。这些不同协议类型的速率适配都是基于物理编码子层(Physical Coding Sublayer,PCS),虽然能够删除的可操作信息单元和可插入信息单元的内容和字节长度稍有差异,但大致可以分为3类:
A)IDLE——空闲信元,每种协议规定的可以删掉的IDLE都是在帧间隙(或者称为包间隙)完成分割OS及同步定时的功能;
B)OS——指令集,或称为原语序列,通常为持续发送的控制信息单元,包含了条件的指示及控制信息;原语序列一般做控制链接,出现在帧间隙,也有同步定时的功能,一般要求超过连续3个以上的OS才能在尾部进行删除;
C)10BERR——10bit错误指示,可以出现在帧/包中间,指示码形或者极性等错误,一般要求连续超过12个10BERR才能在尾部进行删除。
1.对于千兆以太网(Gigabit Ethernet,GE)的数据速率适配规则
参见表1所示,表1为下述提到的信息单元的释义。
GE规定8个字节的最小包间隙IPG(Inter Packet Gap),包括包尾指示/T/、承载扩展/R/和空闲指令/I/,在包的间隙可以是/T/R/I/,或者/T/R/R/I/。空闲指令/I/序列由一个或者多个/I1/(空闲1)或者/I2/(空闲2)组成,其中,/I1/的结尾极性和初始极性相反,而/I2/的结尾极性和初始极性相同,通常/I/序列都以/I2/结尾,保证当前极性为负极性,所以/I2/可以自由地被添加或者删除而不改变传递的极性。当满足要求的8个字节传送完毕后,至少已经传送了一个/I2/,那么当数据缓存器达到满状态的阈值门限就可以删掉/I2/,相反在数据缓存器空状态时可以插入一个/I2/来完成速率的调整。
GE规定配置指令集/C/包括/C1//C2/,/C1/(配置1)的结尾极性和初始极性相反,/C2/(配置2)的结尾极性和初始极性相同,这样保证/C1//C2/中一定存在一个正逗点(comma)/+K28.5/,协议规定配置寄存器握手匹配最小单位是连续3个/C/,所以在捕获连续的3个/C/后,超过数据缓存器满状态的阈值门限就可以删掉接收的/C1//C2/,相反在数据缓存器低于空状态时可以插入/C1//C2/来完成速率的调整。
捕获连续的12个10BERR或者/V/字符,当这12个bytes传送完毕,当数据缓存器达到满状态的阈值门限就可以删掉接收到的10BERR或者/V/字符,相反在数据缓存器空状态时可以插入/V/字符来完成速率的调整。
表1
代号 | 释义 | 字节数 | 编码 |
/I/ | 空闲指令(IDLE) | /I1/正常,/I2/保留 | |
/I1/ | 空闲1(IDLE1) | 2 | /K28.5/D5.6/ |
/I2/ | 空闲2(IDLE2) | 2 | /K28.5/D16.2/ |
/R/ | 承载扩展(Carrier_Extend) | 1 | /K23.7/ |
/T/ | 包尾指示(End_of_Packet) | 1 | /K29.7/ |
/C/ | 配置指令(Configuration) | /C1/ /C2/交替 | |
/C1/ | 配置1(Configuration1) | 4 | /K28.5/D21.5/ |
/C2/ | 配置2(Configuration2) | 4 | /K28.5/D2.2/ |
/V/ | 错误传播(Error_Propagation) | 1 | /K30.7/ |
2、对于光纤通道(Fiber Channel,FC)的速率适配规则
参见表2所示,表2为下述提到的信息单元的释义。
FC-FS协议规定帧间隙必须不少于6个原语信号,所述原语信号为特殊信息单元,包括R_RDY、IDLE等,其中,除了IDLE之外的原语信号都需要在其前后各使用1个IDLE进行间隔,也就是说如果帧间隙全部采用IDLE,则IDLE的数目不少于6个,如果使用其它的原语信号,则IDLE的数目不少于4个。所以捕获FC数据流中的IDLE,只为FC帧前后各保留至少2个IDLE帧,其他多余的IDLE可以删掉。当数据缓存器填充量达到满状态的阈值门限且捕获大于2个以上的IDLE时,可以将多余的IDLE删掉,反之数据缓存器空状态时可以插入IDLE来完成速率的调整。
FC-FS规定至少支持4种原语序列OS:NOS、OLS、LR、LRR,并且对原语序列的识别需要连续检测到至少3个相同的OS。所以检测到至少3个连续相同的原语序列,其他多余的相同的原语序列被删掉。当数据缓存器空状态时可以插入原语序列来完成速率的调整。
由于10BERR可能是伴随着原语序列传递的,原语序列要求最少要连续3个(12字节)才能识别,10BERR的指示是每个字节对应一个,为了保证原语序列传递的连续性,所以要捕获到至少12个连续的10BERR,当数据缓存器满状态时其他的10BERR可以被忽略掉,反之当数据缓存器空状态时可以插入10BERR来完成速率的调整。
表2
代号 | 释义 | 字节数 | 编码 |
IDLE | 配置指令(Configuration) | 4 | /K28.5//D21.4//D21.5//D21.5/ |
OLS | 离线(Offline) | 4 | /K28.5//D21.1//D10.4//D21.2/ |
NOS | 无操作(Not Operational) | 4 | /K28.5//D21.2//D31.5//D5.2/ |
LR | 链接复位(Link_Reset) | 4 | /K28.5//D9.2//D31.5//D9.2/ |
LRR | 链接复位响应(Link_Reset_Response) | 4 | /K28.5//B21.1//D31.5//D9.2/ |
3、光纤连接(Fiber Connection,FICON)的速率适配规则
FICON的速率适配规则与FC速率适配规则相同,在此不重复说明。
4、企业系统互联(Enterprise System Connection,ESCON)的速率适配规则
参见表3所示,表3为下述提到的信息单元的释义。
ESCON的IDLE比较特别,因为只有一个字节/K28.5/,这个字节也会出现在其它的原语序列OS的头一个字节,只有这个字节不用于其它OS时才作为IDLE使用,另外ESCON要求在速率适配时至少要保留4个IDLE,这是由其通道控制机制决定的,所以捕获连续4个IDLE字符(/K28.5/),当这4个字符传送结束,之后的IDLE字符在数据缓存器满状态时可以去除,相反在数据缓存器空状态时可以插入IDLE,连续捕获IDLE的个数可以在线配置,其缺省值为4。
捕获至少连续8个原语序列,当这16个字节发送完毕,可以在数据缓存器满状态时删掉多余的原语序列,相反在数据缓存器空状态时可以插入原语序列。
检测到至少12个连续的10BERR,然后其他的10BERR可以被忽略掉。当数据缓存器空状态时可以插入10BERR来完成速率的调整。
表3
代号 | 释义 | 字节数 | 编码 |
IDLE | 配置指令(Configuration) | 4 | /K28.5/ |
OLS | 离线(Offline) | 4 | /K28.5//D24.2/ |
NOS | 无操作(Not Operational) | 4 | /K28.5//D0.2/ |
UD | 无条件断线(Unconditional-disconnect) | 4 | /K28.5//D15.2/ |
UDR | 无条件断线响应(Unconditional-disconnect-response) | 4 | /K28.5//D16.2/ |
5、单字节命令编码集互联(Single-Byte Command Code SetsConnection,SBCON)的速率适配规则:
SBCON的速率适配规则与ESCON速率适配规则相同,在此不重复说明。
6、数字视频播放(Digital Video Broadcast,DVB)的速率适配规则:
DVB在两帧之间通常有至少2个IDLE字符/K28.5/,当大于3个以上连续的IDLE接收到后为了速率适配可以除掉一个,/K28.5/还可以插在DVB的包中间,当数据缓存器空状态时可以在数据流的任意字节位置插入。10BERR也可以用来做速率适配,保证有一个10BERR接收到后即可在其后插入10BERR或者将其后跟随的10BERR删除。
本发明用于发送方和接收方之间采用帧结构化的数据传输协议,既支持高速率向低速率的适配也支持低速率向高速率的适配。本发明所支持的数据传输协议包括但不限于千兆以太网(Gigabit Ethernet,GE)、光纤通道(Fiber Channel,FC),光纤连接(Fiber Connection,FICON),企业系统互联(Enterprise System Connection,ESCON),单字节命令编码集互联(Single-Byte Command Code Sets Connection,SBCON),数字视频播放(Digital Video Broadcast,DVB)。根据本发明的思想,参见图2或图3或图4,对各种协议的数据进行速率适配的功能是通过数据速率适配器300实现的。各种协议的数据流通过上游电路200输入到数据速率适配器300,数据速率适配器300根据不同协议类型选择不同的调整策略,由状态检测模块340(或342或344)监控数据缓存器330的状态,在适当的条件下通过对写入和读取信息的控制来完成速率适配功能。经数据速率适配器300处理后的数据输入到下游电路400。
参见图2所示,为本发明的第一实施例的整体结构示意图,实现了客户端高速率向本端低速率适配的功能。
在本发明的第一实施例中,如图2,数据速率适配器300主要包括可操作信息单元识别判决模块320、数据缓存器330,状态检测模块340和删除控制模块350。
其中,可操作信息单元识别判决模块320用于识别数据流中的可操作信息单元,并根据识别结果生成请求删除指示。参见图5,图5所示为应用于GE协议的可操作信息单元识别判决模块和统计判决模块示意图。图5中的可操作信息单元识别判决模块500具体实现了图2所示的可操作信息单元识别判决模块320的功能,GE数据流分别输入匹配识别单元510、520、530,如果识别到数据流中存在IDLE或OS或10BERR中任意一种类型的可操作信息单元,则相应的匹配识别单元输出识别指示idle_ind或c1c2_ind或10berr_ind,IDLE计数单元512、OS计数单元522、10BERR计数单元分别统计idle_ind、c1c2_ind、10berr_ind的个数,并分别发送给判决单元514、524、534,判决数据流中每一种类型的可操作信息单元是否超过预先设定的判决门限,如果超过了则生成请求删除指示以表示该类型的可操作信息单元可以删除;其中各种类型的判决门限可参考GE协议所规定的参数也可自己配置,只要满足数据连续性要求。
其中,数据缓存器330,可以是先入先出存储器(FIFO)或者随机存储器RAM等器件,用于在向接收方发送从发送方接收的数据流之前缓存数据流,当接收到删除控制模块输出的删除控制指令时关闭数据缓存器330的写操作以调整速率。
其中,状态检测模块340,用于检测数据缓存器330的填充量,根据填充量判断是否需要速率适配,如果需要则产生请求速率适配指示。数据缓存器330满状态的容量可根据数据流速率进行设置。
删除控制模块350接收可操作信息单元识别判决模块320提供的请求删除指示和状态检测模块340提供的请求速率适配指示,生成速率适配控制指令。
由于本发明支持多种数据传输协议,因此可根据需要预先设定多种数据传输协议对应的调整参数,该参数包括可操作信息单元和对应的越界条件;在速率适配时通过协议选择模块310输出的协议选择指示选择数据传输协议对应的调整参数,参见图6所示为本发明支持多种协议的可操作信息单元识别判决模块的结构示意图。当然,根据本发明的思想,只要实现对数据流中的可操作信息单元进行识别、分类和判决的功能的结构都不超出本发明所要保护的范围。
根据本发明第一实施例的装置,实现高速率发送方到低速率接收方如MAC层到PHY层速率适配的过程如下:
步骤200:在输入需要进行速率适配的数据前需对速率适配器进行初始配置,所述预配置包括:
预先设定数据传输协议对应的每一种类型的可操作信息单元及相应的删除条件,并存储到可操作信息单元识别判决模块320中;根据数据传输协议从MAC到PHY层速率适配需要预先设定数据缓存器满状态的阈值门限;
其中,将每一种传输协议对应的可操作信息单元按类型划分,在本发明实施例包括的GE,FC,FICON,ESCON,SBCON或DVB等多种传输协议,均划分成IDLE、OS和10BERR这三种类型;
步骤201;在向低速率接收方PHY层发送从高速率发送方MAC层接收的数据流之前,将数据流输入数据缓存器进行缓存;
步骤202:识别数据流中的可操作信息单元,将识别到的可操作信息单元进行分类并统计;判断所述统计结果是否满足预先设定的该类可操作信息单元的删除条件,是则输出请求删除指示;及
状态检测模块判断是否需要进行速率适配,是则输出请求适配指示;
步骤203:当可操作信息单元识别判决模块向删除控制单元输出删除指示,状态检测模块向删除控制单元输出请求适配指示时,删除控制单元向数据缓存器发送删除控制指令;
步骤204:数据缓存器接收到删除控制指令,关闭写操作,这样检测到可删除的信息单元就不会被写入缓存器,当数据缓存器填充量余额大于需要删除的可操作信息单元的字节容量时表明需要删除的信息已经被删除了,从而实现了删除的功能;
步骤205:恢复数据存储器的写操作。
其中,步骤202中,识别数据流中可操作信息单元的步骤具体包括:
将数据流输入可操作信息单元识别判决模块320,采用分类匹配识别的方式识别出数据流中的可操作信息单元,输出识别到可操作信息单元的类型指示;
统计识别到同一类型的可操作信息单元,即分别对各类型指示进行累加;
判断识别到的各类型的可操作信息单元是否超过预先设置的该协议对应的判决条件,如果是则输出删除指示,表示这种类型的可操作信息单元在需要速率适配时可以删除而不会影响数据的完整性和连续性;
其中,步骤202中状态检测模块判断是否需要进行速率适配的方式包括:检测数据缓存器330读写地址偏差是否到达预先设定的调整阈值,或根据数据流的数据速率设定数据缓存器满状态的容量。
参见图3所示,为本发明的第二实施例的整体结构示意图,实现了客户端低速率向本端高速率适配的功能。
在本发明的第二实施例中,参见图3所示,数据速率适配器300主要包括可操作信息单元识别判决模块322、数据缓存器330,状态检测模块342、插入控制模块352和插入信息模块360。
其中,可操作信息单元识别判决模块322用于识别数据流中的可操作信息单元,并根据识别结果生成请求插入指示;可操作信息单元识别判决模块322还向插入信息模块360提供插入信息选择指示以选择预先设定的可插入信息。
其中,状态检测模块342用于检测数据缓存器330的填充量,以判断是否需要速率适配,如果需要则产生请求速率适配指示。状态检测模块342和状态检测模块340的功能基本相同,区别在于判断是否需要速率适配的条件不同。
其中,插入控制模块352接收可操作信息单元识别判决模块322提供的请求插入指示和状态检测模块342提供的请求速率适配指示,生成插入控制指令。
其中,插入信息模块360预先保存了数据传输协议对应的可插入信息单元,根据可操作信息单元识别判决模块322提供的插入信息选择指示选择可插入的信息单元,当接收到插入控制模块352发送的插入控制指令时将选中的可插入信息单元插入到数据流中。在正常情况下,插入信息模块360直接输出数据流。
与第一实施例相同,本实施例也支持多种数据传输协议,因此可根据需要预先设定多种数据传输协议对应的调整参数,该调整参数包括可操作信息识别判决模块322中的可操作信息单元和插入信息模块360中的可插入信息单元;在速率适配时根据协议选择模块310输出的协议选择指示选择数据传输协议对应的调整参数。
根据本发明第二实施例的装置,实现低速率发送方到高速率接收方如PHY层到MAC层速率适配的过程如下:
步骤300:在输入需要进行速率适配的数据前需对速率适配器进行初始配置,所述初始配置包括:
预先设定数据传输协议对应的可操作信息单元及可插入信息单元,并将可操作信息单元保存到可操作信息单元识别判决模块322中,将可插入信息单元保存到插入信息模块360中,其中,可操作信息单元与可插入信息单元配置可以一样,也可采用不同配置;根据数据传输协议速率适配需要预先设定数据缓存器空状态的阈值门限,通常设为零;
在本发明实施例支持GE,FC,FICON,ESCON,SBCON和DVB等多种传输协议,可根据需要将这些协议的可插入信息单元保存到插入信息模块360中,通过协议选择模块310选定输入数据流的协议对应的可插入信息;
步骤301;在向高速率接收方发送从低速率发送方接收的数据流之前,将数据流输入数据缓存器进行缓存;
步骤302:识别数据流中的信息单元,如果该信息单元为预先设定的数据协议对应的可操作信息单元,则输出请求插入指示和插入信息单元的选择指示;
根据本发明的思想,只要不破坏数据的完整性和连续性,在识别到的可操作信息单元之后就可插入相同或相关的可操作信息单元,因此识别数据流中可操作信息单元的方式很多,包括直接识别和分类识别;
步骤303:当可操作信息单元识别判决模块324向插入控制模块输出请求插入指示,状态检测模块342向插入控制模块输出请求适配指示时,删除控制单元向数据缓存器发送插入控制指令;
步骤304:数据缓存器接收到插入控制指令,关闭读操作,插入信息模块360根据可操作信息单元识别判决模块324提供的插入信息单元的选择指示将预先设置的可插入信息复用到数据流之后,实现插入的功能;
步骤305:插入结束后可恢复数据缓存器的读操作。
参见图4所示,为本发明的第三实施例的整体结构示意图,实现了客户端和本端双向速率适配的功能。
在本发明的第三实施例中,参见图4所示,数据速率适配器300主要包括可操作信息单元识别判决模块324、数据缓存器330,状态检测模块344,删除控制模块350、插入控制模块352和插入信息模块。本发明第三实施例中数据速率适配器300各模块的组成和功能与本发明第一实施例和第二实施例中相应模块的组成和功能基本相同,区别在于:
状态检测模块344包含了状态检测模块340和342的功能,需要检测数据缓存器填充量的空/满状态,当检测到数据缓存器330为满状态时向删除控制模块350发送请求速率适配指示;当检测到数据缓存器330为空状态时向删除控制模块350发送请求速率适配指示;
可操作信息单元识别判决模块324包含了可操作信息单元识别判决模块320和322的功能,需要分别将请求删除指示和请求插入指示发送给删除控制模块350和插入控制模块352。
根据本发明的第二、第三实施例,由于插入的操作基本原则是不破坏信息的连续性就可以插入,所以只要进行信息识别或信息识别并分类操作就可以了,这里我们可以借用可操作信息单元识别判决模块中的识别结果,而不需要再另行设计电路。
以插入IDLE为例:
当数据缓存器330空状态且数据缓存器出口为IDLE,则插入IDLE控制指令有效;当停止插入控制指令有效,则插入IDLE控制指令为无效值;也就是说插入控制指令和停止插入控制指令不能同时有效。其它情况下插入IDLE控制指令保持前一个状态。
其中,当插入IDLE控制指令为无效值,读地址允许循环递增;插入IDLE控制指令为有效值,读地址保持前一个值。
其中,对数据缓存器地址操作具体包括:
因为对于不同的协议操作的信息单元的字节数不同,实现时有两种方式:一种方式是根据信息单元的字节数决定位宽,插入和删除时数据缓存器都进行单地址操作,另一种方式是采用单字节位宽,操作时根据协议的不同进行多地址操作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (18)
1、一种数据速率适配的方法,用于从高速率发送方接收帧结构化的数据传输协议,其特征在于,该速率适配方法包括:
识别数据流中的可操作信息单元,将识别到的可操作信息单元进行分类并统计;判断所述统计结果是否满足预先设定的该类可操作信息单元的删除条件,是则输出请求删除指示;
判断是否需要速率适配,是则输出请求速率适配指示;
根据所述请求删除指示和所述请求速率适配指示将所述数据流中满足删除条件的可操作信息单元删除。
2、根据权利要求1所述的方法,其特征在于,所述方法还包括:预先设定所述数据传输协议对应的每一种类型的可操作信息单元的删除条件。
3、根据权利要求1或2所述的方法,其特征在于,所述数据流中的可操作信息单元的类型包括:IDLE、OS和10BERR。
4、根据权利要求1或2所述的方法,其特征在于,所述数据传输协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
5、根据权利要求1所述的方法,其特征在于,所述方法还包括:在向低速率接收方发送从高速率发送方接收的数据流之前,将所述数据流输入数据缓存器缓存。
6、根据权利要求5所述的方法,其特征在于,所述判断是否需要速率适配的过程具体包括:检测数据缓存器的填充量,判断所述填充量是否达到预先设定的满状态阈值,如果是则输出请求速率适配指示。
7、根据权利要求5所述的方法,其特征在于,根据所述请求删除指示和所述请求速率适配指示将所述数据流中满足删除条件的可操作信息单元删除的步骤具体包括:
根据所述请求删除指示和所述请求速率适配指示向数据缓存器发送删除控制指令;
数据缓存器接收到所述删除控制指令后,停止所述数据缓存器的写操作并控制所述数据缓存器的地址操作方式,其中所述地址操作方式包括:根据可操作信息单元的字节数决定的位宽进行单地址操作,或采用单字节位宽并根据所述数据传输协议进行多地址操作。
8、一种数据速率适配的方法,用于从低速率发送方接收帧结构化的数据传输协议,其特征在于,该速率适配方法包括:
识别数据流中的可操作信息单元,判断所述识别结果是否满足预先设定的插入条件,是则输出请求插入指示;
判断是否需要速率适配,是则输出请求速率适配指示;
根据所述请求插入指示和所述请求速率适配指示在数据流中插入预先设定的可插入信息单元。
9、根据权利要求8所述的方法,其特征在于,所述方法还包括:预先设定所述数据传输协议对应的可插入信息单元。
10、根据权利要求8或9所述的方法,其特征在于,所述数据传输协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
11、根据权利要求8所述的方法,其特征在于,所述方法还包括:在向高速率接收方发送从低速率发送方接收的数据流之前,将所述数据流输入数据缓存器缓存。
12、根据权利要求11所述的方法,其特征在于,所述判断是否需要速率适配的过程具体包括:检测数据缓存器的填充量,判断所述填充量是否低于预先设定的空状态阈值,如果是则输出请求速率适配指示。
13、根据权利要求11所述的方法,其特征在于,根据所述请求插入指示和所述请求速率适配指示在数据流中插入预先设定的可插入信息单元的步骤具体包括:
根据所述请求插入指示和所述请求速率适配指示向数据缓存器发送插入控制指令;
数据缓存器接收到所述插入控制指令后,停止所述数据缓存器的读操作;
在数据缓存器的输出端口将预先设定的可插入信息单元插入到数据流中。
14、一种数据速率适配的装置,用于在发送方和接收方采用帧结构化的数据传输协议,其特征在于,所述装置包括:可操作信息单元识别判决模块,速率适配控制模块,数据缓存器和状态检测模块,
所述可操作信息单元识别判决模块,用于识别数据流中的可操作信息单元,并根据识别结果生成请求调整指示;
所述状态检测模块,用于检测所述数据缓存器的填充量,输出请求速率适配指示;
所述速率适配控制模块,用于接收所述速率调整指示和所述请求速率适配指示,生成速率适配控制指令;
所述数据缓存器,用于在向接收方发送从发送方接收的数据流之前缓存数据流,并根据所述速率适配控制指令进行速率调整;
15、根据权利要求14所述的装置,其特征在于,所述速率适配控制模块包括删除控制模块和/或插入控制模块。
16、根据权利要求15所述的装置,其特征在于,
所述可操作信息单元识别判决模块根据可操作信息单元的分类识别的统计结果输出请求删除指示;
所述状态检测模块,当检测到所述数据缓存器的填充量为满状态阈值,向删除控制模块输出请求速率适配指示;
所述删除控制模块,根据所述请求删除指示和所述请求速率适配指示,控制所述数据缓存器的写操作。
17、根据权利要求15所述的装置,其特征在于,所述装置还包括插入信息模块;
所述可操作信息单元识别判决模块,根据可操作信息单元的识别结果输出请求插入指示;
所述状态检测模块,当检测到所述数据缓存器的填充量为空状态阈值,向插入控制模块输出请求速率适配指示;
所述插入控制模块,根据所述请求插入指示和所述请求速率适配指示,控制所述数据缓存器的读操作;
所述插入信息模块,预先保存了数据传输协议对应的可插入信息,并根据所述插入控制指令输出可插入信息。
18、根据权利要求14所述的装置,其特征在于,所述装置还包括协议选择模块,用于预先设置多协议调整参数的情况下,选择数据流协议对应的调整参数,所述多协议包括:GE,FC,FICON,ESCON,SBCON或DVB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100629042A CN100488172C (zh) | 2006-09-27 | 2006-09-27 | 一种数据速率适配的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100629042A CN100488172C (zh) | 2006-09-27 | 2006-09-27 | 一种数据速率适配的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1968187A true CN1968187A (zh) | 2007-05-23 |
CN100488172C CN100488172C (zh) | 2009-05-13 |
Family
ID=38076744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100629042A Expired - Fee Related CN100488172C (zh) | 2006-09-27 | 2006-09-27 | 一种数据速率适配的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100488172C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374145B (zh) * | 2007-08-24 | 2012-09-05 | 华为技术有限公司 | 一种速率适配的方法和装置 |
CN103973407A (zh) * | 2014-05-28 | 2014-08-06 | 北京经纬恒润科技有限公司 | 远程数据传输系统的数据传输速率匹配方法及装置 |
US8850153B2 (en) | 2011-09-30 | 2014-09-30 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
US9569136B2 (en) | 2015-04-29 | 2017-02-14 | International Business Machines Corporation | Smart load balancing replication when adding or removing storage disks in a distributed storage system |
CN113852448A (zh) * | 2021-11-26 | 2021-12-28 | 长芯盛(武汉)科技有限公司 | 兼容有源线缆的多种传输速率的装置及其方法 |
-
2006
- 2006-09-27 CN CNB2006100629042A patent/CN100488172C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374145B (zh) * | 2007-08-24 | 2012-09-05 | 华为技术有限公司 | 一种速率适配的方法和装置 |
US8850153B2 (en) | 2011-09-30 | 2014-09-30 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
US8868875B2 (en) | 2011-09-30 | 2014-10-21 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
US9058114B2 (en) | 2011-09-30 | 2015-06-16 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
US9367250B2 (en) | 2011-09-30 | 2016-06-14 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
CN103973407A (zh) * | 2014-05-28 | 2014-08-06 | 北京经纬恒润科技有限公司 | 远程数据传输系统的数据传输速率匹配方法及装置 |
CN103973407B (zh) * | 2014-05-28 | 2017-08-11 | 北京经纬恒润科技有限公司 | 远程数据传输系统的数据传输速率匹配方法及装置 |
US9569136B2 (en) | 2015-04-29 | 2017-02-14 | International Business Machines Corporation | Smart load balancing replication when adding or removing storage disks in a distributed storage system |
CN113852448A (zh) * | 2021-11-26 | 2021-12-28 | 长芯盛(武汉)科技有限公司 | 兼容有源线缆的多种传输速率的装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100488172C (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6946433B2 (ja) | 伝送レート調整方法およびネットワークデバイス | |
CN1219384C (zh) | 多播传输的方法及设备 | |
EP2050199B1 (en) | Expedited communication traffic handling apparatus and methods | |
CN1238796C (zh) | 一种实现接口转换的装置及方法 | |
EP1517466B1 (en) | A self-adaptive jitter buffer adjustment method for packet-switched network | |
CN1968187A (zh) | 一种数据速率适配的方法和装置 | |
CN1442027A (zh) | 没有回声消除的ip语音通信 | |
CN1196852A (zh) | 分布式网络同步系统 | |
WO2018210169A1 (zh) | 数据传输方法、装置、设备及系统 | |
US20100309816A1 (en) | Method and system for end-to-end management of energy efficient networking protocols | |
CN1946054A (zh) | 一种高速数据流的传输方法、装置及数据交换设备 | |
CN1881979A (zh) | 以太网物理层低速传输的实现方法及其应用的网络设备 | |
RU2009134729A (ru) | Устройство и способ для управления потоком на основе ограничения скорости для устройства mstp | |
CN1863066A (zh) | 对链路带宽进行动态调整的方法和状态机 | |
CN101039156A (zh) | 同步数字系列业务数据传送方法及装置 | |
CN1392684A (zh) | Ip数据的波分复用光网络传输适配方法 | |
CN1339937A (zh) | 双工异步转移方式无源光接入网络系统的保护交换 | |
CN1859155A (zh) | 链路状态自协商方法 | |
CN1723659A (zh) | 双环路以太网 | |
CN1787488A (zh) | 在作为目的地的第二层交换机之间切换 | |
CN101030844A (zh) | 一种光纤通道业务复用器、数据传送系统及数据传送方法 | |
CN1692609A (zh) | 以太网(r)中的帧转发方法及节点 | |
CN1543136A (zh) | 以太环路冗余保护方法 | |
CN1264314C (zh) | 实现以太环路冗余保护的状态转移方法 | |
CN1251457C (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: 20090513 Termination date: 20180927 |
|
CF01 | Termination of patent right due to non-payment of annual fee |