首页> 中国专利> 数据传送设备、数据传送系统和数据传送方法

数据传送设备、数据传送系统和数据传送方法

摘要

本发明涉及数据传送设备、数据传送系统和数据传送方法。数据传送设备(35),包括:多个传送数据生成单元(39到39b),其通过将一个控制位附加到预定位长度的数据来生成第一符号或者生成包括比所述预定位长度长一位的位长度的数据的第二符号。数据传送设备(35)包括传送单元(37),其传送每个传送数据生成单元(39到39b)生成的第一符号或第二符号。至少一个传送数据生成单元在所述多个传送数据生成单元(39到39b)生成第一符号或第二符号的每个定时,生成第一符号,而其他传送数据生成单元(39到39b)生成第二符号。

著录项

  • 公开/公告号CN103297186A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN201210423298.8

  • 发明设计人 冈田诚之;

    申请日2012-10-29

  • 分类号H04L1/00;H03M7/14;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人李春晖

  • 地址 日本神奈川县

  • 入库时间 2024-02-19 21:10:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-08

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20121029

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本文的实施例涉及数据传送设备、数据传送系统和数据传送方法。

背景技术

在相关技术中,已知一种用于经由传送路径传送一位宽度的数据的串 行传送技术。作为这种串行传送技术的一个示例,采用所谓的“8B(位) /10B方案”的编码方案。更具体而言,在8B/10B编码方案中,预先定义 的查找表被用于执行所谓的“D字符”的8位数据到10位数据的转换或 所谓的“K字符”的控制字符到10位数据的转换,并传送10位数据。

此处,在8B/10B编码方案中,查找表被定义为使得在所传送的10 位数据中多个连续位等于或低于5位。因此,由于在8B/10B编码方案中 转换的10位数据包括至少一位值跳变,因而利于在数据接收侧上的时钟 再生。

专利文献1:美国专利号4486739

专利文献2:国际公开册号WO2010/146715

非专利文献1:PCI快速基础规范修订版3.0PCI-SIG,2010年9月 10日

然而,在上述的8B/10B编码方案中,由于8位数据被转换为10位 数据并被传送,因而串行传送的开销增加,这导致传送效率劣化的问题。 例如,以8B/10B编码方案传送数据的LSI传送10位数据来传送8位数 据,因此用于数据传送的带宽增加了例如百分之二十五。

因此,本发明的实施例的一方面的目的是提供高效的串行传送。

发明内容

根据实施例的一个方面,一种数据传送设备包括多条一次一位地传送 数据的传送路径。数据传送设备包括多个传送数据生成单元,传送数据生 成单元根据传送目标数据或用于调整传送路径的控制数据,通过将一个控 制位附加到预定位长度的数据来生成第一符号,或者生成包括比预定位长 度长一位的位长度的数据的第二符号。数据传送设备包括传送单元,传送 单元经由传送数据生成单元的相应传送路径将每个传送数据生成单元生 成的第一符号或第二符号传送到相对的设备。多个传送数据生成单元以预 定周期在第一符号和第二符号之间切换要生成的符号,并且,在多个传送 数据生成单元生成第一符号或第二符号的定时,至少一个传送数据生成单 元生成第一符号,而其他传送数据生成单元生成第二符号。

根据实施例的另一方面,数据传送设备包括第一数据生成单元,其通 过将一位控制位附加到在传送数据中包括的第一数据长度的数据来生成 第一数据,并生成第二数据,第二数据的数据长度比第一数据长度长一位。 数据传送设备包括第一传送单元,其按照预定顺序传送第一数据生成单元 生成的第一数据和第一数据生成单元生成的第二数据。数据传送设备包括 第二数据生成单元,其生成第一数据和第二数据。数据传送设备包括第二 传送单元,其经由与第一传送单元不同的传送路径传送第二数据生成单元 生成的第一数据和第二数据生成单元生成的第二数据,其中,第一传送单 元传送第一数据的传送周期和第二传送单元传送第一数据的传送周期错 开以在时间上不重叠。

附图说明

图1是用于阐述根据一个实施例的信息处理系统的示例的图;

图2是用于阐述根据第一实施例的CPU的功能配置的图;

图3是用于阐述根据第一实施例的串行接口端口的功能配置的图;

图4是用于阐述数据链路层的数据包的图;

图5是用于阐述数据链路层中的数据包格式的图;

图6是用于阐述根据第一实施例的物理层功能单元的功能配置的图;

图7是用于阐述根据第一实施例的19B/20B转换的图;

图8是用于阐述根据第一实施例的10位符号码的图;

图9是用于阐述根据第一实施例的K字符的位码的图;

图10是用于阐述19B/20编码器的特定示例的图;

图11是用于阐述根据第一实施例的19B/20B编码器的操作的图;

图12是用于阐述在偶数周期时间输出到线路(lane)#0到#7的数据 的图;

图13是用于阐述在奇数周期时间输出到线路#0到#7的数据的图;

图14是用于阐述根据第一实施例的通过线路#0到#7输出的第一符号 的顺序的图;

图15是用于阐述根据第一实施例的19B/20B解码器的特定示例的 图;

图16是用于阐述根据第一实施例的19B/20B解码器的操作的图;

图17是用于阐述根据第一实施例的LTSSM的条件转变的图;

图18是用于阐述LTSSM的每个条件的图;

图19是用于阐述根据第一实施例的命令集合生成单元的功能配置的 图;

图20是用于阐述根据第一实施例的命令集合检测单元的功能配置的 图;

图21是用于阐述根据第一实施例的由传送单元输出的数据序列的 图;

图22是用于阐述根据第一实施例的跳命令集合的图;

图23用于阐述根据第一实施例的传送定时生成电路的图;

图24是用于阐述根据第一实施例的传送定时生成电路的操作的时间 图;

图25是用于阐述根据第一实施例的接收定时生成电路的图;

图26是用于阐述根据第一实施例的接收定时生成电路的操作的时间 图;

图27是用于阐述线路#2中的突发性错误的图;

图28是用于阐述在突发性错误发生时接收到的数据的图;

图29是用于阐述数据输出的变形例的图;

图30是用于阐述每个周期时间输出的数据的示例的图;

图31是用于阐述利用多条线路形成的高性能串行总线的图;

图32是用于阐述相关技术中的数据包的示例的图;

图33是用于阐述K字符的示例的图;

图34是用于阐述在字节分解电路中执行的处理的示例的图;

图35是用于阐述8B/10B转换电路的原理的图;

图36是用于阐述8B/10B码转换的示例的图;

图37是用于阐述在突发性错误发生时的位讹误的图;以及

图38是用于阐述突发性错误发生的情况下的错误数据的图。

具体实施方式

将参照附图来阐述本发明的优选实施例。

[a]第一实施例

首先,为了阐明由根据第一实施例的数据传送设备提供的优势,将阐 述在相关技术中的8B/10B编码方案中的问题。首先,作为在相关技术中 利用8B/10B编码方案传送数据的串行传送技术的示例,将阐述PCIe(外 围部件快速互连Peripheral Component Interconnect Express)技术。

在以下描述中,将利用附图来阐述利用PCIe技术来传送数据的LSI (大尺寸集成电路)。此外,在以下示例中,将阐述这样的示例,其中, 数据传送侧LSI和数据接收侧LSI经由捆绑了多个串行总线的多条线路 相互连接,因而经由所述多条线路来传送数据。

图31是用于阐述利用多条线路形成的高性能串行总线的图。在图31 所示的示例中,数据传送侧LSI 77和数据接收侧LSI 84通过多条线路#0 到#n相互连接以通过串行传送来传送和接收。

在图31所示的示例中,数据传送侧LSI 77包括数据传送缓冲器78、 控制字符生成单元79、字节分解电路80和多个传送电路81至83。此外, 传送电路81包括扰频器81a和8B/10B编码器81b、串行器81c和驱动器 81d。此处,传送电路82和传送电路83与传送电路81实行类似的功能, 因此将省略对传送电路82和83的描述。

同时,数据接收侧LSI 84包括多个接收电路85到87、字节去分解 (unstriping)电路88、数据接收缓冲器89和控制字符接收单元90。此 外,接收电路85包括接收器85a、解串器85b、8B/10B解码器85c和解 扰器85d。此处,接收电路86和接收电路87与接收电路85实行类似的 功能,因此将省略对接收电路86和87的描述。

数据传送缓冲器78是用于存储数据传送侧LSI 77所传送的数据的缓 冲器。此外,控制字符生成单元79生成K字符以执行控制,如初始化、 错误数据操作以及对发送侧到接收侧的时钟抖动的调整。此外,字节分解 电路80执行每次一个字节地将从数据传送缓冲器78和控制字符生成单元 79接收到的数据排列到每个线路#0到#n的字节分解处理。

此外,扰频器81a对字节分解电路80分配给线路#0的数据执行随机 数转换。8B/10B编码器81b根据预先定义的查找表,将在扰频器81a中 经过随机数转换的8位数据转换为10位。此外,串行器81c对由8B/10B 编码器81b转换的10位数据执行串行转换。驱动器81d将串行转换后的 数据经由线路#0传送到数据接收侧LSI 84。

同时,接收器85a经由线路#0接收驱动器81d传送的数据。此外, 解串器85b将接收器85a接收到的数据并行转换为10位数据。此外8B/10B 解码器85c利用与8B/10B编码器81b的查找表类似的查找表将解串器85b 转换的10位数据转换为原始的8位数据。此外,解扰器85d执行扰频器 81a的随机数转换的逆转换。

此外,通过执行字节分解电路80的转换的逆处理,字节去分解电路 88使接收电路85到87经由线路#0到#n接收到的数据按照原始顺序被提 供。此外,字节去分解电路88将原始顺序的数据输出到数据接收缓冲器 89或控制字符接收单元90。

