数据传送方法,码元转换电路以及装置的制作方法

文档序号:7516576阅读:177来源:国知局
专利名称:数据传送方法,码元转换电路以及装置的制作方法
技术领域
本发明涉及数据传送方法、码元转换电路以及装置。
背景技术
以往,大规模集成电路(LSI=Large Scale Integrated circuit)间或者具有 LSI 的装置间的信息传输使用相对低速的并行数据总线。但是,并行数据总线虽然能够简易地耦合于LSI间或者装置间,但是由于会在信号间发生偏斜,所以难以提高信息传输能力。于是,近年来LSI间或者装置间的耦合使用相对高速的串行总线。作为进行高速串行传输的典型的例子,已知有PCI (Peripheral Component Interconnect)超高速(以下称为PCI Express)。在该PCI Express中,为了能够进行高速串行传输,采用了被称为8B10B方式的编码方式(例如专利文献1)。该8B10B方式除了被用于PCI Express之外,还被用于以太网(Ethernet)、光纤通道(Fiber Channel)、IEEE 1394等中。8B10B方式大致区分有以下的2个特征。第1个特征是,对图1所示的被称为D字符的256种类的8位数据字符和图2所示的12种类的被称为K字符的控制字符进行多路复用,利用3位和5位的查找表LUT来转换成10位的符号码进行传输。图1作为一例,表示了根据8位的D字符、K字符、控制字符有效信号和差异值,利用查找表LUT来输出10位符号码的情况。图2表示K字符的码元、符号、名称以及含义。第2个特征是,由于在10位符号中定义为只有最大5位的连续的位值出现,所以在10位符号中一定包含1次以上的位值的变化,在接收侧装置中容易进行时钟再生。另外,位值的变化指的是位的值从0变成1, 或者从1变成0。另外,在以往的8B10B方式中,由于串行传送时的开销(overhead)较大,所以串行总线的带宽消耗较多。具体而言,由于8位的数据字符被转换成10位,所以带宽增加了 25%。另外,在以往的8B10B方式中,在进行数据的转换时会产生因利用查找表LUT而导致的不良后果。也就是说,由于转换所用的查找表LUT的电路量较大,所以延迟时间较大。 具体而言,由于在从8位向10位(及其反向处理)转换时需要利用3位以及5位的转换表, 所以延迟时间较大。并且,在以往的8B10B方式中,将8位数据分割成3位和5位,并利用查找表LUT 来转换成10位符号,因此纠错性变差。也就是说,当在传输路中发生了 1位错误时,在将10 位符号返回至8位数据时会发生最大4位的错误。图3是说明包含8B10B码元转换电路的串行总线的数据的流程的图。在发送侧装置1中,利用8B10B码元转换电路2将8位宽的并行数据转换成10位符号码。该符号码经由串行总线5在发送侧装置1和接收侧装置3之间传输。在接收侧装置3中,利用10B8B 码元转换电路4,按照与发送侧装置1相反的顺序将接收到的10位符号码转换成8位接收数据。
4
为了便于说明,假设发送侧数据为16进制数57(图3中记载为2进制数 01010111)。在该发送侧数据为D字符的情况下,利用8B10B转换电路2进行转换得到的结果是,成为16进制数055 (图3中记载为2进制数0001010101)。若假定该10位符号码在经由传输路、即串行总线5传输时,发生了 1位错误而变成16进制数255(图3中位0从0 变成1),则该符号数据被接收侧的10B8B码元转换电路4转换后的结果是,成为16进制数 49 (图3中记载为2进制数01001001)。对作为发送侧数据的2进制数01010111和作为接收侧数据的2进制数01001001进行比较可知,4位发生了变化。S卩,串行总线5中的1位的错误在送接收数据侧成为4位错误,错误位增加。专利文献1 日本特开昭59-10056号公报专利文献2 日本特开2004-80300号公报专利文献3 日本特表2006-502679号公报专利文献4 日本特开2007-325 号公报非专利文献1 :PCI Express Base Specification Revision 2. 0,PCI-SIG, December 20,2006在以往的利用8B10B方式的数据传送方法中,存在着难以实现减少串行传输时的总线的开销,有效利用总线的带宽的问题。

发明内容
于是,本发明的目的在于,提供一种能够减少串行传输时的总线的开销,有效利用总线的带宽的数据传送方法、码元转换电路以及装置。根据本发明的一个观点,提供了一种数据传送方法,将位宽为M(M是3以上的自然数)的数据字符和位宽为N(N是1以上的自然数)的控制字符多路复用,并且附加表示上述控制字符是否有效的控制字符有效信号来生成具有M+1或者N+3中的较大一方的位宽的符号码,并将上述符号码从并行数据转换成串行数据来输出至传输路,由此进行数据传送。根据本发明的一个观点,提供了一种码元转换电路,具备将位宽为M(M是3以上的自然数)的数据字符和位宽为N(N是1以上的自然数)的控制字符多路复用的第1电路、 和对上述第1电路的输出附加表示上述控制字符是否有效的控制字符有效信号来生成具有M+1或者N+3中的较大一方的位宽的符号码的第2电路,上述符号码被从并行数据转换成串行数据,并被输出至传输路。根据本发明的一个观点,提供一种装置,具备码元转换电路,其具有将位宽为 M(M是3以上的自然数)的数据字符和位宽为N(N是1以上的自然数)的控制字符多路复用的第1电路、和对上述第1电路的输出附加表示上述控制字符是否有效的控制字符有效信号来生成具有M+1或者N+3中的较大一方的位宽的符号码的第2电路;和将上述符号码从并行数据转换成串行数据并输出至传输路的转换电路。根据公开的数据传送方法、码元转换电路和装置,能够减少串行传输时的总线的开销,有效利用总线的带宽。


图1是说明D字符的图。
图2是说明K字符的图。图3是说明包含8B10B码元转换电路的串行总线的数据的流程的图。图4是说明本发明的一实施例中的码元转换电路的图。图5是说明符号码的定义的一例的图。图6是说明控制字符的定义的一例的图。图7是说明控制字符的定义的其他例子的图。图8是表示能够使用实施例中的数据传送方法、码元转换电路以及装置的信息处理装置的框图。图9是表示发送侧装置内的码元转换电路和接收侧装置内的码元转换电路的框图。图10是说明发送侧码元转换电路的输入输出的图。图11是表示发送侧码元转换电路的构成的一例的电路图。图12是表示用于说明发送侧码元转换电路的动作的真值表的图。图13是说明接收侧码元转换电路的输入输出的图。图14是表示接收侧码元转换电路的构成的一例的电路图。图15是表示用于说明接收侧码元转换电路的动作的真值表的图。图16是表示本发明的其他实施例中的发送侧装置内的码元转换电路和接收侧装置内的码元转换电路的框图。图17是说明每个信道的位分配的一例的图。图18是说明72位并行数据总线的位分配的一例的图。
具体实施例方式在公开的数据传送方法、码元转换电路以及装置中,为了在伴随着串行并行转换的串行传送中实现所希望的传送效率(或者传输效率),对要传送(或者发送)的字符附加表示控制字符是否有效的控制字符有效信号,由此对数据字符和控制字符进行多路复用来传送(或者发送)。在传送数据字符的情况下,将数据字符的规定位的反转值设为控制字符有效信号位的值,在传送控制字符的情况下,将控制字符有效信号位和数据字符的规定位设为相同的值,利用除此以外的位来表现控制字符。由此,能够对进行了多路复用的码元进行高效的AC传送,能够减少串行传送时的总线开销,有效利用总线带宽。另外,AC传送指的是使用具有AC特性的信号来传送数据。另外,AC特性指的是, 针对在传输路中传送的数据,不依赖于被传送的数据字符,例如即使数据字符的所有位总是为0(A11〃 0〃),码元转换后的符号码中也必定包含值“0”和值“1”,能够确保1次以上的位值的变化一定会发生。也就是说,数据具有AC特性指的是,在传输路中被传送的数据具有这样的交流特性。下面参照附图对所公开的数据传送方法、码元转换电路以及装置的各实施例进行说明。实施例图4是说明本发明的一实施例中的码元转换电路的图。在图4所示的码元转换电路11中,例如输入了作为传送数据(或者发送数据)的9位的数据字符(D字符)DO D8、 4位的控制字符(K字符)KO K3和控制字符有效信号。另外,从码元转换电路11输出10 位的符号码Cntl、SO S8。其中,在以下的说明中,为了便于说明,将D字符的位BitO表现为DO或者D_BitO,将K字符的位BitO表现为KO或者K_BitO,将符号码的位BitO表现为SO或者S_BitO。图5是说明符号码的定义的一例的图。在控制位Cntl为1、符号码的位S_BitO 为O的情况下,10位的符号码的符号是D字符。在这种情况下,D字符的位BitO的值为0, 利用位S_Bitl S_BU8表示D字符的位D_Bitl D_Bit8的值。在控制位Cntl为0、符号码的位S_BitO为1的情况下,10位的符号码的符号是D字符。在这种情况下,D字符的位BitO的值为1,利用位S_Bitl S_BU8表示D字符的位D_Bitl D_Bit8的值。在控制位Cntl为1、且符号码的位S_BitO为1的情况下,10位的符号码的符号为K字符。在这种情况下,利用位S_Bit2 S_BU8表现最大1 种类的码元,位S_Bitl表示位S_Bit2 的反转值。另外,在控制位Cntl为0、符号码的位S_BitO为0的情况下,表示码元是无效 (Invalid)符号。图6是说明控制字符的定义的一例的图,图7是说明控制字符的定义的其他例子的图。图6和图7表示与各控制字符的名称对应的10位的符号码Cntl,S_BitO S_Bit8。 图6表示控制字符1 128的符号码,图7表示控制字符1 16的符号码。图7的控制字符与图6的控制字符相比,冗余性较高。在图4 图7中,作为一例而假设传送位宽(或者位长)为9的数据字符、位宽 (或者位长)为4的控制字符,但是数据字符的位宽不限定为9位,只要是3位宽以上的整数值即可。在将数据字符的位宽设为M(M是3以上的自然数)、将控制字符的位宽设为N(N 是1以上的自然数)的情况下,符号码的位宽成为M+1、或者N+3中较大一方的数值。在图4 图7的例子中,由于对位宽为9的数据字符附加1位的控制位Cntl,所以在串行总线中被传送的1个符号码Cntl、SO S8成为10位宽。并且,控制字符与PCI Express规格同样,若在图7的情况下则传送12种类以上,最大传送16种类,若在图6的情况下则传送12种类以上,最大传送1 种类。当在发送侧装置中传送数据字符时,如图5所定义的那样,将数据字符的规定位 D_BitO的值的反转值设为控制位Cntl的值。在对控制字符进行发送的情况下,将控制位 Cntl和数据字符的规定位D_BitO的位置设为相同,利用规定位D_BitO以外的位来表现控制字符。在图5中,在发送控制字符的情况下,将控制位Cntl和符号码的位S_BitO的值一起设定为1,但是当然也可以将两个位的值设为0。将控制字符的位1(_8^0的反转值设为符号码的位S_Bitl的值,利用从S_Bit 2到S_Bit 8这7位来表现1 种类的控制字符。在图6所示的控制字符的定义的情况下,能够定义最大1 种类的控制字符。在实际需要的控制字符的种类远少于1 种类的情况下,例如在如PCI Express那样只需要 12种类的情况下,通过如图7所示的控制字符的定义那样设定冗余位,能够提高纠错性。图7表示了将4位的控制字符分配给10位的符号码的例子。在图7的例子中,将控制位Cntl和符号码的位S_BitO的值设定为1,将控制字符的从K_BitO到K_Bit3分别分配给符号码的位 S_Bitl、S_Bit3、S_Bit5、S_Bit7,对符号码的位 S_Bit2、S_Bit4、S_Bit6、 S_Bit8分别设置将符号码的位S_Bitl、S_Bit3、S_Bit5、S_Bit7的值反转而得到的值。另一方面,在接收侧装置中,按照图5对控制位Cntl和符号码的位S_BitO的值进行比较。如果比较的结果不一致,则识别为接收到的符号码是数据字符,输出符号码的从位 S_BitO到S_BU8作为数据字符的从位D_BitO到D_Bit8。另外,若比较的结果一致,并且两方的位Cntl、S_BitO的值都为1,则接收侧装置识别为接收到的符号码是控制字符。图8是表示能够使用本实施例中的数据传送方法、码元转换电路和装置的信息处理装置的框图。图8所示的信息处理装置20具有多个系统板21-0 21-n(n为1以上的自然数)、交叉口闩仲载逻辑(crossbar)装置22、多个输入输出(10 Input and Output) 装置23-0 23-n、交叉口闩仲载逻辑总线对、和IO总线25。在图8的例子中,各系统板 21-0 21-n 具有相同的构造,具有多个 CPU (Central Processing Unit) 211-0 211_m(m 是不依赖于η的1以上的自然数)、存储器212、存储器控制装置213、CPU总线214、和存储器总线215。在各系统板21-0 21-n上,各CPU211-0 211_m经由CPU总线214与存储器控制装置213连接,存储器212经由存储器总线215与存储器控制装置213连接。各系统板21-0 21-n经由交叉口闩仲载逻辑总线M与交叉口闩仲载逻辑装置22连接,各IO 装置23-0 23-n经由IO总线25与交叉口闩仲载逻辑装置22连接。各CPU211-0 211_m和存储器控制装置213之间的数据传送经由CPU总线214, 在各CPU211-0 211-m内的码元转换电路(未图示)和存储器控制装置213内的码元转换电路(未图示)之间进行。在各系统板21-0 21-n上,存储器212和存储器控制装置 213之间的数据传送经由IO总线215,在存储器212和存储器控制装置213内的码元转换电路(未图示)之间进行。在各系统板21-0 21-n上,存储器控制装置213和交叉口闩仲载逻辑装置22之间的数据传送经由交叉口闩仲载逻辑总线M,在存储器控制装置213内的码元转换电路(未图示)和交叉口闩仲载逻辑装置22内的码元转换电路(未图示)之间进行。另外,交叉口闩仲载逻辑装置22和各IO装置23-0 23-n之间的数据传送经由 IO总线25,在交叉口闩仲载逻辑装置22内的码元转换电路(未图示)和各IO装置23-0 23-n内的码元转换电路(未图示)之间进行。图9是表示发送侧装置内的码元转换电路和接收侧装置内的码元转换电路的框图。发送侧装置和接收侧装置分别被设置于CPU211-0 211-m、存储器控制装置213、交叉口闩仲载逻辑装置22、以及IO装置23-0 23-n内。这里为了便于说明,假设发送侧装置 31被设置于系统板21-0内的存储器控制装置213,假设接收侧装置32被设置于交叉口闩仲载逻辑装置22。因此,与发送侧装置31和接收侧装置32连接的印刷电路板布线等的差动型传输路33在该例中由交叉口闩仲载逻辑总线M形成。如图9所示那样,发送侧装置31具有时钟振荡器311、数据发送电路312、利用了 LFSR(Linear Feedback Shift Register)的扰频器313、发送侧控制电路314、发送侧码元转换电路315、并联串联(并行串行)转换电路316、和输出驱动器317。时钟振荡器311输出的时钟被输入数据发送电路312、发送侧控制电路314、发送侧码元转换电路315、和并联串联转换电路31。在发送侧码元转换电路315中被输入来自扰频器313的数据字符和来自发送侧控制电路314的控制字符以及控制字符有效信号。发送侧控制电路314的输出也被输入至数据发送电路312。发送侧码元转换电路315输出的并行数据由并联串联转换电路
8316转换成串行数据,并被输入至输出驱动器317。另一方面,接收侧装置32具有输入接收器321、时钟再生电路322、串联并联(串行并行)转换电路323、接收侧码元转换电路324、利用了 LFSR的解扰器325、接收侧控制电路324、和数据接收电路327。利用时钟再生电路322,根据由输入接收器321输出的串行数据再生的时钟被输入串联并联转换电路323、接收侧码元转换电路324、接收侧控制电路 326、和数据接收电路327。输入接收器321输出的串行数据由串联并联转换电路323转换成并行数据,并被输入接收码元转换电路324。接收侧码元转换电路3M输出的数据字符被输入解扰器325。接收侧码元转换电路3M输出的控制字符、控制字符有效信号、以及数据有效信号被输入接收侧控制电路326。解扰器325和接收侧控制电路的输出被输入数据接收电路327。数据发送电路312和数据接收电路327例如相当于PCI Express的数据链路层。 设置扰频器313和解扰器325的目的在于,通过对传送数据进行随机化处理来降低在差动型传输路33中产生的EMI (Electro Magnetic Interference 电磁干扰度),但也可以省略。发送侧控制电路314对包含发送侧码元转换电路315的发送侧装置31整体的状态进行控制。同样,接收侧控制电路3 对包含接收侧码元转换电路324的接收侧装置32 整体的状态进行控制。作为控制电路314、326的控制动作的一例,有初始化处理。在初始化处理中,进行使用了被称为K字符的控制字符的处理。在需要进行初始化处理的情况下, 从发送侧装置31向接收侧装置32发送指示进行初始化的K字符,并执行初始化序列。K字符是该初始化序列所需要的控制字符。另外,由于初始化处理自身众所周知,例如记载于非专利文献1,所以本说明书中省略了初始化处理的详细说明。发送侧装置31的并联串联转换电路316将从发送侧码元转换电路315输出的并行数据转换成串行数据。另一方面,接收侧的串联并联转换电路3 将输入接收器321接收的串行数据转换成并行数据,并输入至接收侧码元转换电路324。并联串联转换电路316 和串联并联转换电路323例如能够由高速移位寄存器形成。输出驱动器317、输入接收器321、以及将它们进行连接的差动型传输路33,是在发送侧装置31和接收侧装置32之间(例如LSI间)传送串行数据的电路。由于传送串行数据的电路自身众所周知,所以本说明书中省略了传送串行数据的电路的详细说明。接着,对从发送侧装置31向接收侧装置32传送数据进行说明。根据来自发送侧控制电路314的传输路有效信号,数据发送电路312输出并行数据。并行数据由扰频器313 进行随机化处理,作为数据字符被供给至发送侧码元转换电路315。在发送侧控制电路314 输出控制字符的情况下,发送侧控制电路314将被编码的控制字符与控制字符有效信号一起供给至发送侧码元转换电路315。设置扰频器313的目的在于,扩散电磁辐射噪声干扰的频率分量,从而易于取得 EMI对策。更具体而言,在要传送的D字符是特定值的连续的情况下,例如在是值“0”和值 “1”的连续的情况下,当是不具有扰频器的发送电路时,从传输路上容易产生具有特定频率分量的电磁辐射噪声干扰。这样的噪声干扰在一般情况下容易对其他装置造成不良影响。 扰频器313具有即使D字符是连续的相同值,也通过进行近似随机化处理来使具有特定频率分量的电磁辐射噪声干扰难以产生的效果,其设置目的也在此。
在发送侧码元转换电路315中,将来自扰频器313的数据字符以及来自发送侧控制电路314的控制字符、和控制字符有效信号转换成被称为符号码的并行数据,并供给至并联串联转换电路316。在并联串联转换电路316中,与时钟振荡器311输出的时钟(发送时钟)同步地将并行数据转换成串行数据进行输出。另外,除了该发送时钟之外,时钟振荡器311也输出对并行数据的传送进行控制的低速时钟来供给至发送侧装置31内的各部。 低速时钟与发送时钟相比是低速的、即频率较低。从并联串联转换电路316输出的串行数据经由输出驱动器317和差动型传输路 33,被输入至接收侧装置32。输入接收器321将接收到的串行数据输出至时钟再生电路322 和串联并联转换电路323。另外,在图9中使用了差动型传输路33,但是当然也可以使用差动型传输路33以外的传输路。时钟再生电路322内置有PLL (Wiase Locked Loop)电路,对符号数据中最低存在 1次的位变化的边界进行检测,对内置PLL电路进行同步化处理来再生接收时钟。为了如此地再生接收时钟,需要在符号数据中存在位变化。如上述那样再生接收时钟的方法被称为 CDR(Clock Data Recovery)或者嵌入式时钟(Embedded Clock),是一般在高速串行传送中使用的技术。在串联并联转换电路323中,根据再生的接收时钟,将来自输入接收器321的串行数据转换成符号码(并行数据),并输出至接收侧码元转换电路324。接收侧码元转换电路 324对符号码进行译码来检测符号的类型(种类),生成数据字符或者控制字符、和各自的有效信号。也就是说,接收侧码元转换电路3M生成数据字符和数据有效信号,或者控制字符和控制字符有效信号。数据字符被输出至解扰器325,控制字符、控制字符有效信号、和数据有效信号被输出至接收侧控制电路326。另外,可以构成为,在对符号码进行译码时,检测被称为符号错误的特定的错误模式来求出错误检测信号。在这种情况下,将错误检测信号与数据字符或者控制字符的有效信号一起通知给接收侧控制电路326即可。解扰器325利用LFSR将数据字符的随机化解除,并将数据字符输出至数据接收电路327。接收侧控制电路3 虽然根据控制字符以及错误信号进行各自的处理,但是这些处理自身与本实施例的要旨没有直接关系,因此本说明书中省略了这些处理的详细说明。在本实施例中,能够与以往的8B10B方式的情况同样地对K字符进行定义,如果在图7的情况下能够对最大16种类的K字符进行定义。因此,能够在物理层控制、DLLP等的链路层控制中利用8B10B方式的控制。因此,控制电路314、3沈能够根据在8B10B方式的情况下使用的控制电路进行设计。接着,利用图10、图11和图12,对发送侧码元转换电路315的更加详细的动作进行说明。此处作为一例,针对数据字符的位宽为9位、控制字符的位宽为4位、符号码的位宽为10位的情况进行说明,但是如上述那样,数据字符、控制字符和符号码不被限定为上述的位宽。发送侧码元转换电路315选择数据字符和控制字符中的一方与控制字符有效信号进行多路复用,将特定的位模式嵌入符号码,以使得数据字符和控制字符在接收侧装置 32内能够分离。该特定的位模式也确保用于时钟恢复的位变化的产生。图10是说明发送侧码元转换电路315的输入输出的图。发送侧码元转换电路315的输入包含9位的数据字符、4位的控制字符、和控制字符有效信号。另外,发送侧码元转换电路315的输出是10位的并行数据,该并行数据作为符号码被输入并联串联转换电路316。图11是表示发送侧码元转换电路315的构成的一例的电路图。发送侧码元转换电路315具有如图11所示那样被连接的反相电路41-1 41-5和2对1多路复用器O : IMUX =Multiplexer) 42-1 42-10。图11中,Kcode_ENBL_in表示控制字符有效信号,表示在逻辑开(例如,高电平)的情况下控制字符有效。另外,KcOde_in
表示控制字符输入,Dcode_in
表示数据字符输入。并且,Output Cntl Bit 和 Output Bit
表示 10位的符号码输出。各多路复用器42-1 42-10在控制字符有效信号KCode_ENBL_in为开(ON)的情况下选择控制字符输入Kcodejn侧的输入进行输出,在为关(OFF)的情况下选择数据字符输入Dcodejn侧的输入进行输出。在多路复用器42-1 42-10中,当控制字符输入Kcodejn侧的输入被选择时, 对Output Cntl Bit和Output Bit
输出值“1”。该值“ 1 ”是向接收侧通知符号码输出为控制字符的情况的值。另外,向Output Bit[l]输出控制字符输入Kcodejn W]的值,向 Output Bit[2]输出利用反相电路41-2对控制字符输入Kcodejn W]的值进行反转而得到的值。之后,向Output Bit[3]输出控制字符输入Kcode_in[l]的值,向Output Bit[4] 输出利用反相电路41-3对控制字符输入KCode_in[l]的值进行反转而得到的值,向Output Bit [5]输出控制字符输入Kcodejn [2]的值,向Output Bit [6]输出利用反相电路41_4对控制字符输入Kcodejn [2]的值进行反转而得到的值,向Output Bit[7]输出控制字符输入KCode_in[3]的值,向Output Bit [8]输出利用反相电路41-5对控制字符输入Kcode_ in[3]的值进行反转而得到的值。另外,在多路复用器42-1 42-10中,当数据字符输入Dcodejn侧的输入被选择时,向Output Cntl Bit输出利用反相电路41-1对Dcode_in
的值进行反转而得到的值,向 Output Bit
输出 Dcode_in
的值。这些值、即 Output Cntl Bit 的值和 Output Bit
的值不一致的状态是向接收侧通知符号码输出是数据字符的情况的值。另外,向 Output Bit [1:8]输出数据字符输入Dcodejn [1:8]的值。另外,向Output Cntl Bit输出的值在该例中是Dcode_in W],但是在与接收侧码元转换电路3M达成协议的情况下,也可以选择其他的数据位。图12是表示用于说明发送侧码元转换电路315的动作的真值表的图,表示了图11 的发送侧码元转换电路315的逻辑动作条件。图12中,~KCOde_in
表示Kcodejn W] 的值的反转值,~Kcode_in[l]表示Kcode_in[1]的值的反转值,~Kcode_in[2]表示Kcode_ in [2]的值的反转值,"Kcodejn [3]表示Kcodejn [3]的值的反转值,"Dcode_in
表示 Dcode_in
的值的反转值。这样,发送侧码元转换电路315与以往的利用查找表的方法相比,可知能够减少电路量,并且能够以低成本来实现。并且,转换所需要的电路的延迟时间是反相电路和2对 1的多路复用器(或者选择器)的延迟时间的合计值,因此与以往的方法相比,可知能够大幅缩短延迟时间,其结果,能够进行高速转换动作。接着利用图13、图14和图15,对接收侧码元转换电路3 的更加详细的动作进行说明。此处作为一例,与发送侧码元转换电路315的情况同样地,针对数据字符的位宽为9 位,控制字符的位宽为4位,符号码的位宽为10位的情况进行说明,但是如上述那样,数据字符、控制字符和符号码并不限定为上述的位宽。其中,需要接收侧码元转换电路3M中的数据字符、控制字符以及符号码的位宽与发送侧码元转换电路315中的位宽相同。接收侧码元转换电路3M对嵌入在符号码中的特定的位模式进行检测,根据特定的位模式,将被多路复用的数据字符和控制字符分离。接收侧码元转换电路324也对被称为符号错误的特定的错误模式进行检测。图13是说明接收侧码元转换电路3 的输入输出的图。接收侧码元转换电路324 的输入是来自串联并联转换电路323的符号码。另外,接收侧码元转换电路324的输出包括9位宽的数据字符、4位宽的控制字符、数据字符有效信号、控制字符有效信号、和通过对符号错误进行检测而得到的错误检测信号。图14是表示接收侧码元转换电路3 的构成的一例的电路图。接收侧码元转换电路3 具有如图14所示那样连接的异或非门(ENOR ixclusive-NOR)电路51、或非(NOR) 电路52、异或(EOR)电路53-1 53-4、与(AND)电路 M_5、以及或(OR)电路55。图 14 中,Input Cntl Bit^PInput Bit
表示合计 10位宽的符号码输入,Dcode_out
表示数据字符输出,Kcode_out
表示控制字符输出。并且,Dc0de_ENBL_0ut是表示 Dcode_out
有效的数据字符有效信号,Kcode_ENBL_out是表示Kcode_out W3]有效的控制字符有效信号,SymbOl_ERR0R_OUt是表示接收的符号码是规定以外的码元的错误检测信号。若该错误检测信号为开(例如,高电平),则从接收侧码元转换电路3M输出的其他所有的输出信号在接收侧控制电路326中被无视。在接收侧码元转换电路3 中,符号码输入的位Input Cntl Bit、Input Bit
按照符号码的定义被译码。在两位^iput Cntl Bit.Input Bit
不一致的情况下,在图14 中的ENOR电路51中检测到该不一致,数据字符有效信号Dc0de_ENBL_0ut成为开。另外, 在两位Input Cntl Bit、Input Bit
都是值“1”的情况下,在图14中的AND电路中检测到该状态,控制字符有效信号Kc0de_ENBL_0ut成为开。另外,在两位hput Cntl Bit、Input Bit
是除此以外的情况下,即,在两位hput Cntl Bit、Input Bit
都是值“0 “的情况下,由于该位模式是符号码错误,所以通过图14中的NOR电路52检测到该符号码错误,OR电路55输出的错误检测信号SymbOl_ERR0R_OUt成为开。并且,在控制字符有效信号Kc0de_ENBL_0Ut为开,即接收到的符号码为控制字符的情况下,按照符号码的定义,利用 EOR 电路 53-1 53-4 来检查 Input Bit[l]与 hput Bit[2]、Input Bit[3]与 Input Bit [4], Input Bit [5]与 Input Bit [6], Input Bit [7]与 Input Bit [8]是否彼此不一致。若该检查的结果是,在EOR电路53-1 53-4的任意一处检测到了不一致,则由于是符号码错误,所以经由AND电路M-2 M-5和OR电路55输出的错误检测信号Symbol_ ERR0R_out 成为开。符号码输入的位^iput Bit
的值直接成为数据字符的位DC0de_0utW:8]的值,并且位hput Bit[l,3,5,7]的值直接成为控制字符的位KCOde_OUtW:3]的值。图15是表示用于说明接收侧码元转换电路3 的动作的真值表的图,表示了图14 的接收侧码元转换电路324的逻辑动作条件。这样,接收侧码元转换电路324与以往的利用查找表的方法相比,可知能够减少电路量,并且能够以低成本实现。并且,进行转换所需要的电路的延迟时间最大是ENOR电路、NOR电路、EOR电路、AND电路、和OR电路的延迟时间的合计值,因此与以往的方法相比,
12可知能够大幅缩短延迟时间,其结果能够进行高速转换动作。接着,利用图16对本发明的其他实施例进行说明。图16是表示本发明的其他实施例中的发送侧装置内的码元转换电路和接收侧装置内的码元转换电路的框图。码元转换电路适用于高速串行接口电路,在需要更高带宽的总线性能的情况下, 有时也将多个串行接口组合来形成1个逻辑接口。在PCI Express规格中,以被称为信道 (Lane)的单位来称呼单独的串行接口,但是在该PCI Express标准中,除了 1信道构成之夕卜,还定义了 2信道、4信道、8信道、12信道、16信道以及32信道的构成。在以下的说明中, 与该PCI Express标准同样地将单独的串行接口称为1信道。图16表示了将8个包含码元转换电路的串行接口电路组合来构成1个逻辑接口的例子。即,在图16中,利用传输路133连接的发送侧装置131和接收侧装置132分别是8 信道构成。发送侧装置131具有字节/位(Byte-to-Bit)分离电路61、发送侧码元转换电路62-0 62-7、和输出部63-0 63-7。由于发送侧装置131内的各信道#0 #7的构成相同,所以仅示出了信道#0的构成。发送侧码元转换电路62-0 62-7分别具有与图9所示的发送侧码元转换电路315相同的构成。输出部63-0具有与图9相同构成的并联串联转换电路316和输出驱动器317。另一方面,接收侧装置132具有输入部71-0 71_7、接收侧码元转换电路72-0 72-7、和位/字节(Bit-to-Byte)组装电路73。由于接收侧装置132内的各信道#0 #7的构成相同,所以仅示出了信道#0的构成。输入部71-0具有与图9相同构成的输入接收器321和串联并联转换电路323。接收侧码元转换电路72-0 72-7分别具有与图9所示的接收侧码元转换电路3M相同的构成。另外,发送侧控制电路和接收侧控制电路由于能够使用与图9所示的发送侧控制电路314和接收侧控制电路326 构成相同的电路,所以在图16中省略了它们的控制电路的图示和说明。如与上述实施例一起说明的那样,码元转换电路将9位的数据字符转换成10位的符号码。因此,从发送侧装置131的角度来看,每1信道具有9位的并行数据总线,因此在8 信道构成的情况下,成为具有9位X8信道=72位的并行数据总线、即传输路133的构成。另一方面,在具有以往的8B10B码元转换电路的串行接口中,在传输路的带宽同等的情况下,即,在1信道的符号码长是与本实施例同样的10位的情况下,从发送侧装置的角度来看,每ι信道具有8位的并行数据总线,因此在8信道构成的情况下,成为具有8 位X8信道=64位的并行数据总线的构成。分离电路51和组装电路73是在由多个信道构成的串行接口电路的情况下所需要的电路。分离电路51具有如下的功能,S卩、获取来自数据发送器(未图示)的72位宽的并行数据总线,每9位向各信道供给并行数据。另外,组装电路73具有如下功能,即进行与分离电路相反的操作,也就是说将来自各信道的9位并行数据组成72位宽的并行数据总线来发送至数据接收器(未图示)。图17是说明每个信道的位分配的一例的图。图17表示基于分离电路61的72位并行数据总线的各位的每个信道的位定义。图17中,纵轴表示在各信道中被传送的符号码 (在该例中是10位宽),横轴表示各信道编号,即串行总线编号。另外,在图17中,将72位并行数据总线的位00记载成D00。作为一例,对于信道编号#0,将1位的控制位Cntl和数据位DOO D08组合为一组符号码。在该例中,作为有效数据总线宽度,能够确保72位宽。 另外,虽然需要对一组符号码定义1位的控制位Cntl,但是将72位并行数据的哪一位分配给哪个信道是任意的,当然也可以将图17所示的以外的数据位进行分配。图18是说明72位并行数据总线的位分配的一例的图。图18表示发送侧装置131 和接收侧装置132中的72位的并行数据总线的数据的定义。例如,72位的并行数据总线的位BitO Bit7 (BitO 7)被定义为数据字节(Byte)ByteO。另外,72位的并行数据总线的位Bit64 Bit71(Bit64 71)被定义为冗余位
。在可靠性较高的信息处理装置中,一般是对8字节的数据分配8位的冗余位来提高纠错性能。作为这样提高纠错性能的一例,可以列举DMM(Dual Inline Memory Module)。在72位宽的DMM的利用方式中,与图18同样地对8字节的数据,即64位的数据分配8位基于纠错码(ECC =Error Correction Code)等的校验位(CB =Check Bit),由此能够对1位错误进行修正,进而对2位错误进行检测的动作来提高纠错性能。如上述那样,在具有8B10B码元转换电路的现有的串行接口电路中,由于即使是8 信道构成也仅能实现64位宽的并行数据总线,所以在对向DMM输入的例如72位的DMM 数据进行处理的情况下,需要如下的对策,即、废弃冗余位,或者将DIMM数据变形为某种形
JA4 ? -vj- -vj- O并且,在现有的8B10B码元转换电路中,由于利用查找表来将数据字符转换成符号码,所以传输路上的1位错误最大会成为4位的错误。在一般情况下,当对64位的数据分配了 8位的CB时,无法检测3位以上的多位错误的可能性较高。因此,当在现有的串行接口电路中传送72位的DIMM数据时,若在传输路上发生了 1位错误,则存在着变化成无法恢复的多位错误的可能性。对此,在具有本实施例那样的码元转换电路的串行接口电路中,在是8信道构成的情况下,由于能够对72位宽的数据进行处理,所以能够在不变更DIMM数据的形式的情况下,将其直接输出至串行接口总线。另外,传输路上的符号码的1位错误在转换成D字符时, 维持原样地被识别为1位错误,因此能够利用ECC来恢复错误,能够进一步提高可靠性。在现有的8B10B方式中,由于为了发送8位的数据字符而将其转换成10位的符号,所以成为25%的总线的开销。对此,在上述各实施例中,由于为了发送9位的数据字符而附加1位的控制位来将其转换成10位的符号,所以总线的开销成为11%。以传输路的带宽来说,与在现有的8B10B方式中带宽的20%成为开销的情况相比,在上述各实施例中成为10%的开销,与现有的8B10B方式相比开销减少了 10%,能够有效利用总线带宽。另外,根据上述各实施例,能够将数据字符和控制字符多路复用来进行发送。也就是说,能够将数据字符和12种类以上的控制字符多路复用来进行传送。由此,在发送侧装置和接收侧装置的每个装置中,能够使用与现有同样的控制电路。并且,根据上述各实施例,能够提供具有进行时钟再生所需要的AC特性的码元转换电路。也就是说,在1个符号(在该例中是10位宽)中,必定包含1次以上的位值变化 (从O变成1,或者从1变成0)。更具体而言,在发送数据字符的情况下,符号码的位Cntl Bit、S_Bit0的值必定是具有“非(exclusive)”关系的值,并且,在发送控制码元的情况下, 至少符号码的位S_Bitl、S_Bit2 —定是具有“非”关系的值。由此,在1符号中必定包含1 次以上的位变化,与以往同样地能够利用位值的变化时间点来在接收装置侧中进行时钟再生。另外,与以往最大是5位的运转周期(Rim Length)的情况相比,在上述各实施例中最大是9位的运转周期。该运转周期与时钟再生功能有密切的关系,在运转周期变长的情况下,认为会对时钟再生产生不良影响。对此,例如通过利用专利文献4所提出的接收侧装置的输入接收器内的均衡器, 即使在运转周期从5位变长到9位的情况下也能够稳定地在接收侧装置内再生时钟。并且,根据上述各实施例,由于D字符的各个位能够被反转使用,或者能够被直接用作符号码的位,所以无需使用以往那样的查找表。由此,能够减少伴随着码元转换的电路量,能够降低成本,并且减少延迟时间。另外,由于以往使用查找表,所以在传输路上的1位错误最大被识别为数据字符的5位错误。对此,根据上述各实施例,在不使用查找表的情况下,数据字符以大致维持原样的形式被分配给符号码。因此,在传输路上发生的1位错误,直接以1位错误的形式在接收侧装置中被识别为数据字符。这样,由于以往是5位错误的成为1位错误,所以能够通过增加修正错误的机会来提高纠错性。并且,如果是上述实施例,则符号码中必定包含1个以上的值“0”和1个以上的值“1”,因此也能够对传输路上所有的位成为0(A11〃 0〃)或者所有的位成为1 (All" 1")那样的连续错误进行检测。如以上说明的那样,相对于现有的8B10B方式,上述各实施例提供了一种可以被称为9B10B方式的方式。以上通过实施例说明了公开的数据传送方法以及码元转换电路,但是本发明并不限定于上述实施例,当然,在本发明的范围内能够进行各种变形以及改良。图中符号说明20...信息处理装置;21-0 21-n...系统板;22...交叉口闩仲载逻辑装置; 23-0 23-n... IO装置;31、131...发送侧装置;32、132...接收侧装置;33、133...传输路;62-0 62-7、315· · ·发送侧码元转换电路;72-0 72_7、3Μ· · ·接收侧码元转换电路; 211-0 211-m. . . CPU ;212...存储器;213...存储器控制装置
权利要求
1.一种数据传送方法,其中,对位宽为M的数据字符和位宽为N的控制字符进行多路复用,并且附加表示上述控制字符是否有效的控制字符有效信号来生成具有M+1或者N+3中的较大一方的位宽的符号码,其中,M是3以上的自然数,N是1以上的自然数,将上述符号码从并行数据转换成串行数据并输出至传输路,由此来进行数据传送。
2.根据权利要求1所述的数据传送方法,其中, M = 9,N = 4,上述控制字符有效信号为1位, 上述符号码的位宽为10位。
3.根据权利要求1或2所述的数据传送方法,其中,在传送上述数据字符的情况下,将上述数据字符的规定位的反转值作为上述控制字符有效信号的值,在传送上述控制字符的情况下,将上述控制字符有效信号和上述数据字符的上述规定位设成相同的值,以上述规定位以外的位来表现上述控制字符。
4.根据权利要求1至3中的任意1项所述的数据传送方法,其中, 根据从上述传输路输入的上述串行数据中存在的位变化的边界来再生时钟,根据上述时钟,将从上述传输路输入的上述串行数据转换成作为并行数据的上述符号码,对上述符号码进行译码来检测符号的类型,并生成数据字符或者控制字符、和数据字符以及控制字符的有效信号。
5.根据权利要求1至4中的任意1项所述的数据传送方法,其中,上述数据字符是PCI Express的D字符,上述控制字符是上述PCI Express的K字符。
6.一种码元转换电路,具备第1电路,其对位宽为M的数据字符和位宽为N的控制字符进行多路复用,其中,M是3 以上的自然数,N是1以上的自然数;和第2电路,其对上述第1电路的输出附加表示上述控制字符是否有效的控制字符有效信号,来生成具有M+1或者N+3中的较大一方的位宽的符号码,上述符号码被从并行数据转换成串行数据,并被输出至传输路。
7.根据权利要求6所述的码元转换电路,其中, M = 9,N = 4,上述控制字符有效信号是1位, 上述符号码的位宽是10位。
8.根据权利要求6或7所述的码元转换电路,其中,在传送上述数据字符的情况下,上述第1电路将上述数据字符的规定位的反转值作为上述控制字符有效信号的值,在传送上述控制字符的情况下,上述第1电路将上述控制字符有效信号和上述数据字符的上述规定位设成相同的值,以上述规定位以外的位来表现上述控制字符。
9.根据权利要求6至8中的任意1项所述的码元转换电路,其中,上述数据字符是PCI Express的D字符,上述控制字符是上述PCI Express的K字符。
10.一种装置,具备码元转换电路,其具有第1电路,该第1电路对位宽为M的数据字符和位宽为N的控制字符进行多路复用,其中,M是3以上的自然数,N是1以上的自然数;和第2电路,该第2 电路向上述第1电路的输出附加表示上述控制字符是否有效的控制字符有效信号,来生成具有M+1或者N+3中的较大一方的位宽的符号码;和转换电路,其将上述符号码从并行数据转换成串行数据并输出至传输路。
11.根据权利要求10所述的装置,其中,M = 9,N = 4,上述控制字符有效信号是1位,上述符号码的位宽是10位。
12.根据权利要求10或者11所述的装置,其中,在传送上述数据字符的情况下,上述第1电路将上述数据字符的规定位的反转值作为上述控制字符有效信号的值,在传送上述控制字符的情况下,上述第1电路将上述控制字符有效信号和上述数据字符的上述规定位设成相同的值,以上述规定位以外的位来表现上述控制字符。
13.根据权利要求10至12中的任意1项所述的装置,其中,上述数据字符是PCI Express的D字符,上述控制字符是上述PCI Express的K字符。
全文摘要
在数据传送方法中,对位宽为M(M是3以上的自然数)的数据字符和位宽为N(N是1以上的自然数)的控制字符进行多路复用,并且附加表示上述控制字符是否有效的控制字符有效信号来生成具有M+1或者N+3中的较大一方的位宽的符号码,将上述符号码从并行数据转换成串行数据并输出至传输路,由此来进行数据传送。
文档编号H03M7/14GK102460974SQ200980159910
公开日2012年5月16日 申请日期2009年6月19日 优先权日2009年6月19日
发明者冈田诚之 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1