CN1493025A - 通过无开销链路级crc进行的错误隔离 - Google Patents

通过无开销链路级crc进行的错误隔离 Download PDF

Info

Publication number
CN1493025A
CN1493025A CNA028054377A CN02805437A CN1493025A CN 1493025 A CN1493025 A CN 1493025A CN A028054377 A CNA028054377 A CN A028054377A CN 02805437 A CN02805437 A CN 02805437A CN 1493025 A CN1493025 A CN 1493025A
Authority
CN
China
Prior art keywords
crc
packet
node
keep
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028054377A
Other languages
English (en)
Other versions
CN1269038C (zh
Inventor
陈东
保罗W·科特尤斯
艾伦G·加拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1493025A publication Critical patent/CN1493025A/zh
Application granted granted Critical
Publication of CN1269038C publication Critical patent/CN1269038C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/16Combinations of two or more pumps ; Producing two or more separate gas flows
    • F04D25/166Combinations of two or more pumps ; Producing two or more separate gas flows using fans
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D27/00Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
    • F04D27/004Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed 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/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • H04L7/0338Selecting 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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/70Control systems characterised by their outputs; Constructional details thereof
    • F24F11/72Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
    • F24F11/74Control 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/77Control 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/70Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating

Abstract

一种用于校验在并行处理器(10)的节点之间发送的数据包的精度的错误隔离技术。独立的CRC被保持从一个处理器被发送到另一个的所有数据。在每个校验点的结尾处,CRC被比较。如果它们不匹配,则有差错。CRC在每个校验点处被清除并且重新开始。在优选实施例中,基本的功能性是计算已在给定链路上成功发送的所有包数据的CRC。该CRC是在链路的两端进行的,由此允许对认为已被正确发送的所有数据进行独立的校验。优选的是,所有链路都具有该CRC覆盖范围,并且在该链路级校验中使用的CRC不同于在包传输协议中所使用的。如果被成功传递,该独立的校验实际上消除了在先前传输周期内错过任何数据差错的可能性。

Description

通过无开销链路级CRC进行的错误隔离
相关申请的交叉参考
本发明要求名为MASSIVELY PAPRLLEL SUPERCOMPUTER的提交于2001年2月24日的共同拥有、共同未决的美国临时专利申请序列号60/271,124的优先权,其整个内容和公开内容在此明确引入作为参考,就象在此全部提出的一样。该专利申请另外涉及提交于与之相同的日期的以下共同拥有、共同未决的美国专利申请,其每个的整个内容和公开内容在此明确引入作为参考,就象在此全部提出的一样。对“ClassNetworking Routing”的美国专利申请序列号(YOR920020027US1,YOR920020044US1(15270));对“A Global TreeNetwork for Computing Structure”的美国专利申请序列号(YOR920020028US1(15271));对“Global Interrupt and BarrierNetwork”的美国专利申请序列号(YOR920020029US1(15272));对“Optimized Scalable Network Switch”的美国专利申请序列号(YOR920020030US1(15273));对“Arithmetic Functions in Torusand Tree Networks”的美国专利申请序列号(YOR920020031US1,YOR920020032US1(15258));对“Data Capture Technique for HighSpeed Signaling”的美国专利申请序列号(YOR920020033US1,YOR920020034US1(15259));对“Managing Coherence Via Put/GetWindows”的美国专利申请序列号(YOR920020035US1(15260));对“LowLatency Memory Access And Synchronization”的美国专利申请序列号(YOR920020036US1,YOR920020037US1(15261));对“Twin-TailedFail-Over for Fileservers Maintaining Full Performance in thePresence of Failure”的美国专利申请序列号(YOR920020038US1(15276));对“Fault Isolation Through No-Overhead Link LevelChecksums”的美国专利申请序列号(YOR920020039US1(15277));对“Ethernet Addressing Via Physical Location for MassivelyParallel Systems”的美国专利申请序列号(YOR920020040US1(15278));对“Fault Tolerance in aSupercomputer Through Dynamic Repartitioning”的美国专利申请序列号(YOR920020041US1(15274));对“CheckpointingFilesystem”的美国专利申请序列号(YOR920020042US1(15279));对“Efficient Implementation of Multidimensional Fast FourierTransform on a Distributed-Memory Parallel Multi-NodeComputer”的美国专利申请序列号(YOR920020043US1(15262));对“A Novel Massively Parallel Supercomputer”的美国专利申请序列号(YOR9-20010211US2(15275));和对“Smart Fan Modules andSystem”的美国专利申请序列号(YOR920020045US1(15263))。
发明背景
发明领域
本发明涉及例如被应用于生命科学领域中的计算的分布式存储器消息传递并行计算机设计和系统软件的领域。更具体而言,它涉及支持许多并行应用所使用的全局通信的系统软件库。
背景技术
名为“A Massively Parallel Supercomputer”的临时专利申请no.60/271,124描述了包括许多计算节点和较小数量的I/O节点的计算机。这些节点由几个网络连接。具体而言是双功能树网络,其支持整数组合运算,如整数最大值和整数最小值。
在并行超级计算机中,有以消息形式从一个处理器发送到另一个的大量数据。这些消息通过标准技术如奇偶校验、crc校验等来保护以使其不受损害,其中数据的奇偶或数据的crc被包括在从一个处理器发送到另一个的数据中,由接收处理器来计算,并被比较。然而,如果在被用于计算该比较或双差错错误逸出(escape)奇偶检测等的逻辑中有故障,一些消息差错可通过机器传播而没有检测。在被描述于上述临时专利申请no.60/271,124中的机器中,存在近似64,000个处理器,其具有每微秒发送256个字节的约1,000,000个链路。即使有作为极低的位差错率的低如10-15中1个的差错率,仍将有每秒1个差错。所需的是一种简单的装置以确保在发送器和接收器之间的数据传输中不发生差错,而无需附加的计算。
发明概述
本发明的目的是改进并行超级计算机中的错误检测。
本发明的另一目的是提供用于整体并行的超级计算机的无开销错误检测的过程。
本发明进一步的目的是提供一附加装置以检测可发生于在并行超级计算机中从一个处理器到另一个处理器发送的数据的传输中的差错,而不导致在处理器之间发送附加数据的损失(penalty)所述差错。
这些和其它目的是用实施本发明的错误隔离技术来实现的。通常,依照本发明,对从一个处理器被发送到另一个并且从一个处理器被接收到另一个的所有数据保持独立的crc(循环冗余校验)。在每个校验点的结尾处,crc被比较。如果它们不匹配,则有差错。crc在每个校验点处被清除并且重新开始。
在优选实施例中,基本的功能性是计算已在给定链路上成功发送的所有包数据的CRC。该CRC是在链路的两端进行的,由此允许对认为已被正确发送的所有数据进行独立的校验。优选的是,所有链路都具有该CRC覆盖范围,并且在该链路级校验中使用的CRC不同于在包传输协议中所使用的。如果被成功传递,该独立的校验实际上消除了在先前传输周期内错过任何数据差错的可能性。
从对参照附图给出的以下详述的考虑,本发明进一步的好处和优点将变得明显,所述附图详细说明并示出本发明的优选实施例。
附图简述
图1是实施本发明的并行超级计算机的简化表示。
图2是图1的超级计算机的处理节点的方块图。
图3示出由全局组合树连接在一起的超级计算机的节点。
图4示出以环形的形式被连接在一起的超级计算机的节点。
图5是示出用于在节点链路的发送侧保持校验和的电路和过程的方块图。
图6是说明在图5的电路中发生的各个事件的相对时序的时序图。
图7是识别在图5的电路中使用的信号的表。
图8是说明用于保持crc的第二过程的方块图。
图9是示出在图8的电路中发生的各个事件的相对时序的时序图。
图10是识别在图8的电路中使用的信号的表。
优选实施例详述
图1说明实施本发明的整体并行的计算机系统10。系统10是基于216=65,536个节点12的可按升级的超计算机计算机。每个节点12是很简单的,包括单个ASIC和9个SDRIM-DDR存储器芯片。节点通过6个网络互连,该网络的最高总带宽是将节点映射到64×32×32的物理3维环形中的最近的相邻链路。实际上在这种互连中没有非对称,这是因为节点以相同的带宽和几乎相同的等待时间与在物理上关于相邻支架(rack)上的节点接近的节点通信。由此允许简单的编程模型。给节点供电的ASIC基于芯片上系统技术并结合了所有所需的功能性。它亦包含4MB的极高带宽嵌入式DRAM,其是来自最高L1高速缓存未中上的寄存器的第9级循环。节点12本身在物理上是小的,从而允许很高密度的处理。
图2是系统10的一个节点12的方块图。该节点包括两个嵌入的芯20和22,每个都具有有2.8GF目标峰值性能的双浮点芯。优选的是系统10支持虚拟切过(cut-through)路由,其将使任何树节点以低等待时间通信。还有,优选的是,存储器系统被构建用于高带宽、低等待时间存储器和高速缓冲存储器访问。节点12进一步包括预取缓冲器24和26、eDRAM 30、多端口SRAM缓冲器32、链路缓冲器34、接口模块36、DDR单元40和用于eDRAM的共享目录42。
参照图3,每个I/O处理节点12通过以50表示的全局组合树连接于例如64个计算节点。任何计算节点能以全千兆位速度来读或写RAID盘。这种二进制组合树实际上在整个机器10上延伸,从而允许以小于1usec的等待时间将数据从任何节点发送到所有其它节点(广播)或节点的子集。消息传递被支持于全局组合树上,并由每个ASIC内的第二处理器控制,从而允许类似所有对所有通信的强化操作以独立于计算节点而继续进行。该树的每个分支在发送和接收两个方向上均具有1.4GB/s或每个处理器循环2个字节的目标带宽。被构建到树中的硬件功能性是整数加法、减法、最大、最小和广播。该功能是以最低等待时间可能方式来实施的。相同的树可被用于数据的全局广播,而不是绕环载运它。
此外,物理机器体系结构被最近地结合于如以图4的52表示的3D环形。这是简单的3维最近的邻元素互连,其在边缘处被“包绕(wrapped)”。所有邻元素是等距离的,除了飞行时间差异,如在ASIC的不同支架之间所存在的,从而使得容易编写和最优化代码。最近的相邻链路目标被设定为4x的处理器速度(每个方向上2.8Gb/s)。每个节点因此支持有4.2GB/s的总带宽的6个独立双向最近相邻链路。例如,在系统10中,电路卡以2×2×2的近立方体(sub-cube)来接线,而每个支架两个的中间平面被接线为8×8×8的近立方体。整个64k机器是64×32×32的环形。
在系统10中,对从一个处理器被发送到另一个并且从一个处理器被接收到另一个的所有数据保持独立的crc,并且在每个校验点的结尾处,该crc被比较。如果它们不匹配,则有差错。优选的是,该crc在每个校验点处被清除并重新开始。
基本的功能性是计算已在给定链路上成功发送的所有包数据的CRC。该CRC是在链路的两端进行的,由此允许对认为已被正确发送的所有数据进行独立的校验。优选的是,所有链路都具有该CRC覆盖范围,并且在该链路级校验中使用的CRC不同于在包传输协议中所使用的。如果被成功传递,该独立的校验实际上消除了在先前传输周期内错过任何数据差错的可能性。该周期可以是任何时间长度,并且例如可以是至少几分钟。就数据使用而言,该技术不需要开销,这是因为它完全是另外进行的。例如,链路级CRC可在链路不运转的任何时间通过DCR来校验。方便的时间可能是在校验点期间。数据和由此的CRC的大小由网络接口的大小来确定。对于环形,可使用8位的方案,而对于树,32位的方案可能是适合的。
优选的链路级CRC在以下被讨论。一开始,可以指出,对于树网络和环形配置两者,接收侧CRC可以是相同的,并且该CRC亦可被用于环形体系结构的发送侧。然而,用于环形的发送侧链路级CRC不同于用于树的,这是因为环形将发送可能不被重新发送的包。
对于树50,并参照图5,以60表示的发送侧将基于所发送的所有数据而累计CRC。从再传输缓冲器发送的数据将不被包括,这是因为该数据将已被包括在运行的(running)CRC中。可以指出,令牌和确认应答不被包括在CRC中,而仅仅是数据包被包括在其中。
图6示出用于树的发送侧链路级上的事件的时序,而图7的表识别在该过程中所使用的信号。
对于树,第二过程被用于CRC的接收侧,而对于环形,被用于发送侧和接收侧两者。更具体而言,参照图8,接收侧将基于正确接收的所有数据而累计CRC。这亦被用于环形上的发送侧逻辑。由于我们不应在该链路级CRC中包括一个包,直到确定没有差错,因而在此使用了附加特征。正被接收并且可潜在地成为可接受的数据包(通过“Valid”信号来表示)的数据通过将其加载到运行的CRC模块64中而被包括在运行的crc中。当看到一个包的结尾并且该包已通过所有完整性检验(packet accept=“1”)时,运行的CRC模块的输出被捕获到接收侧CRC寄存器66中。这是通过“Packet Accept”信号来表示的。如果发现一个包处于差错状态或由于差错复原协议而要被忽略,则用先前存储的CRC寄存器预加载运行的CRC模块。处于控制逻辑单元68的控制下的该过程将确保CRC寄存器将包含用于在链路上被接受的所有数据的CRC。
用于输入信号的时序关系在图9中给出。可能优选的是管线输送(pipeline)“received byte”至少一个循环以满足这些时序要求。图10的表识别在该过程中所使用的信号。
尽管显然在此所公开的发明被很好地考虑以实现上述目的,将理解可由本领域的技术人员设计诸多修改和实施例,并且想要的是所附的权利要求覆盖属于本发明真实精神和范围的所有这样的修改和实施例。

Claims (18)

1.一种对从计算机系统的一个节点发送到该计算机系统的另一个节点的一系列数据包校验差错的方法,每个所述包都包括校验值,该方法包括步骤:
将数据包从计算机系统的第一节点发送到第二节点;
保持由第一节点发送给第二节点的数据包的校验值的第一crc;
保持来自第一节点被第二节点接受的数据包的校验值的第二crc;以及
在限定的时间比较第一和第二crc以确定所述第一和第二crc是否匹配。
2.依照权利要求1的方法,其中保持第二crc的步骤包括步骤:
从第一节点接收数据包;
对所接收的包检验任何差错;以及
仅接受没有差错的所接收的数据包。
3.依照权利要求2的方法,其中保持第二crc的步骤进一步包括步骤:
在运行模块中和寄存器中维持第二crc;
当数据包之一被接收时,将运行模块中的crc增加所接收的数据包的校验值;
如果所述所接收的一个数据包没有差错,则将crc从运行模块加载到寄存器中;以及
如果所述所接收的一个数据包有差错,则将crc从寄存器加载到所述模块中。
4.依照权利要求2的方法,其中:
发送步骤包括步骤:在第一节点处,在数据包被发送之前,对每个数据包检验差错;并且
保持第一crc的步骤包括步骤:将第一crc仅增加没有差错的经检验数据包的校验值。
5.依照权利要求4的方法,其中保持第一crc的步骤进一步包括步骤:
在所述寄存器和运行模块中保持第一crc;
当数据包之一要从第一节点发送时,将运行模块中的第一crc增加所述的一个数据包的校验值;
如果所述数据包之一没有差错,则将运行模块的第一crc值加载到寄存器中;以及
如果所述数据包之一有差错,则将寄存器的第一crc值加载到运行模块中。
6.依照权利要求1的方法,进一步包括在预订时间复位第一和第二crc的步骤。
7.一种用于对从计算机系统的一个节点发送到该计算机系统的另一个节点的一系列数据包校验差错的系统,每个所述包都包括校验值,该系统包括:
用于将数据包从计算机系统的第一节点发送到第二节点的装置;
用于保持由第一节点发送给第二节点的数据包的校验值的第一crc的装置;
用于保持来自第一节点被第二节点接受的数据包的校验值的第二crc的装置;以及
用于在限定的时间比较第一和第二crc以确定所述第一和第二crc是否匹配的逻辑电路。
8.依照权利要求7的系统,其中用于保持第二crc的装置包括:
用于从第一节点接收数据包的装置;
用于对所接收的包检验任何差错的装置;以及
用于仅接受没有差错的所接收的数据包的装置。
9.依照权利要求8的系统,其中用于保持第二crc的装置进一步包括:
用于保持第二crc的运行模块;
亦用于保持第二crc的寄存器;
当数据包之一被接收时,用于将运行模块中的crc增加所接收的数据包的校验值的装置;以及
控制逻辑电路,如果所述所接收的一个数据包没有差错,用于将crc从运行模块加载到寄存器中,而如果所述所接收的一个数据包有差错,用于将crc从寄存器加载到所述模块中。
10.依照权利要求7的系统,其中:
发送装置包括:在第一节点处,在数据包被发送之前,对每个数据包检验差错的装置;并且
用于保持第一crc的装置包括将第一crc仅增加没有差错的经检验数据包的校验值的装置。
11.依照权利要求10的系统,其中用于保持第一crc的装置进一步包括:
用于保持第一crc的寄存器;
亦用于保持第一crc的运行模块;
当数据包之一要从第一节点发送时,用于将运行模块中的第一crc增加所述的一个数据包的校验值的装置;以及
控制逻辑电路,如果所述数据包之一没有差错,用于将运行模块的第一crc值加载到寄存器中,而如果所述数据包之一有差错,用于将寄存器的第一crc值加载到运行模块中。
12.依照权利要求7的系统,其中第一和第二crc在预订时间被复位。
13.一种可由机器读取的程序存储设备,其确实地实施可由所述机器执行的指令的程序,从而执行用于对从计算机系统的一个节点发送到该计算机系统的另一个节点的一系列数据包校验差错的方法步骤,每个所述包都包括校验值,该方法包括步骤:
将数据包从计算机系统的第一节点发送到第二节点;
保持由第一节点发送给第二节点的数据包的校验值的第一crc;
保持来自第一节点被第二节点接受的数据包的校验值的第二crc;以及
在限定的时间比较第一和第二crc以确定所述第一和第二crc是否匹配。
14.依照权利要求13的程序存储设备,其中保持第二crc的步骤包括步骤:
从第一节点接收数据包;
对所接收的包检验任何差错;以及
仅接受没有差错的所接收的数据包。
15.依照权利要求14的程序存储设备,其中保持第二crc的步骤进一步包括步骤:
在运行模块中和寄存器中维持第二crc;
当数据包之一被接收时,将运行模块中的crc增加所接收的数据包的校验值;
如果所述所接收的一个数据包没有差错,则将crc从运行模块加载到寄存器中;以及
如果所述所接收的一个数据包有差错,则将crc从寄存器加载到所述模块中。
16.依照权利要求14的程序存储设备,其中:
发送步骤包括步骤:在第一节点处,在数据包被发送之前,对每个数据包检验差错;并且
保持第一crc的步骤包括步骤:将第一crc仅增加没有差错的经检验数据包的校验值。
17.依照权利要求16的程序存储设备,其中保持第一crc的步骤进一步包括步骤:
在寄存器和运行模块中保持第一crc;
当数据包之一要从第一节点发送时,将运行模块中的第一crc增加所述的一个数据包的校验值;
如果所述数据包之一没有差错,则将运行模块的第一crc值加载到寄存器中;以及
如果所述数据包之一有差错,则将寄存器的第一crc值加载到运行模块中。
18.依照权利要求13的程序存储设备,进一步包括在预订时间复位第一和第二crc的步骤。
CNB028054377A 2001-02-24 2002-02-25 通过无开销链路级crc进行的错误隔离 Expired - Fee Related CN1269038C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
US60/271,124 2001-02-24
PCT/US2002/005572 WO2002069145A1 (en) 2001-02-24 2002-02-25 Fault isolation through no-overhead link level crc

Publications (2)

Publication Number Publication Date
CN1493025A true CN1493025A (zh) 2004-04-28
CN1269038C CN1269038C (zh) 2006-08-09

Family

ID=68499834

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028054377A Expired - Fee Related CN1269038C (zh) 2001-02-24 2002-02-25 通过无开销链路级crc进行的错误隔离

Country Status (8)

Country Link
US (1) US7210088B2 (zh)
EP (1) EP1370941A4 (zh)
JP (1) JP3798750B2 (zh)
KR (1) KR100612058B1 (zh)
CN (1) CN1269038C (zh)
CA (1) CA2437657A1 (zh)
IL (1) IL157516A0 (zh)
WO (1) WO2002069145A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313582B2 (en) * 2001-02-24 2007-12-25 International Business Machines Corporation Arithmetic functions in torus and tree networks
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
DE102004039218A1 (de) 2004-08-12 2006-03-09 Infineon Technologies Ag Verfahren zur Datenübertragung über eine Datenübertragungsstrecke mit induktiven Übertragern und Datenübertragungsvorrichtung
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US7395483B1 (en) * 2004-10-15 2008-07-01 Sun Microsystems, Inc. Method and apparatus for performing error-detection and error-correction
US7472332B2 (en) * 2005-07-26 2008-12-30 International Business Machines Corporation Method for the reliability of host data stored on fibre channel attached storage subsystems
US7996731B2 (en) 2005-11-02 2011-08-09 Advanced Micro Devices, Inc. Error detection in high-speed asymmetric interfaces
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US20070242611A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US7840873B2 (en) 2006-12-13 2010-11-23 Globalfoundries Inc. Partial CRC insertion in data packets for early forwarding
US7881303B2 (en) 2006-12-13 2011-02-01 GlobalFoundries, Inc. Command packet packing to mitigate CRC overhead
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US7917810B2 (en) * 2007-10-17 2011-03-29 Datadirect Networks, Inc. Method for detecting problematic disk drives and disk channels in a RAID memory system based on command processing latency
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
FR2957176B1 (fr) * 2010-03-02 2012-04-06 Commissariat Energie Atomique Puce electronique et circuit integre comportant une telle puce electronique
US8914498B2 (en) 2012-02-09 2014-12-16 International Business Machines Corporation Calculating a checksum with inactive networking components in a computing system
US10345801B2 (en) * 2017-08-21 2019-07-09 Honeywell International Inc. Ensuring a correct program sequence in a dual-processor architecture
CN109682028A (zh) * 2019-01-04 2019-04-26 四川虹美智能科技有限公司 一种空调内部的通信方法及装置
KR20200085515A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 위한 컨트롤러

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667287A (en) * 1982-10-28 1987-05-19 Tandem Computers Incorporated Multiprocessor multisystem communications network
US5517508A (en) 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
US5802080A (en) * 1996-03-28 1998-09-01 Seagate Technology, Inc. CRC checking using a CRC generator in a multi-port design
US5951707A (en) * 1997-06-27 1999-09-14 International Business Machines Corporation Method of partitioning CRC calculation for a low-cost ATM adapter

Also Published As

Publication number Publication date
EP1370941A4 (en) 2010-02-24
US7210088B2 (en) 2007-04-24
KR100612058B1 (ko) 2006-08-14
KR20030075198A (ko) 2003-09-22
US20040098660A1 (en) 2004-05-20
CA2437657A1 (en) 2002-09-06
WO2002069145A9 (en) 2002-10-31
IL157516A0 (en) 2004-03-28
WO2002069145A1 (en) 2002-09-06
JP3798750B2 (ja) 2006-07-19
JP2004531922A (ja) 2004-10-14
EP1370941A1 (en) 2003-12-17
CN1269038C (zh) 2006-08-09

Similar Documents

Publication Publication Date Title
CN1269038C (zh) 通过无开销链路级crc进行的错误隔离
US5161156A (en) Multiprocessing packet switching connection system having provision for error correction and recovery
US8346998B2 (en) System and method for transmitting data packets in a computer system having a memory hub architecture
JPH086854A (ja) アウトボードファイルキャッシュ外部処理コンプレックス
EP0734554B1 (en) Message facility for massively parallel processing systems
CN102084430B (zh) 用于修补高容量/高带宽存储器装置的方法及设备
US5119481A (en) Register bus multiprocessor system with shift
US20050071542A1 (en) Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US20060004968A1 (en) Method and apparatus for memory compression
EP1016977A2 (en) Packet routing switch
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
US20200081850A1 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
CN102257573B (zh) 错误检测方法和包括一个或多个存储器设备的系统
EP1683019A2 (en) Lane testing with variable mapping
US20090006605A1 (en) Extended write combining using a write continuation hint flag
WO2008052181A2 (en) A network interface card for use in parallel computing systems
US20150339062A1 (en) Arithmetic processing device, information processing device, and control method of arithmetic processing device
CN102868604A (zh) 一种应用于片上网络的二维Mesh双缓冲容错路由单元
CN1246788C (zh) 双工处理器系统
JP4605874B2 (ja) マルチプロセッサによる通信プロトコル処理装置
US20090268727A1 (en) Early header CRC in data response packets with variable gap count
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
EP0458552B1 (en) Dynamic hierarchical routing directory organization associative memory
JPH04230146A (ja) ダイナミックパケットルート設定回路網

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060809

Termination date: 20120225