接下来,将利用图32来阐述在数据传送缓冲器78中存储的传送目标 数据。图32是用于阐述相关技术中的数据包的示例的图。此处,图32 示出了数据传送缓冲器78从数据链路层接收数据包的示例。

例如,由数据传送缓冲器78接收到的数据包是包括字节#0到字节#N 的N+1字节的数据包,其被称为“TLP”(事物层数据包)。更具体而言, 数据传送缓冲器78接收到的数据包表示在数据链路层中TLP序列号和 TLP头被附加到TLP数据包主体的数据包。此外,32位链路CRC(循 环冗余码校验)被附加到该数据包以校验在数据包传送时导致的错误,因 此可以检测等于或低于32位的连续错误(即突发性错误)。

接下来将参照图33来描述控制字符生成单元79锁生成的K字符。 图33是用于阐述K字符的示例的图。此处,图33中所示的码表示唯一 地表明每个K字符的码。例如,控制字符生成单元79生成“COM”(逗 号)符号以对线路和链路进行初始化和管理,或者生成“STP”(开始TLP) 符号,表明事物、层和数据包的开始。控制字符生成单元79将所生成的 “COM”符号或“STP”符号输出到字节分解电路80。

接下来,将利用图34来阐述在字节分解电路80和字节去分解电路 88中执行的处理。图34是用于阐述在字节分解电路中执行的处理的示例 的图。此处,图34示出了在字节分解电路80中将从字节#00到字节#31 的32字节的数据排列到8个线路#0到#7的处理。

例如,如图34所示,字节分解电路80循环地每次一个字节地将从数 据传送缓冲器78输出的数据排列到每条线路中。结果,例如,字节分解 电路80将字节#00、字节#08、字节#16和字节#24排列到线路#0中。

此外,字节去分解电路88使接收电路85到87各经由线路#0到#7 接收的数据按照原始循序重新排列,并在此之后,将按照原始顺序排列的 数据输出到数据接收缓冲器89。结果,数据接收缓冲器89接收到从数据 传送缓冲器78传送的数据。

接下来,将利用图35来阐述在8B/10B编码器81b中将8位数据转 换为10位数据的处理。图35是用于阐述8B/10B转换电路的原理的图。 例如,如图35所示,8B/10B编码器81b包括将3位数据转换位4位数据 的3位查找表和将5位数据转换为6位数据的查找表。

8B/10B编码器81b利用查找表将8位D字符或K字符转换为10位 数据,并输出作为10位符号码的经转换的数据。此外,当控制字符控制 信号被输入时,8B/10B编码器81b利用查找表将控制字符生成单元79所 生成的控制字符转换为10位符号码。此外,8B/10B编码器81b根据运行 差异值(running disparity values)输出相应的符号码。

图36是用于阐述8B/10B码转换的示例的图。如图36所示,8B/10B 编码器81b根据运行差异值将8位传送数据转换为10位数据。此处,图 36示出了分配给8B/10B编码器81b输出的10位数据的码,该码作为数 据字符名称。

此外,图36示出了转换前的8位数据和转换前的8位数据的十六进 制值作为数据字符值。此外,在图36所示的示例中,按照传送的顺序从 右侧开始描述8位数据。此外,图36示出了在运行差异为正的情况下以 及在运行差异为负的情况下每个数据字符都被转换为什么数据。例如,在 图36所示的示例中,在运行差异为负的情况下,8B/10B编码器81b将8 位数据字符值“6C”转换为“0011011100”。

如上所述,数据传送侧LSI 77利用字节分解电路80将传送数据排列 到线路#0到#7。数据传送侧LSI 77将8位数据或K字符转换为10位符 号码,并将该10位数据传送到数据接收侧LSI 84。

然而,数据传送侧LSI 77将8位数据转换为10位数据,并传送10 位数据,因此,传送效率劣化。此外,数据传送侧LSI 77利用查找表来 执行数据转换,因此在数据传送时导致的延迟时间增加。

此外,数据传送侧LSI 77对通过字节分解处理排列到线路#0到#7的 数据执行8B/10B转换,并将结果传送到数据接收侧LSI 84。因此,在一 条线路中发生突发性错误的情况下,数据接收侧LSI 84可能检测不到错 误。

在以下描述中,将利用附图来阐述当在一条线路中发生突发性错误时 无法检测到错误的示例。图37是用于阐述在发生突发性错误时的位讹误 的图。例如,如图37中的(A)所示,数据传送侧LSI 77处理作为传送 目标的十六进制数据“6C,00,00,00,00,00,00,00,5F,00,00,00,00,00, 00,00”。

随后,数据传送侧LSI 77利用字节分解电路80来对该数据执行字节 分解,并利用8B/10B编码器81b将该数据转换为10位数据。结果,在 运行差异为负的情况下,如图37中的(B)所示,驱动器81d传送字符 “0DC”并输出字符“2B5”。

此处,如图37中的(C)所示,假设在线路#0中发生突发性错误,, 并且驱动器81d传送的第一个字符的最后一位与接下来传送的字符的第 一位颠倒。随后,如图37中的(D)所示,接收器85a接收字符“0DD” 并接着接收字符“0B5”。

8B/10B编码器85c将接收器85a接收到的字符“0DD”和“0B5”转 换为8位数据。随后,字节去分解电路88按照原始顺序重新排列在线路 #0到#7中接收到的数据,并将结果输出到数据接收缓冲器89。结果,数 据接收缓冲器89接收到“8C,00,00,00,00,00,00,00,54,00,00,00,00,00, 00,00”,如图37中的(E)所示。

此处,图38是用于阐述在发生突发性错误的情况下的错误数据的图。 此外,如38示出了图37所示的数据传送缓冲器78传送的数据以及数据 接收缓冲器89所接收的数据。如图38中的阴影所示,数据接收缓冲器 89接收到在字节#00和字节#08中发生错误的数据。

随后,数据接收侧LSI 84将来自位数据与字节#00不一致的第一部 分以及位数据与字节#08不一致的最后一部分的部分看作异常数据。因 此,如图38中的(F)所示,在数据接收缓冲器89中接收到的数据包括 63位长度的异常数据。随后,存在以下情况,数据接收侧LSI 84难以通 过在数据传送侧LSI 77中传送的数据包中包括的32位LCRC来检测图 38中的(F)所示的错误。

此外,在图37和图38中已经描述了2位突发性错误导致经由8条线 路的串行传送中的63位长度的异常数据的示例。然而,在有更多条线路 的情况下,更远的位置中的位被分配给每条线路,因此在经过字节去分解 处理的数据中,被看作异常的部分中的位长度变得更长。结果,数据接收 侧LSI 84难以检测错误。

根据本实施例公开的技术的一个方面,可以改善串行传送的效率。此 外,根据本实施例中公开的技术的一个方面,可以检测在传送路径上导致 的突发性错误。

接下来,将利用附图来阐述根据本发明的一个方面的包括数据传送系 统的信息处理系统的示例。图1是用于阐述根据第一实施例的信息处理系 统的示例的图。如图1所示,信息处理系统1包括多个CPU(中央处理 单元)10到10c、多个存储器15到15c以及多个IO(输入输出)设备16 到16c。

此外,每个CPU 10到10c的目的在于改进信息处理系统1的处理能 力并采用如ccNUMA(带有缓存一致性的非均匀内存访问)的技术。此 外,在图1所示的示例中,尽管信息处理系统1包括四个CPU 10到10c, 但是本实施例不限于此,而可以包括任意数量的CPU。

存储器15和IO设备16连接到CPU 10,并且存储器15a和IO设备 16a连接到CPU 10a。此外,存储器15b和IO设备16b连接到CPU 10b, 存储器15c和IO设备16c连接到CPU 10c。

此外,CPU 10包括命令处理单元11、存储控制单元12、IO控制单 元13和串行接口单元14。此外,类似于CPU 10,CPU 10a包括命令处 理单元11a、存储控制单元12a、IO控制单元13a和串行接口单元14a。 此外,类似于CPU 10,CPU 10b包括命令处理单元11b、存储控制单元 12b、IO控制单元13a和串行接口单元14b。此外,类似于CPU 10,CPU 10c包括命令处理单元11c、存储控制单元12c、IO控制单元13c和串行 接口单元14c。

此处,串行接口单元14到14c各通过串行传送路径相互连接并经由 串行传送路径传送和接收数据。此外,在图1所示的示例中,尽管CPU 10 到10c通过串行传送路径相互连接,但是本实施例不限于此,而可以例如 通过纵横设备以定相的方式来连接。此外,假设CPU 10a到10c各实行 与CPU 10类似的功能,因此,以下将省略其阐述。

命令处理单元11表示执行各种计算处理的处理单元,并且例如包括 多个核以利用存储在存储器15中的数据来执行计算处理。存储控制单元 12表示执行存储在存储器15中的数据的控制的控制单元,并具有存储器 控制器功能以及保持缓存一致性的功能。IO控制单元13访问IO设备。

接下来,将利用图2来阐述CPU 10的功能配置。图2是用于阐述根 据第一实施例的CPU的功能配置的图。如图2所示,CPU 10包括多个核 20和21、存储接口单元22、缓存一致性控制单元23、数据包路由单元 24和多个串行接口端口30到32。

此处,核20和21被包括在图1所示的命令处理单元11中,并且存 储接口单元22和缓存一致性控制单元23被包括在图1所示的存储控制单 元12中。此外,数据包路由单元24和多个串行接口端口30到32被包括 在图1所示的串行接口单元14中。

此外,串行接口端口30连接到CPU 10a,串行接口端口31连接到 CPU 10b,串行接口端口32连接到CPU 10c。此外,在图2所示的示例 中,尽管省略了除核20和21以外的核,但是CPU 10可以具有任意数量 的核。此外,在图2所示的示例中,除了串行接口端口30到32以外的串 行接口端口被省略示出,但是CPU 10可以具有任意数量的串行接口端口。

