CN1901439B - 用于高速信令的数据捕获技术 - Google Patents
用于高速信令的数据捕获技术 Download PDFInfo
- Publication number
- CN1901439B CN1901439B CN2006100934308A CN200610093430A CN1901439B CN 1901439 B CN1901439 B CN 1901439B CN 2006100934308 A CN2006100934308 A CN 2006100934308A CN 200610093430 A CN200610093430 A CN 200610093430A CN 1901439 B CN1901439 B CN 1901439B
- Authority
- CN
- China
- Prior art keywords
- data
- eye
- clock
- node
- transmitter
- 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.)
- Expired - Fee Related
Links
- 230000011664 signaling Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title abstract description 30
- 238000013481 data capture Methods 0.000 title abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 abstract description 22
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 230000001934 delay Effects 0.000 abstract description 3
- 238000012549 training Methods 0.000 description 31
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 101100532097 Vitis rotundifolia RUN1 gene Proteins 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 210000000158 ommatidium Anatomy 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010019133 Hangover Diseases 0.000 description 1
- 101150112439 SMAP gene Proteins 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20709—Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
- H05K7/20836—Thermal management, e.g. server temperature control
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F04—POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
- F04D—NON-POSITIVE-DISPLACEMENT PUMPS
- F04D25/00—Pumping installations or systems
- F04D25/16—Combinations of two or more pumps ; Producing two or more separate gas flows
- F04D25/166—Combinations of two or more pumps ; Producing two or more separate gas flows using fans
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F04—POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
- F04D—NON-POSITIVE-DISPLACEMENT PUMPS
- F04D27/00—Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
- F04D27/004—Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
- G09G5/008—Clock recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
- H04L7/0338—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F11/00—Control or safety arrangements
- F24F11/70—Control systems characterised by their outputs; Constructional details thereof
- F24F11/72—Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
- F24F11/74—Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity
- F24F11/77—Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity by controlling the speed of ventilators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B30/00—Energy efficient heating, ventilation or air conditioning [HVAC]
- Y02B30/70—Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating
Abstract
一种用于高速信令的数据捕获技术,以便于对异步数据流的最佳采样。该技术允许极高的数据速率,不要求像在源同步系统中的那样要将一个时钟随数据一起发送。本发明也提供一种硬件机构,用于为最佳双位并发双向(SiBiDi)信令自动地调节传输延迟。
Description
本申请是申请号为02805440.7的专利申请的分案申请。
交叉参考
本发明要求下述具有共同拥有人的、共同未决的美国临时专利申请的权益:申请序列号60/271124,申请日2001年2月24日,名称“Massively Parallel Supercomputer(大规模并联超级计算机)”,特此将其全部内容如同全文叙述一样地合并在本文中作为参考。本专利申请还与下列具有共同拥有人的、共同未决的、具有相同申请日的美国专利申请有关,特此将这些美国专利申请的每个的全部内容如同全文叙述一样地合并在本文中作为参考:美国专利申请序列号(YOR920020027US1、YOR920020044US1(15270)),发明名称“ClassNetworking Routing(分级联网传送)”;美国专利申请序列号(YOR920020028US1(15271)),发明名称“A Global Tree Network forcomputing Structures(用于计算结构的全局树形网络)”;美国专利申请序列号(YOR920020029US1(15272)),发明名称“GlobalInterrupt and Barrier Networks(全局中断和闭锁网络)”;美国专利申请序列号(YOR920020030US1(15273)),发明名称“OptimizedScalable Network Switch(优化的可伸缩的网络开关)”;美国专利申请序列号(YOR920020032US1、YOR920020033US1(15258)),发明名称“Arithmetic Functions in Torus and Tree Networks(环形和树形网络中的算术功能)”;美国专利申请序列号(YOR920020033US1、YOR920020034US1(15259)),发明名称“DataCapture Technique for High Speed Signaling(用于高速信令的数据捕获技术)”;美国专利申请序列号(YOR920020035US1、(15260)),发明名称“Managing Coherence Via Put/Get Windows(通过放置/达到窗管理相干性)”;美国专利申请序列号(YOR920020036US1、YOR920020037US1(15261)),发明名称“LowLatency Memory Access and Synchronization(低等待时间存储器存取和同步)”;美国专利申请序列号(YOR920020038US1(15276)),发明名称“Twin-Tailed Fail-Over for Fileservers MaintainingFull Performance in the Presence of Failure(双拖尾故障-出现故障时的文件服务器维护全性能)”;美国专利申请序列号(YOR920020039US1(15277)),发明名称“Fault isolation ThroughNo-Overhead Link Level Checksums(通过无开销链接级校验和的故障隔离)”;美国专利申请序列号(YOR920020040US1(15278)),发明名称“Ethernet Addressing Via Physical Location for MassivelyParallel Systems(通过大规模并联系统的物理位置的以太网编址)”;美国专利申请序列号(YOR920020041US1(15274)),发明名称“Fault Tolerance in a Supercomputer Through DynamicRepartitioning(通过动态重分配的超级计算机故障容限)”;美国专利申请序列号(YOR920020042US1(15279)),发明名称“Checkpointing Filesystem(校验指示文件系统)”;美国专利申请序列号(YOR920020043US1(15262)),发明名称“EfficientImplementation of Multidimensional Fast Fourier Transformationon a Distributed-Memory Parallel Multi-Node Computer(在分布存储器并联多节点计算机上有效地实现多维快速傅利叶变换)”;美国专利申请序列号(YOR920010211US1(15275)),发明名称“A NovelMassively Parallel Supercomputer(新颖的大规模并联计算机)”;美国专利申请序列号(YOR920020045US1(15263)),发明名称“SmartFan Modules and Systems(智能扇形组件和系统)”。
发明背景
1.发明领域
本发明总体涉及用于高速信令(signaling)的数据捕获技术,更具体来说,涉及一种用于异步数据流的最佳采样的技术。该技术允许极高的数据速率,并且不要求像在源同步系统中那样要将一个时钟随同数据一起发送。
本发明也提供一种用于为最佳双位并发双向(SiBiDi--two-bitsimultaneous Bi-Directional)信令自动地调节传输延迟的硬件机构。
2.背景技术
大规模并行计算机系统能进行类别宽广的重要计算。这种系统由许多相同的计算机节点组成,每个计算机节点一般有一个或多个CPU、存储器和一个或多个用于将该节点与其它节点连结的网络接口。
在相关的美国临时专利申请(申请序列号60/271124,申请日2001年2月24日,名称“Massively Parallel Supercomputer(大规模并联超级计算机)”)中描述的计算机,利用芯片上系统(SOC)技术,建立一个具有高通过量(throughput)的、可伸缩的(scalable)、成本-效用有益的计算系统。SOC技术已经使利用包括具有集成的第一级高速缓存的CPU的内置部件库在单一芯片上建立整个多处理器节点成为可行的。这种包装大大地减少了节点的部件数,便于建造可靠的大规模机器。
本发明涉及用于诸如生命科学领域中的应用等各种应用的大规模并行计算机系统的领域。更具体来说,本发明涉及高速信令的领域,涉及单向信令或并发双向(SiBiDi)信令。
有这样的情形:要求进行大量的数据传输,但是能用的连线数量有限。并发双向信令允许用相同的连线同时传送和接收信号。这就将连线的数量降低一半。需要进行大量数据传输但电缆数量受到严重限制的一个例子是具有数千个通过连线通信的处理器的大规模并行超级计算机。
SiBiDi信令的工作方式是在接收数据的相同连线上发送数据。因此,在接收期间,不仅接收从导线另一端发送的需要的数据,也接收它刚刚发出的数据。这当然破坏所需要的信号。然而,由于刚刚发出的数据是已知的,因此可以“将其减去”。这是由标准的SiBiDi电路进行的。
发明内容
因此,本发明的主要目的是提供一种用于高速信令的数据捕获技术,尤其是允许在不将时钟随数据一起发送的情况下对异步数据流最佳采样和捕获。捕获数据的方法是,沿着具有一系列延迟抽头(taps)的时钟定时的(clocked)延迟线发送数据流的串行位,并利用一个时钟采样所有的延迟抽头。将每个延迟抽头输出与相邻的延迟抽头输出进行比较,确定是否相同,该比较结果被用来形成一个时钟定时的串,以生成一个数据历史记录,该数据历史记录被加以检查,以确定最佳数据捕获眼(capture eyes),所述确定最佳数据捕获眼的方法是查找数据在相邻的延迟抽头之间不变换(transition)的地方的数据捕获眼,把它们作为最佳数据捕获眼。
本发明的另一个目的是提供一种硬件机构,它用于为最佳双位SiBiDi信令自动地调节传输延迟,以便改善双位SiBiDi信令的信号质量。实行一个特殊的硬件算法,并将该两个位中的每一位用于单向信道(channels),以允许两个节点的硬件算法在设定序列期间安全地交换设置参数。一个相同频率的单向信道有SiBiDi信道的带宽的一半,但是有相当好的信号质量。
附图说明
本领域的熟练人员参照以下结合附图对若干实施例的详细说明,能更好地理解用于高速信令的数据捕获技术的本发明的上述目的和优点。附图中相同的部件用相同的标注号指明。
图1表示一个数据接收宏,它能捕获2G位速率的串行数据并将其带入本地时钟域。
图2表示一个数据发送宏块,其接收500Mhz 1字节宽的数据输入,并生成每个是2Gb/s串行数据的两个数据流的数据输出,该数据输出被在SiBiDi(并发双向)差分(differential)数据链路上传送,然后数据被输入到图1的数据捕获宏。
图3表示一个级内(instage)2位宏块。
图4表示一个时钟定时的延迟线的实现,其中串行数据经过组合的串行反相器组,每个反相器增加一个延迟增量。
图5表示一个历史逻辑块,它被表示为时钟延迟线的延伸,并显示一个时钟相位(phase)。
图6A和6B表示数据和历史样本MUXs,它们每个对应于图3底部所示的MUX,图6A和6B分别用于先导边沿时钟相位和下降边沿时钟相位,图6C的MUX接收图5的底部的输出信号。
图7表示要被用作能在每个时钟周期捕获4个数据位的配对链路(paired link)的串行位组合和字节对准逻辑,它含有两个2位宏(如图3中所示的)并在2个输入数据流之间寻找适当的字节对准。
图8表示一个眼检测流程图中的眼检测过程。
图9表示两个2位宏状态图的第1图,该图表示在眼位置样本点正被确定期间的相位的状态流。
图10表示两个2位宏状态图的第2图,该图表示在正常数据捕获操作期间的重复状态流。
图11表示一个第一实施例,其中两个差分数据线连接一对相同节点1、2,并且其中每个节点都有一个唯一的ID,每个节点与一个2位发送器CPU和一个2位接收CPU一起操作。
图12表示一个在两个节点1、2之间的SiBiDi电通信的第二实施例,其中一个差分通信线路连接这些节点。
图13A和13B的状态机表示在同步Si-Bi-Di连接的训练中由节点计算芯片采取的步骤。
发明详细说明
概述
本发明旨在用于在大规模并行超级计算机中实现互连,它解决计算机产业中两个长期存在的问题;(1)在处理器和存储器之间以时钟周期计量的日益增加的距离,和(2)由主流单处理器或对称多处理器构造的并行计算机的高能力密度。
本发明总体涉及用于高速信令的数据捕获技术,更具体来说,涉及一种用于异步数据流的最佳采样的技术。该技术允许极高的数据速率,不要求像在源同步系统中的那样要将一个时钟随数据一起发送。
串行链路勘测
连接大规模并行超级计算机的串行链路的目标带宽是1.4Gb/s(每个方向)。这个带宽必须是双向的。这个双向要求可以以许多方式处理。所有情况共有的限制是,它们是低功率和低成本的。选择的实现将被集成到处理节点内的ASIC中。与这种方法相关联的一个特别问题是低功率限制。加上缺少用于链路传输的相对相位(phase)信息,这消除了标准的PLL时钟和数据恢复设计。在这种情况下,必须在不用PLL的条件下高度可靠地从数据本身抽取相位。
数字数据捕获
概述
本说明书详细地描述一种数字数据捕获技术。图1表示一个能捕获2G位速率的串行数据并将其带入本地时钟域的数据接收宏。目标是用少量的信元(cells)低功率地、可靠地实现这一点。图2表示一个比数据接收宏显著简单的数据发送宏块,它将在本说明书的第二部分被说明。这描述一种DDR(双数据速率)类型的数据恢复,它允许一个是位时间的频率的一半的内部时钟。这能被用于SDR(单一数据速率)模式或者在需要时被扩展到四数据速率方案。
参看图1,至数据接收宏的数据输入是两个2Gb/s输入串行数据的数据流,这代表着总共4Gb/s的数据流;数据输出是一个500Mhz的一字节宽的(8位宽的)数据流。其它输入信号是:一个1Ghz的时钟,一个把数据捕获宏复位到已知状态的复位信号,一个用于指导宏寻找最佳眼(沿多抽头延迟线(见图3、4、5)上的位置或阶段—数据在该处不经历变换、因此是最不可能有数据错误的最准确的数据捕获位置)以恢复数据的训练信号,一个空置字节信号,它是在数据未被接收时被宏接收的预定空置数据模式(idle data pattern)的,一个指令宏在双数据速率方式下操作的DDR方式,以及一个是寻找最佳数据或空置眼的约束参数的最小距离。其它输出信号包括,指示空置模式的有效接收的有效空置信号,一个指示已经检测到最佳眼位置和参数的眼_找到信号,一个指示最佳眼位置被锁定的锁定信号,以及一个指示最佳眼位置由于离多抽头数字延迟线的一端太近而处于被丢失的危险中的警告信号。
参考图3、4、5、6和7进一步解释图1的宏。
接收宏中的延迟在7和12个位时间(bit times)之间,视数据的字节相位(byte phase)而定。通过跳过字节输出,可以将延迟削减到5至6个位时间。对于数据内容可以被忽略的信号再驱动(redriving)来说,这是一个合理的方法。
图2是一个数据发送宏块,其接收500Mhz 1字节宽的数据输入,并生成每个是2Gb/s串行数据的两个数据流的数据输出,该数据输出被在单向或SiBiDi(并发双向)差分数据链路上传送,这在下面说明,然后数据被输入到图1的数据捕获宏。另外的一个输入是字节有效信号,它指示一个有效的数据信号正在被接收并要被发送,这与空置信号不同;另外的输入是一个1GHz时钟信号和一个把数据发送宏复位到某个已知状态的复位信号。
图3、4和5表示数据接收和捕获。捕获数据的方法是沿快速抽头延迟线(见图3、4和5)发送数据位,并用本地时钟采样所有的抽头。将每个抽头与其邻居(见图3、5)比较,看看是否相同。这些比较综合起来形成一个时钟定时的串,该串与以前的时钟定时的串组合起来生成一个能被用来确定最佳采样点的历史。可以通过从历史串中(见图5,寄存器A、B、C、D)查找那里的数据在延迟抽头之间不曾改变的区域而找出最佳采样点,它们在本文中被称为“眼”。历史被定期地更新,例如每隔一个本地时钟就更新。定期更新弥补了变化的参数,诸如不同部件中的温度或电压的变化。还将有三个额外的不常被更新的“眼”流水线化的寄存器(见图5,寄存器B、C、D)。这允许一种具有可编程的持续期间并且不受被隔离位错误的影响的捕获方案。持续时间可以被设置得任意长,但是必须不短于为可靠地采样数据边沿所需的最大时间。为了容纳快于本地时钟周期的位采样时间,用时钟的两个边沿来捕获DDR数据(见图3、4)。时钟的每个边沿有其自己相关联的捕获寄存器和独立的逻辑来寻找最佳眼。这个技术因此大大地免于本地的和发送端时钟占空度(duty cycle)的不对称的影响。
由于历史寄存器将改变,最佳采样点也将移动。这个更新应当在比持续时间短的时间范围进行。这个功能是在直方图和采样点确定单元中进行的。
数据捕获的方法牵涉到一个两阶段初始化,它或者在系统复位后或者在单独的“训练”信号被确定后进行。
阶段1:在复位或“训练”信号(见图1、2)后,历史寄存器被刷新,在所有3个“眼”寄存器中获取一个新的历史模式(pattern)。在获取一个有效的“眼”寄存器集合后,通过状态机序列(见图9、10)确定最佳采样点。这是按时钟的每个相位独立地进行的。这些采样点然后被使用,并在每一个系统时钟将两个位传送到下一个阶段。
阶段2:两个位被接收并被插入到一个移位寄存器中,该移位寄存器与一个筒式位移器一起被用于允许适当的半字节(1/2字节或4位)边界(见图7)。这些边界是通过在初始化序列期间使用唯一性的半字节模式而找到的。
时钟定时的延迟线块
图4和5表示一个时钟定时的延迟线的实现,其中串行数据进入左边的反相器I,经过组合的反相器串,其中每个反相器增加一个延迟增量。在每个反相器输出端有两个寄存器锁存器FF,见图3-5,一个被时钟的正边沿定时,另一个被负边沿定时。这允许该逻辑以两倍的时钟速度捕获数据。一组锁存器捕获正时钟相位的数据眼,而另一组锁存器捕获负时钟相位的数据眼。两种眼被单独地检测和采样,这样,每个时钟相位需要一个单独的、如图5中所示的电路。独立的正、负时钟定时的逻辑电路导致对时钟信号的周期工作循环、尤其是本地的和发送端时钟工作循环的不对称的很小依赖性。
该模块有在输入接收器之后的高速信号作为其输入。该模块的唯一的其它输入是向所有触发器扇出相等时间的本地时钟。该模块的输出只有N+1个时钟定时的延迟抽头D[0:N]。每个抽头约50ps,在上升边沿和下降边沿之间具有较好的匹配。下降延迟与上升延迟之间所需的匹配大约是20-30%。我们要求时钟对所有相邻锁存器是约10ps内的相等时间。这可以用抽头的时钟线而不是时钟树更好地实现。这些数据捕获电路中的许多都是可以实现的,因此功率是关键。
该模块是布局关键的,因此要求额外的布局考虑。
为了测试芯片的目的,将部件的数量固定在32。这给出大约1.6n秒的额定总延迟,这足以捕获频率下降到大约1Gb/s的DDR数据。
参看图3和5,特别是图5,每个寄存器FF(触发器)被导向到一个异或门XOR,该异或门也接收来自延迟线中下一个寄存器FF的输入。参看延迟线的第一和第二级,由于数据位在进入第二寄存器之前被第二反相器倒置,如果数据位不经过在两个连续级之间的转换,则第一和第二寄存器将保持相反的值,使得第一级XOR将产生一个1,指示没有级与级之间的转换。相反,如果数据位在两个连续级之间经过转换,则第一和第二寄存器将保持相同的值,使得第一级XOR将产生一个0,指示有级与级之间的转换。
图5的系统正在沿着时钟定时的延迟线搜寻一个稳定位置或眼,以检测数据不经历转换处的数据,这是由来自一系列的连续XORs的一系列的1输出指示的,这样就应当将数据检测眼对准到一系列1的中间。每个XOR的输出被输入到一个AND门,AND门的输出被输入到寄存器A,寄存器A是一系列FF(触发器)历史寄存器A、B、C和D中的第一个。第一寄存器A被以满1Ghz时钟速率采样,并以较慢的时钟速率(例如>1ms(微秒))定期地被一个“设置到高”的信号复位到高,而寄存器B、C和D则以与“设置到高”相同的时钟逻辑速率被采样和更新。
寄存器A被时钟以a>1ms的时钟速率设置或复位到高1输出,在复位后,如果XOR的输出是1,则AND门的输出是1,且寄存器A的输出是1,它随后(被寄存器B、C和D的负载(1d)输入端的更新信号)顺序地被时钟定时地(clocked)通过寄存器B、C和D。相反,如果XOR的输出是0,且寄存器A的输出被设置或复位至1,则AND门的输出是0,且寄存器A输出一个0,它随后被顺序地时钟定时通过寄存器B、C和D。该安排使得一旦寄存器A的输出是0,则它保持为0,一直到寄存器被“设置到高”信号复位,使得寄存器B、C和D的每个的输出被顺序地时钟定时至0,并保持为0,一直到寄存器A被“设置到高”信号复位到1。
历史寄存器B、C和D的每个的输出是一个3之2(2 of 3)逻辑元件的输入,3之2逻辑元件在其3个输入的任何2个是1时产生一个1或高(H)输出。3之2逻辑的目的是补偿通过数字延迟线的数据流中的可能错误地导致3个输入的其中之一为0的假信号(glitches),使得尽管有数据假信号也能产生准确的输出。此外,可以计算3之2逻辑检测的出现次数并加以报告,作为正在被接收的数据的完整性的一个指示。H输出(0至N-1)是图6C中所指示的MUX的输入。H输出中的一个串1一般表示是数据采样眼的一个好候选,应当被置于该串1之中的中心。
图3表示一个级内2位宏块,其大部分已经结合图5作了描述。直方图(histogram)和采样点确定单元包括图5的AND门、历史寄存器和3之2逻辑以及图6C的MUX以及图9和10的状态图。宏块也包括一个MUX,它接收数字延迟线的FF寄存器的所有输出作为输入,并在图5的底部的信号H[0]、H[1]、H[N-1]的控制下选择性地将这些输入作为数据输出而传送出去。
历史块
图5表示一个历史逻辑块,它被表示为时钟延迟线块的延伸,并显示一个时钟相位。另一个时钟相位需要一个相同的电路。图5中所示的反相器串对两个时钟相位是共同的。
采样点块
采样点块最容易用一个状态图来描述,状态图确定两个最佳采样点,每个时钟相位对应一个。由于采样点不是被频繁更新的(更新之间至少有50个时钟),我们可用一个时钟过程来寻找最佳采样点。
图6A和6B表示数据和历史样本MUXs,采样MUXs分别具有D_even[N:0]和D_odd[N:0]的输入,每个输入对应于图3底部所示的MUX,每个分别对应先导边沿时钟相位和下降边沿时钟相位,而图6C的MUX则如前所述地接收图5的底部的信号。
组合两个2位宏
图7表示要被用作能在每个时钟周期捕获4个数据位的配对链路的串行位组合和字节对准逻辑,它含有两个2位宏(如图3中所示)并在向两个2位宏70(如图3中所示)输入的频率各为2Ghz的2个输入数据流之间寻找适当的字节对准(alignment)。这两个输入信号可被视为图1的被与适当的字节对准组合的输入信号。图3的两个2位宏的输出是两个数据流,每个速率1Ghz,它们被输入到寄存器71,后者延迟并标准化这2个数据流,这2个数据流被输入到一个12位的位移寄存器72,位移寄存器72被以半速Clk/2的时钟定时,将这2个数据流转换成500Mhz的12位宽数据流。这12位宽数据流被输入到逻辑73和筒形位移器74,筒形位移器74具有两个12位宽数据流的24位的输入,实质上在逻辑73的控制下选择24位中被适当对准的8位,以确定筒形位移器的正确的位位移。逻辑73用一个已知的训练模式(train pattern)来生成两个4位宽的、控制筒形位移器的输出。逻辑73实质上在软件的控制下通过时钟定时的延迟线不断再发送相同的已知数据训练模式,直到它知道筒形位移器的正确的位位移。筒形位移器在该逻辑的控制下选择性地挑选24位输入中的最适当对准的8位,作为字节输出传送。
状态图:
眼检测流
图8表示一个眼检测流程图中的眼检测过程的总流程,从复位80开始,把系统初始化到已知值,紧接着在框81等待足够数量的数据变换,以保证眼的干净确定。框82检查偶数眼历史寄存器中的1和0,以确定一个对应于上升沿的时钟定时数据的偶数眼,并选择一个具有最小延迟的第一眼通过时钟定时的延迟线。框83对奇数眼做相同的事,检查奇数眼历史寄存器中的1和0,以确定一个对应于下降沿的时钟定时数据的奇数眼,并选择一个具有最小延迟的奇数眼通过时钟定时的延迟线。
可能有几个不同的对应于延迟线上不同位置的偶数相位和奇数相位眼,并在检测到最小延迟眼后,流程图从框84重新循环到框82,寻找具有下一个最大延迟的下一对眼;而逻辑控制继续再循环到框82,一直到整个长度的延迟线被作了对应偶数和奇数相位的眼的检查。框84比较每个下一个检测到的眼对与最佳的以前检测的眼对,保留最佳眼对,这样,它就选择所有候选眼对的最佳眼对,这个功能由图7的逻辑73执行。
在这一点,逻辑73在框85等待一个“对准”包,这是一个已知的训练模式,诸如一个已知的位序列,用于确定此时尚未知的字节边界。在字节边界由图7中的逻辑73用对准训练模式确定之后,然后框86(它也对应于逻辑73)设置对准输入到筒形位移器,用以对准筒形位移器74,选择和传送正确对准的8位作为字节输出,并且逻辑73也生成锁定的输出信号。筒形位移器于是准备好在正常的数据接收期间传送8个正确对准的位作为字节输出。
框87指示数据采样眼是不断被更新的。一个优选的再对准在现有的偶数和奇数数据采样点处开始,然后检查现有眼的左右,以确定左眼边和右眼边,然后在偶数和奇数相位眼的左边和右边之间再对准偶数和奇数相位眼的中心,如结合图9所解释的那样。
训练眼检测的状态图
图9表示两个2位宏状态图的第1图,该图表示在眼位置样本点正被确定期间的相位的状态流,总体对应于图8的框82和83。
在图9中,对应于图5底部输出的图6C的对MUX的H[N-1:0]输入被顺序采样并逐一检查,作为图6C的MUX的被传送的输出Hsamp。第一位H[0]要么是0,要么是1,0指示在眼的外部数据变换(transition),1指示眼内不可能有数据变换;第一位H[0]被图9的步骤序列检查,其中0被显示为Samp(样本)=0,1被显示为Samp=1。在第一位H[0]被图9的所有步骤S0-总结检查后,第二位H[1]通过相同的步骤序列被检查,如此等等,直到最后一位H[N-1]被检查。
两个两位宏状态图之一在图9中的状态如下所述:
·S0是复位状态。在复位活动期间,控制依然在这里。
·S1是初始化状态。在复位被释放之后,控制在这里等待,直到一个更新计数器到时,然后,如果samp=0(表示图5的被检查的抽头产生一个0,因此不在眼中),前进到S2,如果samp=1(被检查的抽头输出是1并且可能是某个眼的一部分),前进到S3。
状态S2-S3.5通过递增搜寻整个偶数延迟线历史而查找一个偶数眼,它相应于上升时钟沿定时的数据。
·S2通过从左至右递增通过偶数延迟线历史查找一个偶数眼(samp=1)。它寻找偶数眼的左端。如果找到或者如果它命中延迟线的右端,则前进到状态S3,否则停留在S2。
·S3搜寻偶数眼的右端,仍然搜寻,直到它发现samp=0。Samp=1期间控制留在S3中,因为它在眼内。当发现smap=0时,控制进到S3.5,这是控制在某些情况下正确工作所必需的延迟状态。
·S3.5立即转换到S4。
状态S4-S13检索对应于下降时钟边沿时钟定时的数据的奇数眼,对奇数眼的搜寻在被检测的偶数眼的中心开始,比对偶数眼的搜寻更加复杂。
·S4开始搜寻奇数眼。对于正常的方式,如果奇数眼samp=0,它前进到S7,否则samp=1,它前进到S5。Samp=0意味着奇数眼在奇数延迟线历史中不与偶数眼对准,正常的策略是向左和向右搜索,挑选最接近的奇数眼。有两个可替代方式。控制进到S13的,则向右搜索;控制进到S12的,则向左搜索。
·S5意味着奇数眼与偶数眼是对准的,且初始样本点已经在奇数眼中。因此这个状态通过递减一个样本计数器(用于选择数据点的)从初始样本点向左搜索,一直到它找到奇数眼的左端或者延迟线的左端。然后,控制进到S6。
·S6向右搜索,寻找奇数眼的右端。当它找到奇数眼的右端或者延迟线的右端时,控制进到总结状态,该状态是步骤S13之后搜索的结束的状态,数据样本计数器在这里被设置得对应于偶数和奇数眼的正常处理。
·S7意味着奇数眼与偶数眼是不对准的,且初始样本点在噪声区中任何眼之外。这个状态通过递减样本计数器向左搜索一个匹配的奇数眼。当samp=1时,它已经找到一个奇数眼的右边,它把该右边记在MAX(右边寄存器)中,然后,控制进到S8。或者,它到达延迟线的左端都没有找到左奇数眼,在这种情况下,控制进到S11。
·S8旨在搜索一个不对准的右奇数眼。它在samp=0期间不断搜索,一直到samp=1,这表示一个右奇数眼的左端被找到并被记在MIN(左边寄存器)中,然后,控制进到S9。如果到达延迟线的右端都没有发现samp=1,则没有右眼,因此控制直接进到S10中的左眼处理。
·S9中比较MIN和MAX与右眼的距离。如果MIN较近,控制进到S6。如果MAX较近,控制进到S10。
·S10搜索奇数眼的左端。在samp=1期间,控制保持在S10。当samp=0或者到达到达延迟线的左端时,控制传送到总结。
·S11在没有左奇数眼时搜索一个不对准的右奇数眼。在samp=1期间,控制保持在S11。samp=1时,控制进到S6。如果在发现samp=1之前到达延迟线的右端,则没有奇数眼。这是一个错误条件,由警告指示器检测并指示。
·S12搜索延迟线中偶数眼左边的不对准的奇数眼。在samp=0期间,控制保持在S12。samp=1时,控制进到S10。如果在发现samp=1之前到达延迟线的左端,则没有左眼,然后,除非控制是从S13进入到S12的—此时没有奇数眼,否则控制选择在S13中向右查找。这是一个错误条件,由警告指示器检测并指示,然后控制进到总结。
·S13搜索延迟线中偶数眼右边的不对准的奇数眼。在samp=0期间,控制保持在S13。samp=1时,控制进到S6。如果在发现samp=1之前到达延迟线的右端,则没有右眼存在,然后,除非控制是从S13进入到S12的—此时没有奇数眼,否则控制选择在S12中向左查找。这是一个错误条件,由警告指示器检测并指示,然后控制进到总结。
·总结是眼数据采样点被确定用于正常操作时的状态。
且有眼样本点再对准的正常操作的状态图
图10表示两个2位宏状态图的第2图,该图表示在正常数据捕获操作期间的重复的状态流。在这个阶段(phase),逻辑要捕获串行数据并将其转换到字节并行格式。
图10表示正常数据捕获运行状态。控制一般驻留在RUN0。完成更新(done update)信号由一个时钟计数器控制定期地使控制能进入RUN1。状态RUN1和RUN2递增和递减到偶数眼的两极,它们是可以改变的。记住新的极限。类似地,状态RUN3和RUN4递增和递减到奇数眼的两极,且极限被记住。状态RUN5使用RUN1至RUN4的发现来计算新的数据采样点,新的数据采样点被锁存起来供使用。控制然后返回到RUN0,进入下一个更新周期。
SiBiDi
本发明也提供一种硬件机构,用于为最佳双位并发双向信令自动地调节传输延迟。
在希望接收的信号不改变时如果需要被减除(subtracted)的信号改变,则所传输的信号的SiBiDi(并发双向)IO单元“减除”(subtraction)是更成功的。这可以通过按适当的量(时钟周期的某个分数)延迟传输而实现。但是在一端延迟传输意味着数据将延迟到达另一端。于是另一端的电路将只好重新调整它的传输延迟,以便其自己的“减除”最优。因此需要寻找一对延迟设置,每个对应于连线两端的每端的电路,以便“减除”对两端都给出同样好的质量。
此外,为了实现这一点,这两端需要交换关于对应于另一端上的传输延迟的每个选择的本地减除(subtraction)的质量的信息。但是这个信息不能用正在被优化的相同信令传输技术来交换。如果某延迟设置不好,它会破坏所发送的描述它如何不好的数据。本发明描述一种为最佳的双位SiBiDi信令自动地调节传输延迟的硬件机构。
图11表示的第一实施例中,两个差分数据线连接一对相同节点1、2,并且其中每个节点都有一个唯一的ID,每个节点与一个2位发送器CPU和一个2位接收CPU一起操作。
该方法利用“安全通信”设置阶段来传送每个传输延迟集合的结果。通过使用为IO单元的单向设置(其中仅仅为了使噪声最小而在一个方向上传输)并且只使用该单元的一个1位部分,将2位发送器/捕获单元用于安全通信。
图11表示一对结点之间的电连接,并显示了两个差分数据线(每个由两个连线组成能实现差分信令)。箭头表示在安全通信设置阶段的单向信号的方向。否则,在正常通信期间的电连接是双向的。
Se1 A、B框是MUX,其中Se1=0选择从2位发送器单元到2位捕获器单元的上路径,Se1=0选择下路径。
I)将READY(准备好)寄存器(未予示出)设定为0。
1)IO单元A=单向发送器方式
IO单元B=单向接收器方式
Se1 A=1(选择上路径)
Se1 B=1(选择下路径)
2)设定发送器延迟方式为零延迟。
3)开始训练,上文关于寻找和检测好数据捕获眼时已经作了描述。
4)在好的数据捕获眼中保存安全单向设置阶段通信的眼参数
5)发送ID的第一位。在这个实施例中,节点1和2的每一个的独有Ids确定哪一个节点是主节点,哪一个节点是从节点,较高的ID自动是主节点。
等到接收到另一个节点的第一ID位。
比较第一ID位。
如果相等则重复。
如果本地的小于邻居的则设定PRIORITY(优先级)=0
如果本地的大于邻居的则设定PRIORITY(优先级)=1
6)IO单元A=SiBiDi方式
IO单元B=SiBiDi方式
Se1 A=0
Se1 B=0
7)发送器延迟方式=0
开始训练
寻找眼
保存本地眼参数
8)至如步骤1的安全方式
9)发送你的本地眼参数至另一个节点。
接收另一个节点的眼参数。
10)比较参数并保存最小的参数
11)比较当前最小的眼参数与以前的最小眼参数并将两者中的最大参数与该最大参数的本地发送器延迟方式一起保存。这个方式被视为最佳方式并被记为OPT_SENDER_MODE(最佳发送器方式)。
在这个第一实施例中,假设一个8抽头的延迟线,这样每个节点在8个步骤中就可能有范围从零延迟到最大延迟的8个不同延迟,因此可能的组合数是8*8=64。换言之,对应一个节点处的8个延迟的每一个,在第二节点上有8个可能的延迟。因此必须测试64种可能的组合来选择最佳组合。步骤12一次一个地简单循环通过所有64个组合。
返回到步骤6),用以下的发送器延迟方式序列重复总共64次:
如果PRIORITY=0则邻居首先改变方式。本地序列是:
0,8步
1,8步
2,8步
3,8步
4,8步
5,8步
6,8步
7,8步
如果PRIORITY=1,则本地序列是:
0,1步
1,1步
2,1步
3,1步
4,1步
5,1步
6,1步
7,1步
重复8次。
12)如6)中那样转至SiBiDi,其中发送器延迟方式=OPT_SENDER_MODE(最佳发送器方式)。
13)设定READY寄存器至1以表示系统被优化并准备好正常的SiBiDi通信。
如果在任何步骤有故障,以至达不到步骤14,则该节点已经发生故障。可以通过READY寄存器的内容识别故障节点。
图12表示一个在两个节点1、2之间的SiBiDi电通信的第二实施例,其与第一实施例的一个区别在于其中一个差分数据线连接这些节点。第二个区别是该实施例对1位数据操作,而不是像图11的第一实施例中那样对2位数据操作。另一个区别是,在本实施例中,主节点和从节点是由控制软件指定的,而不是根据所分配的Ids指定的。本实施例也假设一个16抽头的延迟线而不是如图11中那样的8抽头延迟线。
概述:
初始对准过程(IAP)是一个步骤序列,每个端口的每个同步信号由其确定最佳传输延迟线设置(为其级外(outstage))。美国临时专利申请序列号60/271124中描述了一种具有按三位晶格连接的32*32*64个节点的、每个节点连接到6个相邻节点的大规模并行超级计算机。每个节点有6个端口,每个端口20个同步信号,使得超级计算机的一个节点处的一个节点计算机芯片上的所有120个同步信号(6个端口*20个同步信号)都能独立地执行个别训练。所有训练可以并行地发生,或者只是一次一个。(都在软件的控制下)。训练是同时在SiBiDi链路的两个方向上进行的,这允许必要的ISI(符号干涉间)和近端噪声(与环境噪声)。参看图12,IAP序列的高级流程是:
1.软件动作:通过写每个节点计算机芯片的IAP控制寄存器而把同步链路的一端标识为“主”,另一端标识为“从”。
2.硬件动作:主端(图12中的A端)与从端(图12中的B端)通信,以开始训练。这是有些复杂的,因为必须在一个链路在被完全训练之前跨链路传送信息。(见下文的”跨未训练链路的通信”)
3.硬件动作:一个链路的每端都有一个遍历(runs through)所有可能的延迟线设置并比较结果以发现最佳延迟线设置的状态机(如图13A和13B中所示)。改变一端上的延迟线设置影响两端上的眼,因此系统需要遍历所有16*16个组合。(注:级外(数据发送)延迟线有16个设置,如前文所解释的那样)。对于每个延迟线训练循环,级内(数据捕获)宏从另一端接收一个伪随机数据流并寻求找到眼和表示眼大小信息供分析。
4.软件动作:读IAP状态寄存器以确定训练的成功/失败。可以通过软件可访问的其它链路特定的状态寄存器读取精确的延迟线设置和眼大小范围。
链路训练序列:
图13A和13B的状态机表示在同步Si-Bi-Di连接的训练中由节点计算芯片采取的步骤。链路的每端使用下列寄存器:
DTR-延迟抽头寄存器-控制级外中的延迟线。(有效设置是0-15)。在IAP序列期间使用两个额外的“工作”拷贝:Mst-DTR和S1v-DTR。
LBDTR-本地最佳延迟抽头寄存器-在训练期间保存对应于最佳要看见的眼大小的DTR值。在训练结束时,LBDTR的内容被永久地装载到DTR中。
MBESR-互相最佳眼大小寄存器-在训练期间保存最佳要看见的眼大小(根据训练中给定步骤A端和B端眼大小的最小者)。
在链路训练序列期间,噪声生成器宏能被启动作为人工添加更多噪声的一种方式以模拟一个非常嘈杂的环境以及保证与眼的大小有关的更多的纵向电压范围。软件通过在IAP控制寄存器中写”开始”位开始IAP序列,并确定芯片为主(端A)或从(端B)。
跨未训练链路的通信:
在链路被完全训练之前有必要在链路的两端之间进行通信。为确保最可靠的数据传输,采用下列过程:
1)一次只在一个方向发送数据。
2)以较低速率发送数据。可采用1∶8的比率(即为8位时间保存“1”或“0”)。
在训练之前,链路的两端没有可预测的相位(phase)关系。因此,如果一端发送”110011”,并且如果样本点与交换数据对齐,则数据可能被接收为”111011”或”100011”等等。传输速率要低的足以检测到连续样本上的稳定数据,并且不与位流内的在0->1或1->0变换期间发生的错误采样相混淆。
在“主”和“从”之间发送的“命令”有一长串的前导“1”和后继的8个0。命令看起来是:……许多1,8个0,命令的第一位的8位时间,命令的第二位的8位时间,……命令的最后一位的8位时间。接收端检测到1->0转变并估计8位时间窗的中间。(实际上,这可以是8位时间窗的第3、第4、或第5位;它们全部都应当稳定且有效)。此后,对每一个第8位采样,以解译命令/信息。
参看图13A和13B,所有命令都以大写字母指示,图13B中的框0、5、6、9、12-14中的“相同”二字表示它们分别与图13A中对应的框的意思相同。
参看图13A,这是主端,在阶段(0)等待一个开始软件命令,然后复位寄存器DTRs、LBDTR、MBDTR。在阶段(1),主端等待接收来自从端的BEGIN(开始)命令,如果不,则向从端发送一个BEGIN命令,并等待来自从端的BEGIN答复。如果不,则主端等待并向从端再发送BEGIN。如果主端接收到来自另一个主端的BEGIN,则中断。
在阶段(4),如果是,主端发送一个TRAIN(训练)命令,指示主端准备开始同步,然后暂停。
在阶段(5),主端传送一个随机数据位流,以便能捕获眼。
在阶段(6),主端等待眼的捕获并评估关于每个眼的信息,诸如眼大小。
在阶段(7),主端等待接收关于眼大小的数据,如果不,等待(例如1微秒)并发送关于眼大小的数据,再次等待接收关于眼大小的数据。
接收到时,主端更新MBDTR和LBDTR寄存器并递增Mst-DTR,如果重叠(计数器溢出)则递增SLv-DTR寄存器,对所有256个组合重复阶段(4)-(9)。
如果是,在阶段(10),主端发送一个END(结束)命令,以结束眼训练。
在阶段(11),主端等待接收来自从端的END命令。
如果是,在阶段(12),主端用LBDTR装载DTR,然后复位级内,这是一个设定(set-up)节点。
在阶段(13),最优眼参数被用来传送随机数据。
阶段(12)和(13)用最优眼参数来传送随机数据,然后最优眼参数被重新评估,如果成功则被锁定就位。
在阶段(14),主端断言一个“复位假信号”(Reset Glitch)信号,以复位并重新评估数据捕获,对照最小眼大小数据检查眼大小,以及更新IAP状态寄存器。
图13B的从端的操作从上述对主端的描述应当是明显的。
尽管本文详细描述了本发明的用于高速信令的数据捕获技术的若干实施例及变体,显然,对于本领域的那些熟练人员来说本发明的内容和教导将揭示许多可替代的设计。
Claims (5)
1.一种用于为两个节点之间的最佳双位并发双向信令自动地调节传输延迟的硬件机构,其在每一个节点中包括:
发送器,其在一个设定序列期间,在通信线路上以单向通信方式向另一个节点发送参数设置数据;
捕获器,其在所述设定序列期间,从通信线路以单向通信方式接收另一个节点发送的参数设置数据。
2.权利要求1的硬件机构,其特征在于,在设定序列期间,所述发送器以比在并发双向信令期间更低的数据速率发送数据,其中使用1∶n的比率,保持“1”或“0”持续n位时间。
3.权利要求1的硬件机构,其特征在于,每个节点在n个步骤中可能有范围从最小或零延迟到最大延迟的n个步级的不同延迟,因此延迟的可能的组合数是n*n,以至选择一个最佳延迟组合要测试n*n种可能的组合,该机构每次一个地循环经过所有n*n个组合。
4.权利要求1的硬件机构,其特征在于,一个差分数据线连接所述两个节点,所述发送器是1位发送器CPU,所述捕获器是1位捕获CPU。
5.权利要求1的硬件机构,其特征在于,两个差分数据线连接所述两个相同节点,所述发送器是2位发送器CPU,所述捕获器是2位捕获CPU。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27112401P | 2001-02-24 | 2001-02-24 | |
US60/271124 | 2001-02-24 | ||
CNB028054407A CN1303774C (zh) | 2001-02-24 | 2002-02-25 | 数据捕获方法 |
PCT/US2002/005568 WO2002069552A1 (en) | 2001-02-24 | 2002-02-25 | Data capture technique for high speed signaling |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028054407A Division CN1303774C (zh) | 2001-02-24 | 2002-02-25 | 数据捕获方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1901439A CN1901439A (zh) | 2007-01-24 |
CN1901439B true CN1901439B (zh) | 2011-04-20 |
Family
ID=68499831
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100934308A Expired - Fee Related CN1901439B (zh) | 2001-02-24 | 2002-02-25 | 用于高速信令的数据捕获技术 |
CNB028054407A Expired - Fee Related CN1303774C (zh) | 2001-02-24 | 2002-02-25 | 数据捕获方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028054407A Expired - Fee Related CN1303774C (zh) | 2001-02-24 | 2002-02-25 | 数据捕获方法 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7418068B2 (zh) |
EP (1) | EP1378090B1 (zh) |
JP (1) | JP3870162B2 (zh) |
KR (2) | KR100546971B1 (zh) |
CN (2) | CN1901439B (zh) |
AT (1) | ATE367690T1 (zh) |
CA (1) | CA2436412A1 (zh) |
DE (1) | DE60221235T2 (zh) |
IL (1) | IL157513A0 (zh) |
WO (1) | WO2002069552A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010097375A (ko) * | 2000-04-21 | 2001-11-08 | 이희창 | 빙정석 대용품 제법 |
US7490275B2 (en) * | 2001-02-02 | 2009-02-10 | Rambus Inc. | Method and apparatus for evaluating and optimizing a signaling system |
US7076377B2 (en) * | 2003-02-11 | 2006-07-11 | Rambus Inc. | Circuit, apparatus and method for capturing a representation of a waveform from a clock-data recovery (CDR) unit |
US7627029B2 (en) | 2003-05-20 | 2009-12-01 | Rambus Inc. | Margin test methods and circuits |
US7590175B2 (en) * | 2003-05-20 | 2009-09-15 | Rambus Inc. | DFE margin test methods and circuits that decouple sample and feedback timing |
US7408981B2 (en) * | 2003-05-20 | 2008-08-05 | Rambus Inc. | Methods and circuits for performing margining tests in the presence of a decision feedback equalizer |
KR100617387B1 (ko) * | 2004-02-18 | 2006-08-31 | 광주과학기술원 | 비동기식 이중선 버스를 이용한 데이터 전송 장치 및 그방법 |
US7983142B2 (en) | 2004-03-30 | 2011-07-19 | Intel Corporation | Apparatus, systems, and methods for the reception and synchronization of asynchronous signals |
US7924909B2 (en) * | 2004-06-02 | 2011-04-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for interference cancellation in wireless receivers |
JP4533715B2 (ja) * | 2004-10-07 | 2010-09-01 | 川崎マイクロエレクトロニクス株式会社 | 位相比較器 |
CA2595598A1 (en) * | 2005-02-04 | 2006-08-10 | Cbl Systems Llc | Redundant ethernet packet network management |
US7970087B2 (en) * | 2005-04-06 | 2011-06-28 | Freescale Semiconductor, Inc. | Eye center determination system and method |
JP4718933B2 (ja) | 2005-08-24 | 2011-07-06 | 富士通株式会社 | 並列信号のスキュー調整回路及びスキュー調整方法 |
US7587015B2 (en) * | 2006-02-15 | 2009-09-08 | Verigy (Singapore) Pte. Ltd. | Asynchronous digital data capture |
JP2007248379A (ja) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | 半導体装置及び半導体装置のテスト方法 |
US7889824B2 (en) * | 2006-09-28 | 2011-02-15 | Intel Corporation | System and method for alignment of clock to data |
US8108738B2 (en) * | 2007-06-26 | 2012-01-31 | International Business Machines Corporation | Data eye monitor method and apparatus |
US7661084B2 (en) * | 2007-08-17 | 2010-02-09 | International Business Machines Corporation | Implementing memory read data eye stretcher |
US7703063B2 (en) * | 2007-08-17 | 2010-04-20 | International Business Machines Corporation | Implementing memory read data eye stretcher |
JP2009104300A (ja) * | 2007-10-22 | 2009-05-14 | Denso Corp | データ処理装置及びプログラム |
US8208521B2 (en) * | 2007-12-31 | 2012-06-26 | Agere Systems Inc. | Methods and apparatus for detecting a loss of lock condition in a clock and data recovery system |
US8428195B2 (en) | 2007-12-31 | 2013-04-23 | Agere Systems Llc | Methods and apparatus for detecting and decoding adaptive equalization training frames |
US8121239B2 (en) * | 2008-02-11 | 2012-02-21 | Intel Corporation | Unidirectional sweep training for an interconnect |
CN102077493B (zh) * | 2008-04-30 | 2015-01-14 | 惠普开发有限公司 | 故意偏斜的光学时钟信号分发 |
EP2293199A4 (en) | 2008-06-03 | 2012-04-25 | Fujitsu Ltd | INFORMATION PROCESSOR AND ITS CONTROL METHOD |
US9008196B2 (en) * | 2011-04-28 | 2015-04-14 | International Business Machines Corporation | Updating interface settings for an interface |
US9153198B2 (en) * | 2012-09-25 | 2015-10-06 | Ati Technologies Ulc | Method and device for link over-training |
JP6098171B2 (ja) * | 2013-01-09 | 2017-03-22 | 富士通株式会社 | 信号処理回路 |
TWI514775B (zh) * | 2013-07-22 | 2015-12-21 | Realtek Semiconductor Corp | 時脈邊緣偵測裝置與方法 |
US9660656B2 (en) * | 2015-04-15 | 2017-05-23 | Sandisk Technologies Llc | Delay compensation |
KR102645150B1 (ko) * | 2016-12-30 | 2024-03-07 | 엘지디스플레이 주식회사 | 디스플레이 인터페이스 장치 및 그의 데이터 전송 방법 |
US10230360B2 (en) * | 2017-06-16 | 2019-03-12 | International Business Machines Corporation | Increasing resolution of on-chip timing uncertainty measurements |
CN110196825B (zh) * | 2019-05-20 | 2020-11-20 | 中国科学院微电子研究所 | 并行数据同步发送的方法及系统 |
CN112013506B (zh) * | 2019-05-31 | 2022-02-25 | 青岛海尔空调电子有限公司 | 用于通讯检测的方法及装置、空调 |
US10784874B1 (en) * | 2020-02-05 | 2020-09-22 | Intel Corporation | All-digital voltage monitor (ADVM) with single-cycle latency |
CN113468095B (zh) * | 2021-07-07 | 2023-12-15 | 西北核技术研究所 | 高速串行传输数据相位对齐方法、存储介质及终端设备 |
CN117009267B (zh) * | 2023-10-07 | 2024-01-30 | 成都博宇利华科技有限公司 | 源同步数据流中插入时间信息的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459766A (en) * | 1993-04-05 | 1995-10-17 | U.S. Philips Corporation | Digital phase-locked loop |
CN1199967A (zh) * | 1997-05-08 | 1998-11-25 | 日本电气株式会社 | 用于控制异步电路间数据传输的同步电路控制器 |
US5844908A (en) * | 1996-11-14 | 1998-12-01 | Alcatel Network Systems, Inc. | Digital delay system and method for digital cross connect telecommunication systems |
US5917364A (en) * | 1996-12-25 | 1999-06-29 | Nec Corporation | Bi-directional interface circuit of reduced signal alteration |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821296A (en) * | 1987-08-26 | 1989-04-11 | Bell Communications Research, Inc. | Digital phase aligner with outrigger sampling |
US5144525A (en) * | 1990-09-27 | 1992-09-01 | Tektronix, Inc. | Analog acquisition system including a high speed timing generator |
DE69218999T2 (de) * | 1991-05-01 | 1997-10-23 | Motorola Inc | Breitbandiger digitaler Phasenausrichter |
US5258933A (en) * | 1992-08-27 | 1993-11-02 | Quantum Corporation | Timing control for PRML class IV sampling data detection channel |
US5491722A (en) * | 1992-12-21 | 1996-02-13 | Communications Technology Corporation | Eye pattern margin measurement and receiver stress detection device |
US5642386A (en) * | 1994-06-30 | 1997-06-24 | Massachusetts Institute Of Technology | Data sampling circuit for a burst mode communication system |
US5729597A (en) * | 1995-05-16 | 1998-03-17 | At&T Corp | Service and information management system for a telecommunications network |
US5852600A (en) * | 1995-06-07 | 1998-12-22 | Mci Communications Corporation | System and method for resolving substantially simultaneous bi-directional requests of spare capacity |
US5968180A (en) * | 1997-09-30 | 1999-10-19 | Intel Corporation | Data capture circuit for asynchronous data transfer |
KR100261295B1 (ko) * | 1997-12-03 | 2000-07-01 | 이계철 | 준안정이 고려된 디지털 위상 정렬장치 |
US6108794A (en) * | 1998-02-24 | 2000-08-22 | Agilent Technologies | Signal comparison system and method for improving data analysis by determining transitions of a data signal with respect to a clock signal |
JP3767997B2 (ja) | 1998-02-27 | 2006-04-19 | 沖電気工業株式会社 | ビット位相同期回路 |
US7206397B1 (en) * | 1998-08-04 | 2007-04-17 | At&T Corp. | Method for allocating network resources |
US6112283A (en) * | 1998-08-06 | 2000-08-29 | Intel Corporation | Out-of-order snooping for multiprocessor computer systems |
US6341326B1 (en) * | 1998-12-23 | 2002-01-22 | Intel Corporation | Method and apparatus for data capture using latches, delays, parallelism, and synchronization |
US6516363B1 (en) * | 1999-08-06 | 2003-02-04 | Micron Technology, Inc. | Output data path having selectable data rates |
US6396329B1 (en) * | 1999-10-19 | 2002-05-28 | Rambus, Inc | Method and apparatus for receiving high speed signals with low latency |
US6452428B1 (en) * | 1999-11-23 | 2002-09-17 | Intel Corporation | Slew rate control circuit |
JP2001230824A (ja) * | 2000-02-18 | 2001-08-24 | Matsushita Electric Ind Co Ltd | データ受信方式 |
US6617871B2 (en) * | 2001-07-09 | 2003-09-09 | Rambus Inc. | Methods and apparatus for bi-directional signaling |
US6868134B2 (en) * | 2001-07-30 | 2005-03-15 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for recovering a clock signal from an asynchronous data signal |
-
2002
- 2002-02-25 EP EP02723233A patent/EP1378090B1/en not_active Expired - Lifetime
- 2002-02-25 CA CA002436412A patent/CA2436412A1/en not_active Abandoned
- 2002-02-25 WO PCT/US2002/005568 patent/WO2002069552A1/en active IP Right Grant
- 2002-02-25 US US10/468,992 patent/US7418068B2/en not_active Expired - Fee Related
- 2002-02-25 AT AT02723233T patent/ATE367690T1/de not_active IP Right Cessation
- 2002-02-25 JP JP2002568558A patent/JP3870162B2/ja not_active Expired - Fee Related
- 2002-02-25 KR KR1020037011092A patent/KR100546971B1/ko not_active IP Right Cessation
- 2002-02-25 IL IL15751302A patent/IL157513A0/xx unknown
- 2002-02-25 CN CN2006100934308A patent/CN1901439B/zh not_active Expired - Fee Related
- 2002-02-25 KR KR1020057021393A patent/KR100612068B1/ko not_active IP Right Cessation
- 2002-02-25 DE DE60221235T patent/DE60221235T2/de not_active Expired - Lifetime
- 2002-02-25 CN CNB028054407A patent/CN1303774C/zh not_active Expired - Fee Related
-
2008
- 2008-08-14 US US12/191,893 patent/US7817585B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459766A (en) * | 1993-04-05 | 1995-10-17 | U.S. Philips Corporation | Digital phase-locked loop |
US5844908A (en) * | 1996-11-14 | 1998-12-01 | Alcatel Network Systems, Inc. | Digital delay system and method for digital cross connect telecommunication systems |
US5917364A (en) * | 1996-12-25 | 1999-06-29 | Nec Corporation | Bi-directional interface circuit of reduced signal alteration |
CN1199967A (zh) * | 1997-05-08 | 1998-11-25 | 日本电气株式会社 | 用于控制异步电路间数据传输的同步电路控制器 |
Also Published As
Publication number | Publication date |
---|---|
KR20060002014A (ko) | 2006-01-06 |
US20040114698A1 (en) | 2004-06-17 |
IL157513A0 (en) | 2004-03-28 |
ATE367690T1 (de) | 2007-08-15 |
US20090028073A1 (en) | 2009-01-29 |
EP1378090B1 (en) | 2007-07-18 |
JP2004531117A (ja) | 2004-10-07 |
EP1378090A1 (en) | 2004-01-07 |
CN1529958A (zh) | 2004-09-15 |
KR100546971B1 (ko) | 2006-01-31 |
DE60221235D1 (de) | 2007-08-30 |
WO2002069552A1 (en) | 2002-09-06 |
EP1378090A4 (en) | 2005-02-09 |
JP3870162B2 (ja) | 2007-01-17 |
CN1901439A (zh) | 2007-01-24 |
DE60221235T2 (de) | 2008-04-10 |
CA2436412A1 (en) | 2002-09-06 |
KR100612068B1 (ko) | 2006-08-14 |
US7817585B2 (en) | 2010-10-19 |
US7418068B2 (en) | 2008-08-26 |
CN1303774C (zh) | 2007-03-07 |
KR20030080028A (ko) | 2003-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1901439B (zh) | 用于高速信令的数据捕获技术 | |
Foley et al. | Ultra-performance Pascal GPU and NVLink interconnect | |
US5768529A (en) | System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers | |
CN109791530A (zh) | 多管芯硬件处理器和方法 | |
CN102822810B (zh) | 用于自适应预测的关键字转送的集成电路和方法 | |
US7797575B2 (en) | Triple voting cell processors for single event upset protection | |
CN101031860B (zh) | 用于分配时钟信号的装置、系统和方法 | |
US20130064321A1 (en) | Methods for asynchronous serial data transmission using a synchronous serial interface | |
CN101063894B (zh) | 动态同步化处理器时钟与总线时钟前缘的方法与系统 | |
EP3340128B1 (en) | Neuromorphic core and chip traffic control | |
CN101770437A (zh) | 实现同步双端口存储器ip的并行读写的结构及方法 | |
Yu et al. | Implementation of a Multi-channel UART Controller Based on FIFO Technique and FPGA | |
JP2651473B2 (ja) | マルチプロセッサ・システムにおけるメッセージの通信制御方法 | |
US7694176B2 (en) | Fault-tolerant computer and method of controlling same | |
CN106371805B (zh) | 处理器的动态调度互联寄存器及调度数据的方法 | |
CN101303894A (zh) | 移位寄存器与移位寄存装置 | |
CN103853692A (zh) | 一种基于中断判断机制的多处理器数据通讯方法 | |
Elrabaa | A new FIFO for transferring data between two unrelated clock domains | |
JP2503847B2 (ja) | デ―タ交換方式 | |
Huang | Efficient Interconnection Network Design for Heterogeneous Architectures | |
Hong | Near-data processing on memory-centric network architecture for data-intensive workloads | |
RU2435318C1 (ru) | Адаптивное устройство управления сетью передачи информации | |
Menik et al. | A Decentralized Data Replication Approach for the Reconfigurable Robotic Information and Control Systems | |
MORGAN | NETWORKS FOR ADVANCED ARCHITECTURES | |
Culik et al. | Fault-tolerant schemes for some systolic systems |
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: 20110420 Termination date: 20210225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |