事务性缓冲式存储器中的提早识别的制作方法_3

文档序号:9929480阅读:来源:国知局
是不可以解扰或重 加扰经循环返回的比特。确认可能不应用于从,这是由于其循环返回。由于从可以在符号边 界上循环返回之前去偏斜,所以主可以不被强迫进行重新字节锁定或重新去偏斜,但是主 可以重新锁定训练序列以避免锁定一些伪信号。这样做的手段可以包括重播LFSR、比较TS 和/或EIE0S或者这些的某种组合。SDS的结束标志着环回设置的结束以及模式生成、检验和 计数的开始。
[0074] 代理环回模式状态(或封锁链路状态):从环回标志状态或遵循状态进入。处于环 回模式状态而不是控制模式时,主发射机可以发送额外的特殊化的模式来补充处于遵循或 环回模式状态的环回。接收机可以接收环回模式中的特殊化的模式以及检验所接收到的模 式中的错误。对于发射机适应,两个代理都可以是主。对于预先确定的时段,发射机可以发 送模式,以及远程接收机可以比较该模式并且确定所接收到的模式的优值或度量值,该所 接收到的模式被记录在诸如寄存器的存储元件中。比较方法和度量可以依赖于设计(例如, 具有抖动注入的BER)。在该时段的结束,两个代理都可以退出到针对反向信道的重置以检 查度量以及设置发射机适应的下一个迭代。
[0075]链路宽度状态:代理利用最终的通道映射来向远程发射机传送。接收机接收信息 以及解码。接收机可以在第二结构中的先前的通道映射值的检查点之后,记录第二结构中 的经配置的通道映射。接收机还可以利用确认("ACK")来响应。可以发起带中重置。作为一 个例子,第一状态发起带中重置。在一个实施例中,响应于ACK来执行退出到下一个状态,诸 如微片配置状态。此外,在进入低功率状态之前,如果醒来检测信号发生的频率下降到指定 值(例如每若干单元间隔(UI)(诸如4K UI)-次)以下,则还可以生成重置信号。接收机可以 保持当前的和先前的通道映射。发射机可以基于具有不同的值的训练序列来使用不同的通 道组。在一些实施例中,通道映射可以不修改一些状态寄存器。
[0076]微片锁定配置状态:由发射机进入,但是当发射机和接收机二者已退出到封锁链 路状态和其它链路状态时,认为退出该状态(即未决辅超时)。在一个实施例中,发射机退出 到链路状态包括在接收行星对齐信号之后的数据开始序列(SDS)和训练序列(TS)边界。这 里,接收机退出可以基于接收来自于远程发射机的SDS。这个状态可以是从代理到链路状态 的桥梁。接收机识别SDS。如果在初始化解扰器之后接收SDS,则接收机可以退出到封锁链路 状态(BLS)(或控制窗口)。如果超时发生,则可以退出到重置状态。发射机利用配置信号来 驱动通道。发射机可以基于状况或超时退出到重置、BLS或其它状态。
[0077]传输链路状态:一种链路状态。微片被发送到远程代理。可以从封锁链路状态进入 以及在事件(诸如超时)上返回到封锁链路状态。发射机发送微片。接收机接收微片。还可以 退出到低功率链路状态。在一些实现中,传输链路状态(TLS)可以被称为L0状态。
[0078]封锁链路状态:一种链路状态。发射机和接收机以统一的方式操作。可以是计时状 态,在该计时状态期间,链路层微片被拖延,而物理层信息被传送到远程代理。可以退出到 低功率链路状态(或基于设计的其它链路状态)。在一个实施例中,封锁链路状态(BLS)周期 地发生。该时段被称为BLS间隔以及可以被计时,以及可以在缓慢速度和可操作速度之间不 同。注意,可以周期地阻止链路层发送微片以使得可以发送一段物理层控制序列,诸如在传 输链路状态或部分宽度传输链路状态期间。在一些实现中,封锁链路状态(BLS)可以被称为 L0控制或LOc状态。
[0079]部分宽度传输链路状态:链路状态。可以通过进入部分宽度状态来节省功率。在一 个实施例中,非对称部分带宽指代两个方向链路的每一个方向具有不同的宽度,这在一些 设计中是支持的。在图9的例子中示出了起始器(诸如发射机)发送部分宽度指示以进入部 分宽度传输链路状态的例子。这里,当利用第一宽度在链路上进行发送到转换该链路以第 二、新的宽度进行发送时,可以发送部分宽度指示。不匹配可以导致重置。注意,可以不改变 速度但是可以改变宽度。因此,潜在地以不同的宽度发送微片。在逻辑上可以与传输链路状 态相似。但是,由于存在较小的宽度,所以可能需要更长的时间来发送微片。可以基于某些 接收到的和发送的消息来退出到其它链路状态,诸如低功率链路状态,或者基于其它事件 退出部分宽度传输链路状态或链路封锁状态。在一个实施例中,如定时图中示出的,发射机 端口可以以交错的方式来关闭空闲通道以提供更好的信号完整性(即减噪)。这里,可以在 宽度变化的时段期间利用诸如无效微片的不可重试微片。相应的接收机可以丢弃这些无效 的微片以及以交错的方式来关闭空闲通道,以及记录一个或多个结构中的当前的和先前的 通道映射。注意状态和相关联的状态寄存器可以保持不变。在一些实现中,部分宽度传输链 路状态可以被称为部分L0或LOp状态。
[0080]退出部分宽度传输链路状态:退出部分宽度状态。在一些实现中,可以使用也可以 不使用封锁链路状态。在一个实施例中,发射机通过在空闲通道上发送部分宽度退出模式 以对其进行训练和去偏斜来发起退出。作为一个例子,退出模式开始于EIE0S,其被检测和 被去抖动以用信号通知通道准备就绪开始进入到完全传输链路状态,以及可以结束于在空 闲通道上的SDS或快速训练序列(FTS)。在退出序列期间的任何失败(接收机动作,诸如没有 在超时之前完成去偏斜)阻止微片转移到链路层以及断言重置,这可以通过在下一个封锁 链路状态发生上重置链路来处理。SDS还可以将在通道上的加扰器和解扰器初始化为适当 的值。
[0081 ]低功率链路状态:是低功率状态。在一个实施例中,其为比部分宽度链路状态低的 功率,这是由于在这个实施例中,信令在所有通道和两个方向上被阻止了。发射机可以使用 封锁链路状态来请求低功率链路状态。这里,接收机可以解码该请求以及利用ACK或NCK来 进行响应;否则可以触发重置。在一些实现中,低功率状态可以被称为L1状态。
[0082]在一些实现中,例如,当已经完成状态的状态动作(诸如某些标定和配置)时,可以 促进状态转变以允许绕过状态。可以存储链路的先前的状态结果和配置以及在链路的随后 的初始化和配置中对其进行重新使用。可以绕过相应的状态,而不是重复这样的配置和状 态动作。然而,实现状态绕过的传统系统经常实现复杂的设计和昂贵的验证逃逸。在一个例 子中,HPI可以在某些状态(诸如状态动作不需要被重复的状态)中利用短计时器,而不使用 传统的绕过。除其它潜在的优势外,这样可以潜在地允许更加一致和同步的状态机器转变。
[0083]在一个例子中,基于软件的控制器(例如,通过针对物理层的外部控制点)可以实 现针对一个或多个特定状态的短计时器。例如,对于动作已经被执行和存储的状态,该状态 可以是短计时的以促进从该状态快速地退出到下一个状态。然而,如果先前的状态动作失 败或者不能被应用在短计时器持续时间之内,则可以执行状态退出。此外,例如,当状态动 作应当被再执行时,控制器可以停用短计时器。可以针对每一个相应的状态来设置长或默 认计时器。如果不能在长计时器之内完成在状态处的配置动作,则可以发生状态退出。可以 将长计时器设置为合理的持续时间使得允许状态动作的完成。相反,除其它例子外,短计时 器可以相当地较短使得在一些情况下无法在不返回参考先前执行的状态动作的情况下执 行状态动作。
[0084]在一些实例中,在链路的初始化(或重新初始化)期间,随着代理通过状态机器向 可操作链路状态前进,可以发生使得状态重置(例如,到重置或其它状态)的一个或多个失 败或状态退出。实际上,链路的初始化可以在没有完成初始化以及进入到链路状态的情况 下循环经过一个或多个状态。在一个例子中,可以保持针对初始化链路之内的状态转变中 的无用循环数量的计数。例如,每次初始化在没有到达链路状态时返回到重置状态,可以增 加计数器。一旦链路成功地进入链路状态,就可以重置针对该链路的计数器。可以由链路两 侧上的代理保持这样的计数器。此外,可以例如由利用一个或多个外部控制点的基于软件 的控制器来设置阈值。当对无用循环的计数满足(或超出)所定义的阈值时,可以暂停链路 的初始化(例如,在重置状态处或之前设置和保持)。在一些实现中,为了重新开始初始化以 及将初始化从暂停的状态释放,基于软件的控制器可以触发链路的重启和重新初始化。在 一些实例中,基于软件的工具可以分析所暂停的初始化的性质以及执行诊断、设置寄存器 的值以及执行其它操作使得防止初始化的进一步循环。事实上,在一些实现中,除其它例子 外,控制器可以结合重启暂停的链路初始化来设置较高的计数器阈值或者甚至改写计数 器。
[0085]在HPI的一些实现中,可以定义超级序列,每一个超级序列对应于相应的状态或 到/从相应的状态的进入/退出。超级序列可以包括数据集和符号的重复序列。在一些实例 中,除其它例子外,序列可以重复,直到状态或状态转变的完成,或者对应的事件的通信为 止。在一些实例中,超级序列的重复序列可以根据定义的频率来重复,诸如定义的多个单元 间隔(UI)。单元间隔(UI)可以对应于用于在链路或系统的通道上发送单个比特的时间间 隔。在一些实现中,重复序列可以开始于电有序集(E0S)。因此,可以期望E0S的实例根据所 预先定义的频率来重复。除其它例子外,这样的有序集可以被实现为可以以十六进制格式 表示的定义的16字节码。在一个例子中,E0S的超级序列可以是EIE0S。在一个例子中,EIE0S 可以类似于低频时钟信号(例如,预先定义的多个重复FF00或FFF000十六进制符号等)。预 先定义的数据集可以跟着E0S,诸如预先定义的多个训练序列或其它数据。除其它例子外, 这样的超级序列可以用在包括链路状态转变的状态转变以及初始化中。
[0086] 在互连的一些实现中,诸如在QPI中,诸如当重置或初始化链路时,可以引发或完 成串行数据链路的终止。该方法可以将复杂性和时间引入到链路的初始化中。在HPI的一些 实现中,可以保持链路的终止,包括在链路的重置或重新初始化期间。此外,HPI可以允许设 备的热插拔。当通过热插拔或者以其它方式引入另一个设备时,在其上添加新的远程代理 的通道的电压特性将变化。本地代理可以感知通道电压的这些变化以检测远程代理的存在 以及促使链路的初始化。可以在状态机中定义状态机状态和计时器以在不终止的情况下协 调检测、配置以及初始化链路。
[0087]在一个实现中,HPI可以通过由接收代理针对输入信令进行的通道的筛选来支持 带中重置上的重新初始化,而不改变终止值。信令可以用于识别优的通道。作为例子,可以 针对要被发射机设备发送的预先定义的信号的集合中的任何一个信号来筛选通道以促进 链路的发现和配置。在一个例子中,可以对应于一个或多个初始化或重新初始化任务来定 义超级序列。所预先定义的序列可以包括电空闲退出有序集(EIE0S),其后为额外的序列数 据。在一些实例中,随着在通道任一侧上的每一个设备变为活动的,设备可以发送对应于特 定的初始化状态等的超级序列。在一个实施例中,可以支持两种类型的引脚(pin)重置;电 源启动(或"冷")重置和暖重置。可以将由软件发起的或在一个代理(在物理或其它层中)上 产生的重置在带中传送到其它代理。然而,由于嵌入式时钟的使用,可以通过使用有序集 (诸如专用电有序集或EI0S)到另一个代理的通信来处理带中重置。
[0088] 可以在初始化期间发送有序集以及可在初始化之后发送PHY控制序列(或"封锁链 路状态")。封锁链路状态可以阻止链路层发送微片。作为另一个例子,可以阻止链路层发送 在接收机处可以被丢弃的若干无效(NULL)微片。
[0089] 如上面介绍的,在一个实施例中,可以初始地以慢速、随后以快速的初始化来完成 初始化。以慢速的初始化使用针对寄存器和计时器的默认值。软件随后使用慢速链路来设 置寄存器、计时器和电参数,以及清除标定信号量来为快速初始化做准备。作为一个例子, 初始化可以由诸如重置、检测、轮询、遵循以及配置连同潜在地其它的状态或任务组成。
[0090] 在一个例子中,链路层封锁控制序列(即,封锁链路状态(BLS)或LOc状态)可以包 括计时状态,在所述计时状态期间,延迟链路层微片,同时向远程代理传送PHY信息。这里, 发射机和接收机可以开始封锁控制序列计时器。在计时器到期时,发射机和接收机就可以 退出封锁状态以及采取其它动作,诸如退出到重置、退出到不同的链路状态(或其它状态), 包括允许跨链路发送微片的状态。
[0091] 在一个实施例中,链路训练可以被提供以及包括以下各项中的一项或多项:发送 加扰训练序列、有序集、以及控制序列(诸如结合定义的序列)。训练序列符号可以包括以下 各项中的一项或多项:报头、保留部分、目标时延、对号、物理通道映射码参考通道或通道组 以及初始化状态。在一个实施例中,除其它例子外,可以将报头和ACK或NAK-起发送。作为 例子,训练序列可以被作为超级序列的一部分来发送以及可以被加扰。
[0092] 在一个实施例中,有序集和控制序列不被加扰或被交错以及在所有通道上被同一 地、同时地和完全地发送。有序集的有效接收可以包括检验有序集的至少一部分(或针对部 分有序集的整个有序集)。有序集可以包括电有序集(E0S),诸如电空闲有序集(EI0S)或 EIE0S。超级序列可以包括数据开始序列(SDS)和快速训练序列(FTS)。这样的集合和控制超 级序列可以被预先定义以及可以具有任意模式或十六进制表示以及任意长度。例如,有序 集和超级序列的长度可以是8字节、16字节或32字节等。作为示例,在退出部分宽度传输链 路状态期间,FTS可以额外地用于快速比特锁定。注意,可以每个通道来定义FTS以及可以利 用旋转版本的FTS。
[0093]在一个实施例中,超级序列可以包括在训练序列流中插入E0S,诸如EIE0S。在一个 实现中,当信令开始时,通道以交错的方式启动电源。然而,这可以导致在一些通道上的接 收机处看见初始的超级序列被截。然而,可以在短时间间隔(例如,大约一千单元间隔(或者 ~1KUI))上重复超级序列。训练超级序列可以额外地用于去偏斜、配置中的一个或多个以 及用于传送初始化目标、通道映射等。除其它例子外,EIE0S可以用于将通道从不活动转变 为活动状态、筛选优的通道、识别符号和TS边界中的一个或多个。
[0094]在一个实施例中,可以在数据中嵌入时钟,所以不存在分别的时钟通道。在通道上 发送的微片可以被加扰以促进时钟恢复。作为一个示例,接收机时钟恢复单元可以向接收 机传递采样时钟(即,接收机从数据中恢复时钟以及用其对输入数据进行采样)。在一些实 现中,接收机持续地适应输入比特流。通过嵌入时钟,可以潜在地减少引脚分配。然而,在带 中数据中嵌入时钟会改变实现带中重置的方式。在一个实施例中,可以在初始化之后利用 封锁链路状态(BLS)。此外,除其它考虑外,可以在初始化期间利用电有序集超级序列以促 进重置(例如,如上所述)。嵌入式时钟可以在链路上的设备之间是公共的,以及可以在链路 的标定和配置期间设置公共可操作时钟。例如,HPI链路可以参考具有漂移缓冲器的公共时 钟。除其它潜在的优势外,这样的实现可以实现比用在非公共参考时钟中的弹性缓冲器更 低的时延。此外,参考时钟分布段可以被匹配到指定的极限之内。
[0095]在一个实现中,HPI可以支持具有在一些情况下不是标称通道宽度的倍数的宽度 的微片(例如作为单纯地说明性的例子,使用宽度为192比特的微片和20个通道)。事实上, 在允许部分宽度传输状态的实现中,在其上传输微片的通道的数量可以波动,甚至在链路 的寿命期间。例如,在一些实例中,微片宽度可以在一个时刻处是活动的通道的数量的倍 数,但是在另一个时刻处不是活动的通道的数量的倍数(例如,由于链路改变状态和通道宽 度)。在通道的数量不是当前通道宽度的倍数的实例中(例如,在20个通道上的微片宽度为 192比特的例子),在一些实施例中,连续的微片可以被配置为被在通道上重叠发送来由此 保存带宽(例如,在20个通道上重叠地发送五个连续的192比特微片)。
[0096]图8示出了在多个通道上重叠传输连续微片的表示。例如,图8示出了在20个通道 链路(由列〇至19表示通道)上发送的五个重叠的192-比特微片的表示。图8中的每一个单元 格表示被包括在在4UI跨度上发送的微片中的相应的"半字节"或四比特组(例如,比特4n+ 3:4n)。例如,192比特微片可以被划分为48个四比特半字节。在一个例子中,半字节0包括比 特0至3,半字节1包括比特4至7等。除其它考虑外,在半字节中的比特可以被发送使得重叠 或被交织(例如,"被调配(swizzled)"),使得提前呈现较高优先级的微片字段、保留错误检 测属性(例如,CRC)。事实上,调配方案还可以提供的是,以无序的方式发送一些半字节(以 及其相应的比特)(例如,如在图8和9的例子中)。在一些实现中,调配方案可以取决于链路 层的架构和在链路层中使用的微片的格式。
[0097] 诸如根据图8的例子,具有的长度不是活动的通道的倍数的微片的比特(或半字 节)可以被调配。例如,在第一4UI期间,可以发送半字节1、3、5、7、9、12、14、17、19、22、24、 27、29、32、34、37、39、42、44和 47。可以在下一个 4UI期间发送半字节0、2、4、6、8、11、13、16、 18、21、23、26、28、31、33、36、38、41、43和46。在1]18至11中,仅保留第一微片的8个半字
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1