核20和21表示用于执行各种计算处理的核。例如,核20具有缓存 功能,经由数据包路由单元24、缓存一致性控制单元23和存储接口单元 22缓存在存储器15中存储的数据,并利用所缓存的数据执行计算处理。

存储接口单元22表示用于执行存储器访问的控制单元。例如,它表 示存储器访问设备。缓存一致性控制单元23执行保持在存储器15中存储 的数据与在核20、核21或其他CPU 10a到10c中缓存的数据之间的一致 性的处理。例如,缓存一致性控制单元23利用如伊利诺伊协议和ccNUMA 的方法来执行保持缓存数据的一致性的处理。

数据包路由单元24对在核20、核21、缓存一致性控制单元23、IO 控制单元13以及串行接口端口30到32之间相互交换的数据包进行中继。 串行接口端口30到32表示分别连接到CPU 10a到10c的端口,用于经 由串行传送路径利用CPU 10a到10c执行串行传送。

在以下的描述中,将阐述每个串行接口端口30到32中执行的处理。 此外,在以下阐述中,串行接口端口31和32实行与串行接口端口30类 似的功能,因此以下将省略其阐述。

图3是用于阐述根据第一实施例的串行接口端口的功能配置的图。在 图3所示的示例中,串行接口端口30包括事物层功能单元33、数据链路 层功能单元34和物理层功能单元35。此外,物理层功能单元35包括物 理层逻辑子块36和物理层电子子块37。

事物层功能单元33具有事物层数据包生成功能、(虚拟信道)管理功 能和通过VC信誉量的数据流控制功能。例如,当从数据包路由单元24 接收到向CPU 10a传送的数据包时,事物层功能单元33根据所接收到的 数据包生成事物层数据包,并将所生成的数据包输出到数据链路层功能单 元34。

数据链路层功能单元34具有与经由物理层连接的远程部件的数据包 传递控制功能、DLLP(数据链路层数据包)生成功能和DLLP翻译功能。 此外,数据链路层功能单元34具有重试缓冲器的数据重新传送功能、ACK 或NACK的数据流控制功能、与冗余位对应的CRC的生成功能、以及利 用CRC的错误检测功能。

例如,当从事物层功能单元33a接收到向CPU 10a传送的数据包时, 数据链路层功能单元34根据接收到的数据包生成DLLP。此外,数据链 路层功能单元34生成CRC以从所生成的DLLP检测错误并将所生成 CRC附加到DLLP。此外,数据链路层功能单元34将具有CRC的DLLP 输出到物理层功能单元35。

此处,将利用图4和图5来阐述在数据链路层功能单元34中生成的 数据包的示例。图4是用于阐述数据链路层中的数据包的图。如图4所示, 数据链路层功能单元34生成从位#0到位#75的76位数据包。此处,在数 据链路层功能单元34中生成的数据包的位#74和#75是存储标签T1和T0 以及存储2位控制码的字段。

此外,在数据链路层功能单元34中生成的数据包的位#73到#10是存 储有效载荷D63到D00以及存储8字节有效载荷的字段。此外,在数据 链路层功能单元34中生成的数据包的位#9到#0是存储CRC C9到C0以 及存储10位CRC的字段。利用该10位CRC,可以检测最大10位的突 发性错误。

此处,存储在标签T1到T0中的2位控制码信号表示以下信号,该 信号表明8字节有效载荷数据D63到D00的属性。CPU 10到10c利用存 储在标签T1和T0中的控制码信号以及有效载荷数据D63到D00的位的 部分来实现K字符功能。

图5是用于阐述在数据链路层中的数据包格式的图。此外,图5示出 了存储在标签T1和T0中的数据以及存储在有效载荷D63到00中的数据 的示例。例如,在标签T0和T1中的“00”的情况下,发出数据包而非 各种K字符。

例如,在“0”被存储在所有有效载荷D63到00的情况下,即具有 所有0的数据包表示所谓的“PAD”数据包。该PAD表示代替图33所示 的K字符PAD来使用的并且在逻辑空闲时间使用的数据包,并且表明在 数据链路层没有数据被发出。

此外,在有效载荷D63是“0”并且有效载荷D62是“1”的情况下, 给出被称作“DLLP”的数据包,在该数据包中,62位有效载荷被存储在 D61到D00中。该DLLP表示以下数据包,该数据包代替图33中所示的 K字符SDP被使用并表示数据链路层数据包的发出。此外,DLLP有效 载荷一定有62位的大小。

此外,在有效载荷D63是“1”并且D62是“0”的情况下,给出被 称作“STP”的数据包,在该数据包中,62位有效载荷被存储在D61到 D00。该STP表示以下数据包,该数据包代替图33中所示的K字符STP 被使用并表示事物层数据包的开始。此外,STP有效载荷一定包括头部分 并表示数据包被连续传送。

同时,在标签T1和T0中为“01”的情况下,给出以下数据。例如, 在有效载荷D63是“0”并且D62是“0”的情况下,给出被称作“MKUE” 的数据包,在该数据包中,62位有效载荷被存储在D61到D00。该MKUE 表示存储在有效载荷D1和00中的数据包是标记有UE的数据。此外,用 来检测不能正确的错误的单位数被插入在MKUE有效载荷的特定位置, 其表示数据包被连续传送。

同时,在有效载荷D63是“0”并且D62是“1”的情况下,给出被 称作“KMUEE”的数据包,在该数据包中,62位有效载荷被存储在D61 到D00。该MKUEE表示存储了与MKUE类似的信息的数据包,并且表 示不存在随后的数据包并且存储类似信息的数据包(即,MKUE)的传送 正常结束。

此外,在有效载荷D63和D62中有“1”的数据包表示在D61到D00 中存储无效数据(即,全部都是0)的数据包,其被称作“EDB”。该EDB 表示以下数据包,该数据代替图33中所示的K字符EDB被使用并且表 示事物层数据包(TLP)的异常结束。

此外,在标签T1和T0中有“10”的数据包表示在D63到D00中包 括64位有效载荷的数据包,其被称作“DATA”。DATA表示PLP(协议 层数据包)或CMD(命令)中其次或随后传送的8字节数据包,并且表 明相似的数据包在随后是连续的。此外,表明在DATA中包括什么字节 的数据的信息被存储在数据包头中。

此外,在标签T1和T0中存储“11”的数据包表示在D63到D00中 包括64位有效载荷的数据包,其被称作“END”。END表示在协议层数 据包或CMD(命令)中其次或随后传送的8字节数据包,并且表明存储 类似信息的数据包的传送正常结束。

此外,在图5所示的示例中,在有效载荷D63和D62中为“1”的数 据包未被使用,并且被设置为备用数据包。此外,在图5所示的示例中, 在有效载荷D63中为“1”以及在D62中为“0”的数据包未被使用,并 且被设置为备用数据包。

再次参照图3,物理层功能单元35具有初始化状态机功能、线路配 置控制功能、字节顺序生成功能、字节顺序再生功能、扰频功能、解扰功 能、码转换功能、K字符生成功能。此外,物理层功能单元35具有弹性 缓冲器、时钟生成功能、时钟再生功能、并行到串行转换功能、串行到并 行转换功能、差速传动路径的传送电路、以及包括均衡器的操作传送路径 的接收电路。

在以下描述中,将利用图6来阐述物理层功能单元35中保持的功能。 图6是用于阐述根据第一实施例的物理层功能单元的功能配置的图。在图 6所示的示例中,物理层功能单元35的物理层逻辑子块36包括字节分解 电路38、线路#0传送单元39到线路#7传送单元39b、线路#0接收单元 46到线路#7接收单元46b以及字节去分解电路51。

此外,物理层逻辑子块36包括LTSSM(链路训练和状态机)52、 DV/RV(驱动器/接收器)控制单元53、命令集合生成单元54和命令集 合确定单元56、此外,物理层逻辑子块36包括传送定时生成电路57、分 解定时生成电路58、接收定时生成电路59和去分解定时生成电路60。

此外,线路#0传送单元39包括扰频器40、选择器41、19B/20B编 码器42和串行器43。此外,线路#0接收单元46包括符号锁解串器47、 弹性缓冲器48、19B/20B解码器49、解扰器50和命令集合检测单元55。

此外,假设线路#1传送单元39a到线路#7传送单元39b与线路#0传 送单元39实行类似的功能,因此将省略对其的阐述。此外,假设线路#1 接收单元46a到线路#7接收单元46b实行与线路#0接收单元46类似的功 能,并因此将省略对其的阐述。

此外,物理层电子子模块37包括线路#0驱动器44到线路#7驱动器 44b以及线路#0接收器45到线路#7接收器45b。此处,这些线路#0到#7 是差速传动路径。此外,驱动器44到44b各将串行信号输出到与差速传 动路径对应的线路#0到#7,并接收来自差速传动路径的串行信号,以执 行串行传送。例如,驱动器44将串行信号输出到线路#0的差速传动路径 70和70a,并且接收器45接收来自线路#0的差速传动路径71和71a的 串行信号,以执行串行传送。

此处,假设线路#1驱动器44a到线路#7驱动器44b实行与线路#0驱 动器44类似的功能,因此将省略其阐述。此外,线路#1接收器45a到线 路#7接收器45b实行与线路#0接收器45类似的功能,因此将省略其阐述。 此外,在以下阐述中,在描述了数据传送侧的功能之后,描述数据接收侧 的功能。

首先将阐述数据传送侧的功能。字节分解电路38根据从分解定时生 成电路58接收到的分解定时信号将从数据链路层功能单元34接收的数据 包数据排列到线路#0到#7。例如,字节分解电路38将9位数据排列到线 路#0到#3,并将10位数据排列到线路#4到#7。

