CN1493025A - 通过无开销链路级crc进行的错误隔离 - Google Patents
通过无开销链路级crc进行的错误隔离 Download PDFInfo
- 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
Links
- 238000002955 isolation Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims 21
- 238000012423 maintenance Methods 0.000 claims 4
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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
一种用于校验在并行处理器(10)的节点之间发送的数据包的精度的错误隔离技术。独立的CRC被保持从一个处理器被发送到另一个的所有数据。在每个校验点的结尾处,CRC被比较。如果它们不匹配,则有差错。CRC在每个校验点处被清除并且重新开始。在优选实施例中,基本的功能性是计算已在给定链路上成功发送的所有包数据的CRC。该CRC是在链路的两端进行的,由此允许对认为已被正确发送的所有数据进行独立的校验。优选的是,所有链路都具有该CRC覆盖范围,并且在该链路级校验中使用的CRC不同于在包传输协议中所使用的。如果被成功传递,该独立的校验实际上消除了在先前传输周期内错过任何数据差错的可能性。
Description
相关申请的交叉参考
本发明要求名为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的步骤。
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)
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)
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 |
-
2002
- 2002-02-25 KR KR1020037010831A patent/KR100612058B1/ko not_active IP Right Cessation
- 2002-02-25 CN CNB028054377A patent/CN1269038C/zh not_active Expired - Fee Related
- 2002-02-25 EP EP02713679A patent/EP1370941A4/en not_active Withdrawn
- 2002-02-25 IL IL15751602A patent/IL157516A0/xx unknown
- 2002-02-25 CA CA002437657A patent/CA2437657A1/en not_active Abandoned
- 2002-02-25 US US10/468,996 patent/US7210088B2/en not_active Expired - Fee Related
- 2002-02-25 WO PCT/US2002/005572 patent/WO2002069145A1/en active Application Filing
- 2002-02-25 JP JP2002568200A patent/JP3798750B2/ja not_active Expired - Fee Related
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 |