扰频器40表示用于将字节分解电路38排列的数据伪随机化到线路#0 中的电路。即,扰频器40通过对传送数据进行伪随机化来减小电路中的 电磁噪声。选择器41表示将扰频器40伪随机化的数据或命令集合生成单 元54(稍后描述)生成的K字符输出到19B/20B编码器42的选择电路。

19B/20B编码器42对从选择器41获取的数据进行编码。更具体而言, 19B/20B编码器42接收来自选择器41的数据并接收来自命令集合生成单 元54的表明所接收到的数据是D字符还是K字符的信号。此外,19B/20B 编码器42接收来自传送定时生成电路57的传送符号周期标识信号以标识 是输出第一符号还是输出第二符号。

随后,19B/20B编码器42根据接收到的信号执行以下处理。即,在 用于标识第一符号和第二符号的信号指定第一符号的情况下,当接收到表 明该数据是D字符的信号时,19B/20B编码器42接收来自选择器41的9 位数据。随后,通过将1位控制为附加到该9位数据来生成第一符号。或 者,在用于标识第一符号和第二符号的信号指定第二符号的情况下, 19B/20B编码器42接收来自选择器41的10位数据。此处,该10位数据 被作为第二符号进行处理。随后,19B/20B编码器42将所生成的第一符 号或第二符号输出到串行器43。

同时,在用于标识第一符号和第二符号的信号指定第一符号的情况 下,当接收到表明该数据是K字符的信号时,19B/20B编码器42通过将 1位控制数据附加到K字符并将与控制数据相同值的头位附加到K字符 来生成第一符号。即,第一符号是附加有控制位的D字符或附加有控制 位的K字符。随后,10B/20B编码器42将所生成的第一符号输出到串行 器43。

此处,在生成包括D字符的第一符号的情况下,19B/20B编码器42 附加与D字符的头位不同值的控制位。因此,19B/20B编码器42在包括 D字符的第一符号中包括至少一位跳变。

例如,图7是用于阐述根据第一实施例的19B/20B转换的图。图7 示出了19B/20B编码器42执行的19B/20B转换的原理。例如,19B/20B 编码器42接收来自选择器41的D字符或K字符。此外,19B/20B编码 器42从命令集合生成单元54接收K/D标识信号,其表明数据是K字符, 还是该数据是D字符。

随后,19B/20B编码器42将19位数据划分为9位数据(即,D字符 和10位数据,并输出10位数据作为第二符号。此外,19B/20B编码器42 根据K/D标识信号选择8位K字符或9位D字符。

此外,19B/20B编码器42对K/D标识信号和D字符的头位(即,9 位数据的头位(图7中的“a”))进行编码,并生成控制位(图7中的“C”) 以及D字符的头位。更具体而言,在K/D标识号表明D字符的情况下, 19B/20B编码器42将9位数据的头位“a”的相反位(reversal bit)处理 为控制位,并将头位“a”处理为跟在控制位之后的位“0”。随后,19B/20B 编码器42生成10位数据,其中用“1”和“9”替换9位数据中的位“b” 到“i”。此外,19B/20B编码器42生成10位数据,其中,19位数据中的 10位数据被处理为位“0”到“9”。

此外,在K/D标识信号表明K字符的情况下,19B/20B编码器42将 控制位以及20位输出的后续位“0”处理为相同位值。随后,19B/20B编 码器42生成在位“1”到“8”中存储K字符的10位数据。

随后,19B/20B编码器42输出以下10位数据作为第一符号,在该 10位数据中,1位控制位被附加到D字符,或输出以下10位数据作为第 一符号,在该10位数据中,1位控制位和1位头位被附加到K字符。即, 19B/20B编码器42输出包括1位控制位的10位数据作为第一符号。

此处,将利用图8来阐述第一符号的头两位和随后的8位之间的关系。 此外,在以下阐述中,第一符号的头两位将被作为10位符号码来阐述。 图8是用于阐述根据第一实施例的10位符号码的图。例如,在输出D字 符作为第一符号的情况下,19B/20B编码器42将附加与D字符的头位的 相反值对应的值的控制位。

即,在D字符的头位是“0”的情况下,19B/20B编码器42附加“1” 作为控制位。此外,在D字符的头位是“1”的情况下,19B/20B编码器 42附加“0”作为控制位。此外,在输出K字符作为第一符号的情况下, 19B/20B编码器42附加控制位“1”和头位“1”。

此外,考虑DC平衡,若不是一类的话,选择用五个“0”和“1”形 成的值作为K字符。此外,在第一符号的10位中,除了控制位和头位之 外的8位都是表明K字符的位,因此可以表达最多56种(8C3)K字符。 此外,在控制位是“0”并且头位是“0”的情况下,除了全部0的情况之 外给出无效符号。

此处,图9是用于阐述根据第一实施例的K字符的位码的图。19B/20B 编码器42输出包括K字符“COM”的位码“11_0011_0010”作为第一符 号。此处,“COM”表示以下符号,该符号表明跳命令集合(SKPOS) 或EIOS(电空闲命令状态)的开始。

此外,19B/20B编码器42输出表明K字符“LONG1”的位码 “11_1111_1111”作为第一符号。此处,“LONG1”表示以下符号,该符 号表明TSOS(训练命令集合)和EIEOS(电空闲命令集合)的开始。

此外,19B/20B编码器42输出表明K字符“LONG0”的位码 “00_0000_0000”作为第一符号。此处,“LONG0”表示用于结合在训练 序列中使用的“LONG1”来生成低频信号的符号。

此外,19B/20B编码器42输出表明K字符的“SKP”的位码 “11_0101_0100”作为第一符号”。此处,“SKP”表示在变形调整中的增 加/减小目标的符号,其通过随后的“COM”来表明跳命令集合(SKP OS)。

此外,19B/20B编码器42输出表明K字符“IDL”的位码 “11_1100_1000”作为第一符号。此处,“IDL”表示通过随后的“COM” 来表明EIOS的符号。此外,除了图9所示的码之外的其他码是无效码。

因此,19B/20B编码器42生成包括D字符和控制位的10位第一符号 或者包括K字符和控制位的10位第一符号,以及生成包括10位D字符 的第二符号。此处,19B/20B编码器42不同时输出第一符号和第二符号, 而按照预定周期交替生成第一符号和第二符号。例如,19B/20B编码器42 交替地生成第一符号和第二符号。

接下来,将利用图10来阐述19B/20B编码器42的特定示例。图10 是用于阐述19B/20B编码器的特定示例的图。如图10所示,19B/20B编 码器42接收来自命令集合生成单元54的K/D标识信号并接收来自传送 定时生成电路57的传送符号周期标识信号。此外,19B/20B编码器42从 选择器41接收从“a”到“j”的10位数据。

此处,传送符号周期标识信号表示以下符号,该符号表明在19B/20B 编码器42中输出的符号是第一符号还是第二符号。此外,在其他方面中, 传送符号周期标识信号表示在用于在每个线路#0到#7中传送一个符号的 每个符号时间切换的信号。例如,传送符号周期标识信号表明在每个线路 #0到#7中传送包括D字符的第一符号的次数是偶数还是该次数是奇数。

例如,在传送符号周期标识信号指示第二符号的传送的情况下, 19B/20B编码器42将所接收到的位“a”到“j”作为第二符号进行处理。 此外,在传送符号周期标识信号指示第一符号的传送并且K/D标识信号 表明D字符的情况下,19B/20B编码器42执行以下处理。即,19B/20B 编码器42将接收到的位“b”的相反值作为第一符号的头位进行处理,并 作为第一符号存储接收到的位“b”到“j”。

同时,在传送符号周期标识信号指示第一符号的传送并且K/D标识 信号表明D字符的情况下,19B/20B编码器42执行以下处理。即,19B/20B 编码器42处理从选择器提供的K字符码作为第一字符。

此外,如之后所描述的,命令集合生成单元54生成具有头两位“00” 和“11”的K字符作为K字符。因此,19B/20B编码器42生成第一符号, 在该第一符号中,与D字符的头位相反的控制位被附加到D字符的头, 或者生成第一符号,在该第一符号中,与K字符的头位相对应的控制位 被附加到K字符的头。

图11是用于阐述根据第一实施例的19B/20B编码器的操作的图。在 图11所示的示例中,在指示第二符号的传送的情况下,传送符号周期标 识信号是“1”,而在指示第一符号的传送的情况下,传送符号周期标识信 号是“0”。此外,在图11所示的示例中,在表明D字符的情况下,K/D 标识信号为“0”,而在表明K字符的情况下,K/D标识信号为“1”。

结果,在如11所示的示例中,在传送符号周期标识信号为“1”的情 况下,19B/20B编码器42在符号中存储从选择器41接收到的位“a”到 “j”。此外,在传送符号周期标识信号为“0”并且K/D标识信号为“0” 的情况下,19B/20B编码器42在符号的头位“0”中存储从选择器41接 收到的位“b”的相反位“^b”,并在其他位“1”到“9”中存储位“b” 到“j”。此外,在传送符号周期标识信号为“0”并且K/D标识信号为“1” 的情况下,19B/20B编码器42在符号的头位“0”和“1”中存储“00” 或“11”,并在其他位“2”到“9”中存储K字符的码值。

返回图6,串行器43从19B/20B编码器42接收作为10位并行数据 的第一符号或第二符号。随后,串行器43在每个符号时间将接收到的第 一符号或第二符号转换为串行数据,并将转换后的串行数据输出到线路#0 驱动器44。

此处,符号时间表示用于传送一个符号的时间,更具体而言,表示线 路#0驱动器44经由差速传动路径70和70a串行传送10位数据的时间。 当接收到来自串行器43的串行数据时,线路#0驱动器44将接收到的数 据输出到差速传动路径70和70a,即,将接收到的数据输出到线路#0以 将所接收到的数据传送到相对的CPU 10a。

此处,传送定时生成电路57(稍后描述)以预定周期来切换提供给 线路#0到#7的传送单元39到39b的传送符号周期标识信号。此外,传送 定时生成电路57将传送符号周期标识信号输出到至少一个传送单元以指 示第一符号的传送,并将传送符号周期标识信号输出到其他传送单元以指 示第二符号的传送。

因此,例如,在特定符号时间,线路#0到#3的传送单元输出第一符 号,线路#4到#7的传送单元输出第二符号。此外,在接下来的符号时间 中,线路#0到#3的传送单元输出第二符号,线路#4到#7的传送单元输出 第一符号。

在以下的描述中,将利用图12和图13来阐述输出到线路#0到#7的 符号。此外,在以下阐述中,假设将第一符号输出到线路#0到#3的符号 时间为偶数周期,将第一符号输出到线路#4到#7的符号时间为奇数周期。

图12是用于阐述在偶数周期时间输出到线路#0到#7的数据的图。此 外,图13是用于阐述在奇数周期时间输出到线路#0到#7的数据的图。此 外,图12和图13所示的示例示出了当字节分解电路38每次一个字节地 将图4所示的数据包排列到线路#0到#7时从传送单元39到39b输出到线 路#0到#7的数据。即,图12和图13示出了图4所示的数据包中的T1 到T0、D63到D00以及C9到C0如何排列到每个线路中。

在图12所示的示例中,字节分解电路38一次将除了控制位(Ctrl) 之外的T1到T0、D63到D00以及C9到C0的头的九位排列到线路#0到 #3,并随后一次将十位排列到线路#4到#7。因此,线路#0到#3的传送单 元将通过将1位Ctrl附加到9位数据而获得的第一符号用作第一符号。 此外,线路#4到#7的传送单元将10位数据用作第二符号。

因此,线路#0到#3传送包括9位数据和1位控制位的第一符号,线 路#4到#7传送包括10位数据的第二符号。

此外,在图13所示的示例中,字节分解电路38一次将来自T1到T0、 D63到D00以及C9到C0的除了Ctrl的头的九位排列到线路#7到#4, 并随后一次将十位排列到线路#3到#0。即,字节分解电路38在偶数周期 时间与奇数周期时间之间按照相反的顺序执行与线路#0到#7有关的排 列。因此,线路#0到#3传送包括10位数据的第二符号,线路#4到#7传 送包括9位数据和1位控制位的第一符号。

此外,线路#0到#7的驱动器44到44b将图12和图13所示的数据从 位“0”开始按照顺序传送到CPU 10a。例如,线路#0驱动器44在偶数 周期时间按照从Ctrl、D57到D63、T0到T1的顺序传送数据。此外,线 路#0驱动器44在奇数周期时间按照从C0到C9的顺序传送数据。

因此,传送单元39到39b各经由线路#0到#7以交替的方式传送图 12所示的位和图13所示的位。因此,在相对的CPU 10中,在20位中, 需要在经由线路#0到#7接收的数据中包括一次一位跳变,因此可以容易 地执行时钟再生。

此处,图14是用于阐述根据第一实施例的线路#0到#7输出的第一符 号的顺序的图。如图14所示,线路#0到#3被分到第一组,线路#4到#7 被分到第二组。此处,线路#0到#3在偶数周期时间传送第一符号,线路 #4到#7在奇数周期时间传送第一符号。

此处,在D字符被存储在第一符号中的情况下,附加与D字符的头 位相反的控制位,因此需要在第一符号中包括位值跳变。因此,在线路#0 到#7传送D字符的情况下,需要在20位中包括一次位值跳变。因此,无 需8B/10B转换,传送单元39到39b均可以容易地使CPU 10a执行时钟 再生。

此外,传送单元39到39b各将19位数据转换为20位并传送该将结 果。因此,传送单元39到39b均能够有效地执行串行传送,而不会浪费 传送路径频带。此外,传送单元39到39b均在第一符号中存储任意K字 符,因此能够执行在执行串行传送时实施的各种控制

此外,如图12和图13所示,传送单元39到39b各在至少一条线路 上传送10位CRC。此处,如图12和图13所示,传送单元39到39b各 在完全相同的符号时间传送从数据链路层功能单元34接收的一个数据 包。

此处,传送单元39到39b在任一线路中传送的CRC表示能够从在 完全相同的符号时间传送的数据中检测10位数据的CRC。此外,传送单 元39到39b各在一个符号时间输出最大10位数据。结果,即使在任意线 路中出现突发性错误并且全部位讹误,即,以连续的方式在10位中出现 位讹误,接收侧的CPU 10a仍可以利用在完全相同的符号时间传送的 CRC检测错误。

接下来,将阐述数据接收侧的功能。线路#0接收器45经由差速传动 路径71和71a从相对的CPU 10a接收串行数据。随后,线路#0接收器 45将所接收到的数据转换为位数据序列。此外,利用时钟生成电路,接 收器45利用传送数据的位跳变定时作为基准来生成接收时钟。此外,线 路#0接收器45将转换后的位数据序列和在时钟再生电路中再生的时钟输 出到符号锁解串器47。

此处,线路#0接收器45利用从CPU 10a传送的第一符号中包括的跳 变来生成时钟。此外,如上所述,19B/20B编码器42在包含D字符的第 一符号中包括至少一个位跳变。因此,在CPU 10a生成与19B/20B编码 器42相似的符号的情况下,线路#0接收器45利用在第一符号中包括的 控制位能够充分地执行时钟再生。

符号锁解串器47将从线路#0接收器45接收到位序列转换位10位并 行数据。更具体而言,符号锁解串器47在初始化时检测基准位并根据从 线路#0接收器45接收的时钟来锁定符号,并在那时再次执行初始化,在 每个符号时间识别10位串行数据。随后,符号锁解串器47将所识别的串 行数据转换为并行数据,并将转换后的并行数据存储在弹性缓冲器48中。

弹性缓冲器48表示用于移动到内部时钟的缓冲器。例如,符号锁解 串器47按照线路#0接收器45的时钟再生电路所再生的时钟,将并行数 据写在弹性缓冲器48中。随后,19B/20B解码器49按照内部时钟,即, 在接收定时生成电路59中生成的定时信号,通过从弹性缓冲器48中读取 并行数据来吸收时钟抖动。

更具体而言,传送侧的CPU 10a周期性地发送固定长度的跳命令集 合(在下文中,称作“SKPOS”)。随后,接收侧上的CPU 10通过观测时 钟定时并检测从弹性缓冲器48接收到的SKPOS来执行时钟同步调整。

19B/20B解码器49读取存储在弹性缓冲器48中的并行数据。随后, 通过执行与19B/20B编码器42相反的处理,19B/20B解码器49从读取的 数据中解码出原始数据并将解码后的数据输出到解扰器50。

此处,图15是用于阐述根据第一实施例的19B/20B解码器的特定示 例的图。如图15所示,19B/20B解码器49接收来自接收定时产生电路59 的接收符号周期标识信号。此处,接收符号周期标识信号是与传送符号标 识信号类似的信号,并且表明19B/20B解码器49从弹性缓冲器48读取的 10位数据是第一符号还是这10位数据是第二符号。

例如,接收定时生成电路59输出“0”或“1”作为传送符号周期标 识信号,而同时相对于作为开始点的训练序列结尾以预定周期切换它们。 此处,传送符号周期标识信号“1”表明所接收到的数据是第二符号,传 送符号周期标识信号“0”表明所接收到的数据是第一符号。

作为特定示例,在训练序列的结尾之后第一次传送的数据是第二符号 的情况下,接收定时生成电路59输出“1”作为传送符号周期标识信号。 此外,在训练序列的结尾之后第一次传送的数据是第一符号的情况下,接 收定时生成电路59输出“0”作为传送符号周期标识信号。

例如,在CPU 10a在训练序列的结尾之后经由线路#0交替传送第一 符号和第二符号的情况下,接收定时生成电路59交替地在19B/20B解码 器49中输入接收符号周期标识信号“0”和“1”。此外,类似于传送定时 生成电路57,接收定时生成电路59将表明经由线路#0到#7传送的符号 的信号输出到接收电路46到46b。

例如,在线路#0到#3接收第一符号而线路#4到#7接收第二符号的符 号时间中,接收定时生成电路59输出以下接收符号周期标识信号。即, 接收定时生成电路59将接收符号周期标识信号“0”输出到线路#0到#3 的接收单元,将接收符号周期标识信号“1”输出到线路#4到#7的接收单 元。

19B/20B解码器49确定接收符号周期标识信号是“1”还是该信号为 “0”,并且在接收符号周期标识信号是“1”的情况下,执行以下处理。 即,在不向从弹性缓冲器48接收的10位数据“a”到“j”应用位掩码的 情况下,19B/20B解码器49将该数据作为10位数据输出到扰频器50。

同时,在接收符号周期标识信号值为“0”的情况下,通过对读取的 数据中的位“a”到“j”中的“a”和“b”进行解码,19B/20B解码器49 确定该数据是D字符还是该数据是K字符。更具体而言,在位“a”和“b” 是“01”或“10”的情况下,19B/20B解码器49确定所读取的数据是D 字符。随后,利用位掩码,19B/20B解码器49输出位“b”到“j”作为 位1到9并将位1的值即0输出到解扰器50。

此外,在位“a”和“b”是“00”或“11”的情况下,19B/20B解码 器49确定所读取的数据是K字符。随后,19B/20B解码器49将“1”作 为K/D标识信号输出到命令集合检测单元55,并将位“a”到“j”作为 K字符输出到解扰器50。此外,在所读取的数据是K字符的情况下, 19B/20B解码器49校验从位“a”到“j”的错误图案,并在位“a”到“j” 是无效码的情况下,将“1”作为错误信号输出到命令集合检测单元55。

此处,图16是用于阐述根据第一实施例的19B/20B解码器的操作的 图。图16示出了19B/20B解码器49根据接收符号周期标识信号和所读取 的位“a”和“b”的值输出什么种类的数据。例如,在接收符号周期标识 信号为“1”的情况下,19B/20B解码器49输出位“a”到“j”作为输出 数据0到9。

此外,在接收符号周期标识信号是“0”并且位“a”和“b”是“01” 或“10”的情况下,19B/20B解码器49确定位“c”到“j”是D字符。 因此,19B/20B解码器49输出头数据0为“0”的数据、以及作为数据1 到9的位“b”到“j”。

此外,在接收符号周期标识信号是“0”以及位“a”和“b”是“00” 或“11”的情况下,19B/20B解码器49确定位“c”到“j”是K字符。 因此,在位“a”到“j”不是无效码的情况下,19B/20B解码器49输出 K/D标识信号“1“和错误信号“0”。此外,19B/20B解码器49输出位“a” 到“j”,即输出K字符作为输出数据0到9。同时,在位“a”到“j”是 无效码的情况下,19B/20B解码器49输出K/D标识信号“0”和错误信号 “1”。

返回图6,当接收到来自19B/20B解码器49的数据时,解扰器50通 过执行与扰频器40相反的处理,将伪随机化的数据转换为原始数据。随 后,解扰器50将转换后的原始数据输出到字节去分解电路51。此外,扰 频器40和解扰器50能够自然地使用在PCIe的系统中公开的技术。

字节去分解电路51按照来自去分解定时生成电路60的去分解定时信 号,执行与字节分解电路58相反的处理。即,字节去分解电路51将在线 路#0接收单元46中接收的数据重新排列到线路#7接收单元46b。随后, 字节去分解电路51将重新排列的数据输出到数据链路层功能单元34。

例如,字节去分解电路51所执行的处理与如图12和图13中所示的 字节分解电路38所执行的排列相反。即,在偶数周期中,字节去分解电 路51一次九位地从线路#0到#3获取数据,随后一次十位地从线路#4到 #7获取数据,以形成数据。此外,在奇数周期中,字节去分解电路51一 次九位地从线路#7到#4获取数据,随后一次十位地从线路#3到#0获取数 据,以形成数据。

接下来,将阐述用于生成K字符的功能。LTSSM 52表示用于对线路 #0到#7执行初始化或链路形成控制的状态机。例如,根据来自数据链路 层功能单元34的指令,LTSSM 52转变到等待链路初始化指令的状态或 链路初始化的状态,保持执行模式或节电模式。

随后,LTSSM 52基于到分解定时生成电路58和命令集合生成单元 54的转变状态来输出指令。此外,LTSSM 52基于到传送定时生成电路 57、命令集合确定单元56、接收定时生成电路59和去分解定时生成电路 60的转变状态来输出指令。

图17是用于阐述根据第一实施例的LTSSM的条件转变的图。LTSSM 52在重置取消之后转变到PORTDIS状态,随后根据来自数据链路层功 能单元34的指令而转变到图17所示的每个状态。

此处,将利用图18来阐述图17中所示的每个状态条件。图18是用 于阐述LTSSM的每个条件的图。PORTDIS状态表示用于等待链路初始 化指令的状态,并且LTSSM 52在电源启动之后立即转变到PORTDIS状 态或在重置信号被取消时转变到PORTDIS状态。此外,在PORTDIS状 态时,LTSSM 52根据来自物理层功能单元35的外部的指令转变到POLL 状态。

POLL状态表示将训练命令集合(TS OS)传送到连接目的端口/接收 来自连接目的端口的训练命令集合并检查通信是否可行的状态。此外,在 POLL状态时,在与连接目的端口的通信可行时,LTSSM 52转变到 CONFIG状态。

CONFIG状态表示在链路初始化或保持执行时将TS OS传送到连接 目的端口/从连接目的端口接收TS OS的状态,并且执行链路形成。随后, 在CONFIG状态时,在完成链路形成的情况下,LTSSM 52转变到LZ(L0, L0s)状态。

L0状态表示可以传送或接收更高层的数据链路层的数据包的状态, 并表示正常操作条件,在正常操作条件中,从数据链路层接收到的数据被 输出到差速传动路径、或从差速传动路径接收到的数据被输出到数据链路 层。此处,L0s表示节电状态。

此外,RECOVERY状态表示执行保持的状态。此外,L1状态表示 低节电条件的状态,LTSSM 52通过执行保持而转变到L0状态。此外, LOOPBACK状态表示测试回送的状态。此外,PreConfigre状态表示当 在保持的过程中发生多位链路错误时再次执行保持的状态。

返回图6,DV/RV控制单元53表示用于根据LTSSM 52所表示的状 态来控制线路#0到#7中的驱动器44到44b以及接收器45到45b的操作 的控制电路。

命令集合生成单元54生成传送到相对的CPU 10a的命令集合。更具 体而言,命令集合生成单元54根据来自LTSSM 52的指令生成来命令集 合,并将所生成的命令集合输出到选择器41。此外,除了来自LTSSM 52 的指令之外,命令集合生成单元54还以预定的时间间隔将跳命令集合 (SKPOS)输出到选择器41。

在以下的描述中,将利用附图来阐述命令集合生成单元54的功能配 置。图19是用于阐述根据第一实施例的命令集合生成单元的功能配置的 图。例如,在图19所示的示例中,命令集合生成单元54包括传送间隔生 成电路54a、传送OS(命令集合)选择控制单元54b、选择器54c和符号 计数器单元54d。此外,命令集合生成单元54包括数量确定单元54e、传 送OS数量计数器单元54f、限定传送数量确定单元54g和OS传送完成 标记54h。

此外,命令集合生成单元54存储命令集合的图案“TS1OS”、 “TS2OS”、“EIEOS”、“EIOS”和“SKPOS”。传送间隔生成电路54a 以预定时间检测向传送OS选择控制单元54b指示OS传送。此外,在从 LTSSM 52指示OS传送的情况下,传送OS选择控制单元54b控制选择 器54c并输出指示要传送的OS。

符号计数器单元54d对针对每个OS传送的符号的数量进行计数。此 外,在符号计数器单元54d计数的每个OS的符号数量达到预定值的情况 下,数量确定单元54e确定完成一组OS的输出,并且传送OS数量计数 器单元54f针对每个OS将计数值递增一。即,传送OS数量计数器单元 54f针对每个OS计数所传送的集合的数量。

此外,在执行链路初始化的情况下,传送多个OS集合。因此,在所 传送的OS集合的数量达到预定数量的情况下,通过设置OS传送完成标 记54h,限定传送数量确定单元54g向LTSSM 52报告已完成OS传送。

此外,命令集合生成单元54将选择器54c输出的命令集合连同命令 集合无效信号一起传送到所有线路#0到#7的传送单元39到39b。此处, 在接收到命令集合无效信号的情况下,线路#0的传送单元39在选择器41 中选择从命令集合生成单元54接收到的命令集合,并将命令集合输入在 19B/20B编码器42中。此外,类似于传送单元39,其他线路#1到#7的传 送单元39a到39b将命令集合输出在19B/20B编码器42中。

返回图6,命令集合检测单元55检测在线路#0中的接收单元46中接 收到的命令集合。此外,命令集合确定单元56确定线路#0到#7的接收单 元46到46b是否接收到命令集合。

在以下描述中,将利用图20来阐述命令集合检测单元55和命令集合 确定单元56的功能配置。图20是用于阐述根据第一实施例的命令集合检 测单元的功能配置的图。在图20所示的示例中,命令集合检测单元55 包括期望值计算单元55a、对应性检查单元55b、符号计数器56c、OS长 度确定单元56d和接收OS数量计数器56e。此外,命令集合检测单元55 包括限定接收数量确定单元56f、OS接收完成标记55g和SKPOS检测电 路55h。此外,命令集合确定单元56包括AND掩码56a和OR掩码56b。

例如,命令集合检测单元55从19B/20B解码器49接收K字符。此 外,对于LTSSM 52的每个状态,预期值计算单元55a从LTSSM 52接收 期望接收命令集合的指令,即期望接收的命令集合的期望值。随后,对应 性校验单元55b校验在期望值计算单元55a中接收的期望值是否对应于接 收到的命令集合。在期望值对应于命令集合的情况下,对应性校验单元 55b递增符号计数器56c的值。

此外,OS长度确定单元55d确定符号计数器55c的值是否达到预定 值,并且在达到预定值的情况下,OS长度确定单元55d确定接收到一个 OS集合,并且递增接收OS数量计数器55e。此外,在接收OS数量计数 器55e的值达到预定值的情况下,限定接收数量确定单元55f确定接收到 预定数量的命令集合,并且通过设置OS接收完成标记55g,向命令集合 确定单元56报告接收到命令集合。

此外,利用AND掩码56a,命令集合确定单元56计算来自线路#0 到#7的接收单元46到46b的OS接收完成标记的逻辑和。在所有接收单 元46到46b的OS接收完成标记都有效的情况下,命令集合确定单元56 向LTSSM 52报告命令集合的接收完成。

同时,从传送侧周期性地传送SKPOS。因此,在对应性校验单元55b 和OS长度确定单元55d中从确定结果检测SKPOS的接收的情况下, SKPOS检测电路55h将SKPOS检测信号传送到命令集合确定单元56。 随后,命令集合确定单元56利用OR掩码56b执行择多数判定。

更具体而言,按照接收符号周期标识信号,命令集合确定单元56确 定接收K字符的线路,在线路#0到#7中接收第一符号的线路,并从多数 所确定的线路中确定是否接收到SKPOS检测信号。随后,在从多数所确 定的线路接收到SKPOS检测信号的情况下,命令集合确定单元56将 SKPOS检测报告给LTSSM 52。

此处,图21是用于阐述根据第一实施例的由传送单元输出的数据序 列的图。例如,在从物理层功能单元35的外部指示链路初始化的情况下, LTSSM 52的条件转变并且训练序列开始。在训练序列中,如图21中的 (G)所示,包括控制位的符号即第一符号在所有线路#0到#7中被输出。 此时,传送单元39到39b各通过输出K字符来指定用于链路初始化处理 的命令集合。

接下来,当完成训练序列时,LTSSM 52转变到L0状态。因此,如 图21中的(H)所示,传送单元39到39b各开始传送从数据链路层接收 到的数据。即,传送单元39到39b各执行正常操作。即,在正常操作时, 传送单元39到39b各通过分解处理将从数据链路层接收到的数据划分到 线路#0到#7中。

随后,传送单元39到39b各执行19B/20B转换并执行转换后的数据 的串行传送。此处,在正常操作时,传送单元39到39b各以周期的方式 切换并输出第一符号和第二符号,并且至少一个传送单元传送第一符号。 此外,如图21所示,传送单元39到39b各被设置为使得当完成训练序列 时,传送下一符号的符号时间的偶数周期。此后,传送单元39到39b每 隔一个符号在偶数周期和奇数周期之间切换,以执行处理。

图22是用于阐述根据第一实施例的跳命令集合的图。例如,如图22 所示的(I)所示,传送单元39到39a各周期性地传送表明COM符号和 多个SKP符号的K字符作为SKPOS。

此处,图22中的(J)所示的定时主要是奇数周期的定时,因此,线 路#4到#7的接收单元将SKPOS的K字符检测报告给命令集合确定单元 56。因此,命令集合确定单元56确定是否多数线路#4到#7接收到COM 符号的K字符,并在多数线路#4到#7接收到COM符号的K字符的情况 下,命令集合确定单元56向LTSSM 52报告命令集合开始。

此处,接收单元46到46b在执行SKPOS的传送/接收之时均不在正 常操作状态下,并且传送到数据链路层的数据是无效的。随后,当接收到 预定数目的SKPOS符号时,接收单元46到46b均将条件改变为正常操 作状态,并偶数周期起开始符号时间,如图22中的(K)所示。

返回图6,传送定时生成电路57根据LTSSM 52和命令集合生成单 元54的输出来生成传送符号周期标识信号,并将其输入在线路#0到#7 的传送单元39到39b的19B/20B编码器中。此外,分解定时生成电路58 根据LTSSM 52和命令集合生成单元54的输出来生成分解定时信号,并 将所生成的分解定时信号输入在字节分解电路38中。

此处,将利用图23来阐述传送定时生成电路57和分解定时生成电路 58的示例。图23是用于阐述根据第一实施例的传送定时生成电路的图。 此外,尽管图23示出了传送定时生成电路57的操作原理,但是如果操作 定时在逻辑上相同,则能够通过其他逻辑电路配置来实现。此外,尽管图 23示出了传送定时生成电路57的示例,关于分解定时生成电路58,输入 信号和输出信号连接到不同的电路,但是能够通过类似的操作原理来实 现。

如23中所示的输入信号SMBOL_CLOCK是一个符号时间的基准时 钟,并且表示第一符号或第二符号的勾选的每个接收或传送的信号。此外, ACTIVE_L0_in表示在LTSSM 52中生成的信号并表明LTSSM 52处于 L0状态条件。此外,ACTIVE_SKPOS_in表示在命令集合生成单元54 中生成的信号并表明当前传送SKPOS。

在图23所示的示例中,传送定时生成电路57根据SMBOL_CLOCK、 ACTIVE_L0_in和ACTIVE_SKPOS_in的值将值为“0”或“1”的传送 符号周期标识信号输出到线路#0到#3的传送单元。此外,传送定时生成 电路57将与线路#0到#3的传送单元的值相反的值的传送符号周期标识信 号输出到线路#4到#7的传送单元。

例如,在完成训练序列之后的下一符号时间中,传送定时生成电路 57将传送符号周期标识信号“1”输出到线路#4到#7的传送单元,并随 后以交替的方式输出“0”和“1”。此外,在完成训练序列之后的下一符 号时间中,传送定时生成电路57将传送符号周期标识信号“0”输出到线 路#0到#3的传送单元,并随后以交替的方式输出“1”和“0”。

此处,将利用图24来阐述在图23中示出的传送定时生成电路57的 操作。图24是用于阐述根据第一实施例的传送定时生成电路的操作的时 间图。此外,图24示出了SYMBOL_CLOCK、LTSSM的状态, ACTIVE_L0_in和ACTIVE_SKPOS_in。

此外,图24示出了输出到线路#0到#7的中间信号“a”、中间信号“^a”、 中间信号“b”、传送符号周期标记、传送符号周期标识信号以及输出到线 路#0到#7的数据。此外,在图24所示的信号中,中间信号“a”、中间信 号“^a”和中间信号“b”代表在图23中的“a”、“^a”和”b”中流动 的信号。

例如,在图24所示的示例中,LTSSM 52的状态是符号时间为“0” 时的“PORTDIS”。因此,传送单元39到39b均开始训练序列。此处, 在训练序列中,所有的符号周期标识信号都是“0“,并且D字符和K字 符之一被选择并被输出到线路#0到#7。

此处,在符号时间“m”中完成链路初始化并且LTSSM 52的条件从 CONFIG状态转变到L0状态。因此,ACTIVE_L0_in信号转变为“1”, 传送符号周期标记开始勾选并且传送符号周期标识信号被输出。即,传送 单元39到39b均处于正常操作条件。

此处,在符号时间“n”中,传送周期性的SKPOS。此处SKPOS被 周期性的输出,而同时LTSSM 52的状态处于L0状态。因此, ACTIVE_L0_in信号和ACTIVE_SKPOS_in信号同时具有值“1”。该条 件是调整命令集合的输出条件并因此是与正常操作不同的状态。

此处,在符号时间“n”中,由于指示了SKPOS的传送,所有的传 送符号周期标识信号转变为“0”,并且作为SKPOS的第一个K字符的 “COM”被输出到线路#0到#7。此后,与预定周期数量对应的“SKP” 字符被输出到线路#0到#7。

此后,当与预定周期数对应的“SKP”字符被输出时,在符号时间“n+4” 中,它们转变为正常操作条件,并且,类似于符号时间“m”,该符号时 间从偶数时间周期开始。随后,只要传送单元39到39b均处于正常操作 条件,则它们在偶数周期和奇数周期之间切换的同时执行数据的串行传 送。

返回图6,接收定时生成电路59根据来自命令集合确定单元56和 LTSSM 52的输出来生成接收符号周期标识信号,该信号其表明线路#0 到#7的接收单元46到46b各自接收数据的定时。此外,去分解定时生成 电路60根据来自命令集合确定单元56和LTSSM 52的输出来生成去分解 定时信号。

此处,将利用图25来阐述接收定时生成电路59和去分解定时生成电 路60的示例。图25时用于阐述根据第一实施例的接收定时生成电路的图。 此外,尽管图25示出了接收定时生成电路59的操作原理,但是如果操作 定时在逻辑上相同,则能够通过其他逻辑电路配置来实现。

此外,尽管图25示出了接收定时生成电路59的示例,关于去分解定 时生成电路60,输入信号和输出信号连接到不同电路,但是能够通过类 似操作原理来实现。

此外,如图25所示,接收定时生成电路59与传送定时生成电路57 具有类似电路配置。即,除了接收DETECT_SKPOS_in而非 ACTIVE_SKPOS_in之外,接收定时生成电路59与传送定时生成电路57 具有类似功能。即,在完成训练序列之后的下一符号时间中,接收定时生 成电路59将接收符号周期标识信号“1”输出到线路#4到#7的传送单元, 并随后以交替的方式输出“0”和“1”。此外,在完成训练序列之后的下 一符号时间中,接收定时生成电路59将接收符号周期标识信号“0”输出 到线路#0到#3的传送单元并随后以交替的方式输出“1”和“0”。

此处,DETECT_SKPOS_in表示当检测到SKPOS时由命令集合确 定单元56输出的信号。此外,类似地,去分解定时生成电路60与分解定 时生成电路58具有类似的电路配置并具有类似的功能。

图26是用于阐述根据第一实施例的接收定时生成电路的操作的时间 图。此外,图26示出了接收符号周期标记和接收符号周期标识信号而非 图24中示出的传送符号周期标记和传送周期标识信号。

例如,在图26所示的示例中,在符号周期“0”中,LTSSM 52的状 态为“PORTDIS”。随后,所有的接收符号周期标识信号为“0”,因此, 接收单元46到46b各接收D字符和K字符之一。

此处,在符号时间“m”中完成链路初始化,并且LTSSM 52的条件 从CONFIG状态转变到L0状态。因此,ACTIVE_L0_in信号转变为“1”, 接收符号周期标记开始勾选,并且接收符号周期标识信号被输出。即,接 收单元46到46b均处于正常操作条件,并且将从线路#0到#7接收到的数 据输出到数据链路层。

此处,由于在符号时间“m”中,周期时间处于偶数时间周期,因而 线路#0到#3的接收单元接收9位D字符或K字符,并且线路#4到#7的 接收单元接收10位D字符。随后,由于接收符号标记被倒转,并且在符 号时间“m+1”中变为奇数周期,因而线路#0到#3的接收单元接收10位 D字符,并且线路#4到#7的接收单元接收9位D字符或K字符。

此处,在符号时间“n”中,线路#0到#7的接收单元46到46b接收 作为SKPOS的头字符的“COM”符号。因此,ACTIVE_L0_in信号和 DETECT_SKPOS_in信号同时具有值“1”。

此处,在符号时间“n”中,命令集合检测单元55不识别SKPOS的 接收,而当在符号时间“n+1”中接收“COM”随后的“SKP”符号时检 测SKPO的接收。因此,在符号时间“n”中,它是符号时间“n”中的 奇数周期,因此,命令集合确定单元56利用来自线路#4到#7的接收单元 的信号通过多数判定来确定COM字符。

此后,当与预定周期数对应的“SKP”字符被输出时,它们在符号时 间“n+4”中转变到正常操作条件,并且,类似于符号时间“m”,该符号 时间开始于偶数周期。随后,只要接收单元46到46b均处于正常操作条 件,它们就在偶数周期和奇数周期之间切换的同时接收数据,并将数据输 出到数据链路设备。

例如,串行接口端口30到32、事物层功能单元33、数据链路层功能 单元34、物理层功能单元35、物理层逻辑子块36和物理层电子子块37 是电子电路。此外,字节分解电路38、传送单元39到39b、扰频器40、 选择器41、19B/20B编码器42、解串器43和驱动器44到44b是电子电 路。

此外,接收器45到45b、接收单元46到46b、符号锁解串器47、19B/20B 编码器49、解扰器50和字节去分解电路51是电子电路。此外,LTSSM 52、 DV/RV控制单元53、命令集合生成单元54、命令集合检测单元55、命令 集合确定单元56、传送定时生成电路57和分解定时生成电路58是电子 电路。

此外,接收定时生成电路59和去分解定时生成电路60是电子电路。 此处,作为电子电路的一个示例,应用集成电路如ASIC(特定应用集成 电路)和FPGA(现场可编程门阵列)或CPU(中央处理单元)或MPU (微处理单元)。此外,弹性缓冲器48是半导体存储芯片如RAM(随机 存取存储器)。

第一实施例的效果

如上所述,CPU 10包括用于一次一位地传送数据的多条线路#0到#7。 此外,CPU 10包括多个传送单元39到39b,其用于生成作为具有1位控 制位的9位D字符或K字符的第一符号或者生成作为10位D字符的第 二符号。

此处,传送单元39到39b均以预定周期切换并生成第一符号和第二 符号,并且至少一个传送单元在每个符号时间生成第一符号。CPU 10经 由各自的线路#0到#7将传送单元39到39b生成的第一符号和第二符号传 送到CPU 10a.

因此,CPU 10可以改善串行传送的效率。例如,在每个符号时间中, CPU 10能够传送4个9位D字符和4个10位D字符,即,总共76位字 符。因此,在每个符号中,CPU 10传送包括控制位在内的80位数据,这 导致仅消耗5%的频带。

此外,CPU 10以预定周期将包括控制位在内的第一符号传送到线路 #0到#7。因此,CPU 10继续将每20位至少包括一位跳变的数据传送到 线路#0到#7。此外,CPU 10在每个符号时间中传送能够包括K字符的至 少一个第一符号。

因此,CPU 10能够改善串行传送的效率而不会损害在线路#0到#7 中充分执行串行传送的功能。即,通过在第一符号中存储K字符,CPU 10 能够实行串行传送功能以执行链路初始化操作或在传送/接收侧上的时钟 抖动调整。因此,CPU 10能够改善串行传送的效率而不会损害执行串行 传送的功能。此外,CPU 10按照预定周期将包括控制位在内的第一符号 输出到线路#0到#7,这能够有利于在相对的设备中的时钟再生。

此外,CPU 10使传送单元之一传送第二符号以根据在完全相同的符 号时间中传送的数据生成存储用于检测10位错误的CRC的第二符号, 并在与其他数据相同的符号时间中将第二符号传送到CPU 10a。因此, CPU 10能够确保检测到在任一线路中导致的突发性错误。在以下描述中, 将利用图27和图28来阐述该点,其中CPU 10确保检测到在一条线路中 的突发性错误。

图27是用于阐述线路#2中的突发性错误的图。例如,如图27中的 阴影所示,假设在经由线路#2传送的所有位中发生错误。结果,CPU 10a 对图27所示的数据执行字节去分解并形成数据,以将图28所示的数据输 出到数据链路层。

图28是用于阐述在突发性错误发生时接收到的数据的图。例如,图 28示出了图27中的阴影中示出的数据,即,阴影示出的错误数据。如图 28所示,CPU 10a接收数据包,该数据包在针对每个符号时间所接收的 数据中的十个连续位的范围内包括错误位。因此,CPU 10a能够利用每个 完全相同的符号时间接收到的10位CRC来检测错误。

即,CPU 10生成能够检测与经由线路#1到#7传送的符号相同长度的 错误的CRC,并且,在与其他符号相同的符号时间中传送所生成的CRC 的情况下,一定能够检测到任一线路中的突发性错误。因此,即使在突发 性错误不受限制地出现在任一线路中的情况下,CPU 10一定能够检测到 相对的设备中的错误。

此外,已知一种用于在串行传送中在信号接收侧利用DFE(确定反 馈均衡器)来改善信号质量的技术。然而,由于DFE技术在基于接收器 中的过去的信号逻辑来确定当前的阈值的原理下进行工作,因而在错误出 现一次的情况下,倾向于该错误持续较长时间段。结果。在应用了DFE 技术的接收器中很可能有突发性错误发生。

然而,即使在突发性错误不受限制地出现在任一线路中的情况下, CPU 10仍能够检测到错误。因此,即使当DFE技术应用于相对的设备时, CPU 10仍能够确保在相对的设备中的错误检测。

此外,在传送包括D字符的第一符号的情况下,传送单元39到39b 均生成通过将该D字符的头位值的相反值的控制位附加到该D字符而获 得的第一符号。因此,至少一位跳变被包括在包括D字符的第一符号中, 结果,CPU 10能够利于相对的设备中的时钟再生。

此外,在传送K字符的情况下,传送单元39到39b均生成具有与K 字符的头位的值相同的值的控制位的第一符号。因此,CPU 10能够利于 在相对的设备中的K字符标识。此外,在至少一个位跳变被包括在预先 设置的K字符的情况下,CPU 10能够进一步利于相对的设备中的时钟再 生。

此外,传送单元39到39b被划分为两组,每组切换并生成第一符号 和第二符号。因此,CPU 10能够利于在相对的设备中的时钟再生。此外, CPU 10使任意传送单元生成第二符号,以输出作为第二符号的CRC以 检测第一符号或第二符号中的错误,因此能够确保任一线路中的突发性错 误检测。

[b]第二实施例

尽管上面描述了第一实施例,但是可以按照与上述示例不同的各种形 式来实现本发明。此处,将阐述在本发明中包括的其他示例作为第二实施 例。

(1)关于线路的数目

上述的CPU 10经由八条线路#0到#7来传送数据。然而,示例不限 于此,并且CPU 10能够经由任意数量的线路对数据执行串行传送,只要 给出多条线路就行。

即,CPU 10可以根据线路数目同等地选择一个第一符号或第二符号 的大小以及排列到每个线路中的数据的位数。例如,在经由十六条线路传 送数据的情况下,CPU 10可以将5位数据排列到十二条线路,将4位数 据排列到四条线路。此外,CPU 10可以将能够检测到5位错误的CRC 排列到任意线路中,在这些线路中排列有5位数据。

例如,CPU 10可以具有两条线路。在这种情况下,CPU 10包括传 送单元39和39a,其按照预定顺序在传送数据中生成将1位控制位附加 到预定数据长度的数据的第一符号、或者作为比预定数据长度长一位的数 据的第二符号,并且在相应的传送路径中传送符号。此处,CPU 10错开 (shift)传送单元39和39a传送第一符号的符号时间,以使符号时间不 重叠。结果,CPU 10能够改善串行传送的效率。

(2)关于符号时间

CPU 10每隔一个符号时间经由八条线路传送76位数据。然而,示例 不限于此。例如,通过每隔一个符号时间从六条线路传送第二符号并从两 条线路传送第一符号,CPU 10可以传送78位数据。

图29是用于阐述数据输出的变形例的图。在图29所示的示例中, CPU 10将线路#0到#7划分为4组,每组用两条线路形成,并且每组交替 输出第一符号。更具体而言,CPU 10不计数偶数周期和奇数周期中的符 号时间,而是计数A周期、B周期、C周期和D周期这四个周期中的符 号时间。

随后,CPU 10在A周期中从第一组输出第一符号、在B周期中从第 二组输出第一符号,在C周期中从第三组输出第一符号,在D周期中从 第四组输出第一符号。因此,在线路#0到#7中,尽管每隔四个周期传送 第一符号,但是在CPU 10a通过40位中的一位跳变来执行时钟再生时没 有问题。

图30是用于阐述在每个周期时输出的数据的示例的图。此外,图30 示出了在A周期到D周期时传送到线路#0到#7的数据的示例。在每个周 期中,如图30所示,CPU 10执行线路#0到#7中的数据分解,并传送将 1位控制位附加到9位D字符的第一符号以及对应于10位D字符的第二 符号。因此,CPU 10能够利于在相对的设备中的时钟再生,并在减小传 送路径频带的情况下执行串行传送。

(3)关于CRC

上述的CPU 10在一个符号时间中经由多条线路#0到#7传送第一符 号和第二符号,其在第二符号之一中存储用于检测与其他符号长度相同的 错误的CRC。然而,示例不限于此。例如,CPU 10可以通过其他算法而 非CRC来传送冗余位。即,CPU 10可以在第二符号之一中存储能够检 测与其他符号长度相同的错误的任意冗余位,并且在与错误检测目标的其 他符号相同的符号时间中传送该冗余位。

能够改善串行传送的效率。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号