US8004997B2 - Data path differentiator for pre-emphasis requirement determination or slot identification - Google Patents

Data path differentiator for pre-emphasis requirement determination or slot identification Download PDF

Info

Publication number
US8004997B2
US8004997B2 US11/369,326 US36932606A US8004997B2 US 8004997 B2 US8004997 B2 US 8004997B2 US 36932606 A US36932606 A US 36932606A US 8004997 B2 US8004997 B2 US 8004997B2
Authority
US
United States
Prior art keywords
slot
circuit
path
receive
voltage
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, expires
Application number
US11/369,326
Other versions
US20070205822A1 (en
Inventor
Alan Frank Jovanovich
Stephen Eugene Holness
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Emulex Design and Manufacturing 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
Priority to US11/369,326 priority Critical patent/US8004997B2/en
Application filed by Emulex Design and Manufacturing Corp filed Critical Emulex Design and Manufacturing Corp
Assigned to EMULEX DESIGN & MANUFACTURING CORPORATION reassignment EMULEX DESIGN & MANUFACTURING CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HOLNESS, STEPHEN EUGENE, JOVANOVICH, ALAN FRANK
Publication of US20070205822A1 publication Critical patent/US20070205822A1/en
Priority to US13/166,691 priority patent/US8767768B2/en
Application granted granted Critical
Publication of US8004997B2 publication Critical patent/US8004997B2/en
Assigned to EMULEX CORPORATION reassignment EMULEX CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EMULEX DESIGN AND MANUFACTURING CORPORATION
Priority to US14/281,394 priority patent/US20140258585A1/en
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EMULEX CORPORATION
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Assigned to AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED reassignment AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED MERGER (SEE DOCUMENT FOR DETAILS). Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Assigned to AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED reassignment AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2012Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant and using different communication protocols
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies

Definitions

  • This invention relates to communications between devices within blade servers, and more particularly in one embodiment, to an apparatus for automatically identifying and/or estimating the lengths of data paths between redundant interface devices and one or more Input/Output Controllers (IOCs) within the blade server to assist in equalizing the frequency response of those data paths.
  • IOCs Input/Output Controllers
  • FIG. 1 is an illustration of an exemplary conventional blade server 100 connected to an external switched fabric 108 .
  • Blade servers overcome some of the inefficiencies of individual standalone or rack-mounted One Unit (1U) high servers, each of which is self-contained and includes separate power supplies, fans, and the like, and are therefore inefficient in terms of space, power, cooling, and other characteristics.
  • Blade servers 100 utilize a modular, plug-in approach wherein the housing for each server is eliminated along with self-contained components such as power supplies and fans.
  • Each previously standalone server is therefore reduced to a server “blade” 102 capable of being plugged into a backplane or midplane 104 within the blade server chassis 106 from the front of the chassis.
  • blades typically, two to 14 blades may be installed in a single blade server chassis 106 .
  • the midplane 104 contains connectors for receiving the server blades 102 and typically contains from one to four “lanes” or paths on a Printed Circuit Board (PCB) for carrying high-speed data signals.
  • the midplane 104 therefore eliminates much of the cabling that was required with individual servers.
  • the blade server chassis 106 also provides redundant common cooling and power to the server blades 102 through the midplane 104 .
  • Blade servers 100 may be connected to redundant external switch fabrics 108 through interface cards such as an “A” side Input/Output (I/O) switch 110 and a “B” side I/O switch 112 , which plug into the midplane 104 from the back of the chassis 106 .
  • I/O Input/Output
  • BOD Just a Bunch Of Disks
  • a blade server may comprise multiple disk drives contained in SBODs or JBODs connected to the backplane through an interface card without a connection to the network, instead of the I/O switches 110 and 112 shown in FIG. 1 .
  • SBOD Switched Bunch Of Disk
  • JBOD Just a Bunch Of Disks
  • a blade server may comprise multiple disk drives contained in SBODs or JBODs connected to the backplane through an interface card without a connection to the network, instead of the I/O switches 110 and 112 shown in FIG. 1 .
  • the server blades 102 have an I/O port directly on them, and talk to the
  • the blade server midplane 104 is typically rooted/designed to allow for one or more independent redundant fabrics or I/O protocols, such as Fibre Channel (FC), Ethernet or InfiniBand.
  • FC Fibre Channel
  • each embedded switch 110 and 112 may be a FC Arbitrated Loop (FC_AL) switch or a full fabric switch, with a separate port to connect to each of the multiple server blades 102 (but shown connected to only one server blade 102 in FIG. 1 ) over a FC link 116 or 118 , and output ports for connecting to the external switched fabrics 108 .
  • FC_AL FC Arbitrated Loop
  • a mezzanine I/O card 114 that performs a Host Bus Adapter (HBA) (a.k.a. IOC) function is typically required in each server blade 102 .
  • HBA Host Bus Adapter
  • These mezzanine I/O cards 114 may be mounted to the server blades 102 as daughter cards. Alternatively, an IOC may be mounted directly on the server blade.
  • mezzanine I/O cards 114 include both daughter cards and IOCs mounted directly onto the server blade.
  • the connections to the mezzanine I/O card 114 include the two I/O links 116 and 118 routed from each of the two embedded switches 110 and 112 through the midplane 104 .
  • the mezzanine I/O cards 114 follow the standard device driver model, so that when a server blade 102 with a mezzanine I/O card 114 is plugged into the midplane 104 and connected to an embedded switch 110 or 112 , it appears to be a standalone server communicating with an external switch. Note that switches 110 and 112 in FIG. 1 may alternatively be replaced with “pass-through” transceiver cards.
  • the redundant data paths 116 and 118 may be drastically different in length, very similar in length, or anywhere in between.
  • the different lengths will cause each of the two redundant data paths 116 and 118 to have different and distinguishable losses at all frequencies, provided impedance matching of the system is maintained to a reasonable degree. These differences may cause transmission errors and unacceptable error rates, among other things.
  • the driver circuitry In some legacy blade servers, the driver circuitry generates the best signal possible, and the receiver circuitry simply receives the transmitted signals with differences in attenuation, however large or small, as influenced by the path lengths.
  • the receiver circuitry simply receives the transmitted signals with differences in attenuation, however large or small, as influenced by the path lengths.
  • frequencies and data rates have increased, resulting in higher signal attenuation, especially at the upper (higher) frequencies of the data signal (and hence more deterministic jitter)
  • conventional modern systems may employ transmitter circuits with pre-emphasis on their transmit outputs in an attempt to transmit data with an enhanced frequency response in order to receive a flat frequency response at the far or “receiving” end, and achieve acceptable bit error rates.
  • a standard amplifier 200 in a transmitter circuit generates an output “eye” diagram 202 in the time domain.
  • the transmit signal peak-to-peak amplitude may be substantial as indicated at 204 , but at higher frequencies, the transmit signal peak-to-peak amplitude may be less substantial as indicated at 206 , and the eye will get progressively smaller.
  • the higher frequencies taper off in amplitude, as indicated at 208 .
  • the amplitude may taper off by 6 dB, half the original voltage or more. Because of the rolloff of the amplifier at high frequencies, the eye in the time domain closes at those frequencies, and data can no longer be accurately transmitted with acceptable error rates, if at all.
  • programmable pre-emphasis circuitry can be added to the amplifiers to give the amplifier an equivalent boost at the higher frequencies.
  • firmware and registers can be employed to control the amount of boost (de-emphasis) by communicating a 3-bit word (e.g. 000 to 111) 210 to pre-emphasis circuitry 212 within the amplifier, which is well-understood by those skilled in the art.
  • the pre-emphasis circuitry 212 is adjustable and provides internal compensation to compensate for the path so that the frequency response at the receiving end becomes relatively flat over all frequencies (see reference character 214 ), which is desirable.
  • pre-emphasis circuitry actually maximizes the output at the upper frequencies (e.g. 2125 MHz) towards the upper rail (e.g. +3V), and de-emphasizes the lower frequencies to create the relatively flat frequency response.
  • the amplitude of the resultant eye will roughly correspond to the amplitude at which the rolloff occurs after equalization.
  • conventional modern systems may also have IOC integrated circuits with equalizers on their receiver inputs, or equalizer circuits external to and ahead of the IOC integrated circuits, to customize the frequency response for a particular path and equalize the redundant data paths so that they have approximately the same frequency response over a given frequency range.
  • pre-emphasis 314 may be used as described above to de-emphasize the lower frequencies (see reference character 302 ) to flatten out the frequency response as seen at the receiving end.
  • rolloff see reference character 308
  • the signal level may be much lower (e.g. 250 mV peak to peak), which is not near any rail.
  • equalization 316 may be applied to the receive end to boost the higher frequencies with gain to raise the signal level of all frequencies, and flatten out the frequency response (see reference character 312 ) to some predetermined level acceptable to the receive end circuitry (e.g. 600 mV peak to peak).
  • the amount of equalization and/or pre-emphasis applied to each transmit amplifier or receiver would be customized for the length of the path.
  • Some modern conventional midplanes and devices do have some form of slot identification or path length determination built into their hardware. Slot identification typically requires either dedicated pins on interface connectors or semiconductors (such as Electrically Erasable Programmable Read Only Memories (EEPROMs)) to be designed into the original Backplane/Midplane.
  • EEPROMs Electrically Erasable Programmable Read Only Memories
  • Embodiments of the present invention are directed to an apparatus and method for generating path length information for two (usually redundant) receive paths in a receiving device such as a server blade so that the proper amount of equalization and/or pre-emphasis may be applied to receiver and driver circuits in the server blade.
  • the path length information comprises a longer or shorter path determination, and may also include a estimation of the slot location.
  • the path length information comprises a representation of the length of receive paths.
  • the path length information generating circuit is connected to the two receive inputs of the receiving device though high impedance elements, and the path length information may be utilized by hardware or a processor to set the equalization or pre-emphasis in the receiver and/or driver.
  • Embodiments of the present invention assume that the driver circuits in each of two redundant transmitting devices contain the same driver circuitry or adhere to the same standard for voltage output levels, such that the driving voltages should be within some reasonable range of each other.
  • the driver outputs from the two transmitting devices travel a shorter path and a longer path within a midplane or backplane, where, due to copper and dielectric losses in the transmission lines, the frequencies in the long path are more highly attenuated than the frequencies in the short path.
  • the transmission lines for these two paths enter the receiving device, they are routed to a receiver, typically a SERializer/DESerializer (SERDES). Near the receiving device, the transmission lines are sampled differentially by high impedance elements.
  • SERDES SERializer/DESerializer
  • the path length information generating circuit will give an indication as to whether the receiving device is inserted near the center of the midplane (or any location in the range of slot locations as identified by a threshold value) and which paths are the longer and shorter paths
  • the high impedance elements feed a differential amplifier for each data path to bring the signal to a usable level and to convert it into a single ended signal, thereby simplifying and reducing requirements for further stages.
  • These amplifiers will typically have the same gain or amplification level.
  • the signals are fed into filters, which may be high pass filters or bandpass filters, depending on the data encoding and the high frequency components of the data being received.
  • filters may be bandpass filters that only pass frequencies at a selected high frequency.
  • the energy at those frequencies will pass through the filters and charge up envelope detectors.
  • the output of the envelope detectors is a DC voltage equivalent to the peak value of the amplitude of the data frequency component desired.
  • the path with the largest loss (the long path) will have significantly less voltage amplitude than the short path.
  • the two peak voltages from each of the envelope detectors are fed into a comparator, whose output provides an indication of which of the paths is the most highly attenuated, and therefore, which is the longer path.
  • a comparator whose output provides an indication of which of the paths is the most highly attenuated, and therefore, which is the longer path.
  • the outputs of the envelope detectors can also be fed into a differential amplifier to amplify and scale the difference in the paths. If the receiving device is in a slot near the end of the midplane, the two paths are more likely to be significantly different in length, and the output of the differential amplifier is more likely to be large as compared to when the receiving device is inserted into a middle slot and the paths are more likely to be closer in length.
  • Setting a threshold on a second comparator and comparing it to the output of the differential amplifier can also provide an indication of the location of the receiving device as compared to the location represented by the threshold.
  • this information may be converted to a digital value using an Analog to Digital (A/D) converter and can be used by hardware and/or a processor to set pre-emphasis settings for transmitters in the return paths of the receiving device (which may be the same as the receive path lengths), and/or equalizer settings for the receive path equalizers.
  • A/D Analog to Digital
  • the output of the differential amplifier may be converted using an A/D converter and provided to the hardware or processor for making the relative position determination and pre-emphasis settings.
  • This embodiment does not enable perfect equalization/pre-emphasis, but provides an approximate indication of where the receiving device is plugged into the midplane so the hardware and/or processor can set the equalization with some level of intelligence.
  • the path length information comprises a representation of the length of receive paths
  • slot identification circuitry takes advantage of the fact that interface boards such as I/O switches are plugged into fixed positions in the midplane and connect to receiving devices such as controller cards or server blades via known fixed-length paths. Because the path length information is known, a path length or slot position indicator can be sent to the receiving devices in the form of a unique common mode DC voltage across the FC (or other high speed serial interface) transmission lines, allowing that device to know its path length or slot location so that it can determine pre-emphasis and or equalizations settings best suited for that path.
  • the sampled signals are fed into low pass filters.
  • the output of each filter is the applied common mode DC voltage representing the length of that particular path.
  • the DC voltages may be converted to digital values using A/D converters and can be used by hardware and/or a processor to set pre-emphasis settings for transmitters in the return paths of the receiving device and/or equalizer settings for the receive path equalizers.
  • FIG. 1 is an illustration of an exemplary conventional blade server connected to an external switched fabric.
  • FIG. 2 is an illustration of an exemplary amplifier in a transmitter circuit and its corresponding output “eye” diagram in the time domain and rolloff in the frequency domain.
  • FIG. 3 is an illustration of an exemplary transmit amplifier and its compensated frequency response using pre-emphasis and an exemplary receive amplifier and its compensated frequency response using equalization.
  • FIG. 4 is an illustration of an exemplary blade server with a mezzanine I/O card employing a path length and slot estimation circuit according to embodiments of the present invention.
  • FIG. 5 is an illustration of an exemplary receiver and its rolled-off frequency response and a bandpass filter at the higher frequencies for use in determining path length and slot estimation according to embodiments of the present invention.
  • FIG. 6 is an illustration of an exemplary receiver and its rolled-off frequency response and bandpass filters at various frequencies for use in determining the actual frequency response and the proper equalization setting according to embodiments of the present invention.
  • FIG. 7 is an illustration of an exemplary blade server and I/O switches employing a path identification circuit according to embodiments of the present invention.
  • FC Fibre Channel
  • SAS Serial Attached Small Computer System Interconnect
  • SATA Serial ATA
  • FIG. 4 is an illustration of an exemplary blade server 400 with multiple server blades 402 , each server blade including a controller, host interface card, HBA, or IOC, and each server blade employing a path length and slot estimation circuit according to embodiments of the present invention.
  • server blades 402 an interface card such as an “A” side I/O switch 410 and a “B” side I/O switch 412 are plugged into a midplane 404 within a blade server chassis.
  • a blade server may comprise multiple disk drives instead of the multiple server blades 402 shown in FIG. 4 .
  • a mezzanine I/O card 414 that performs an HBA (a.k.a. IOC) function may be employed in each server blade 402 .
  • the connections to the mezzanine I/O card 414 include two differential I/O links (transmission lines) 416 and 418 routed from each of the two redundant I/O switches 410 and 412 through the midplane 404 . Note that although only the mezzanine I/O card receive paths 416 and 418 are illustrated in FIG.
  • the mezzanine I/O card 414 may also include drivers 446 and transmit paths (not shown) for sending signals to the redundant I/O switches 410 and 412 .
  • FIG. 4 illustrates differential signals, embodiments of the present invention are also applicable to single-ended signals.
  • redundant I/O switches 410 and 412 contain the same driver circuitry or adhere to the same standard for voltage output levels, such that the driving voltages are within some reasonable range of each other.
  • the driver outputs from each I/O switch 410 and 412 travel the short path 416 and the long path 418 , respectively, where, due to copper and dielectric losses, the frequencies in the long path are more highly attenuated (e.g. 10 dB loss) than the frequencies in the short path (e.g. 2 dB loss). More importantly, the higher frequency components of the data signal will be attenuated the most, causing a much larger difference in attenuation between the short and long paths than at the lower frequencies where both copper and dielectric losses are small.
  • SERDES SERializer/DESerializer
  • the path length and slot estimation circuit is shown surrounding the SERDES 420 in the example of FIG. 4 .
  • the path length and slot estimation circuit is shown in FIG. 4 within the mezzanine I/O card 414 , it may be located in other locations on the server blade 402 or receiving device.
  • the path length and slot estimation circuit will give an indication as to whether the receiving device (e.g. server blade 402 ) is inserted near the center of the midplane 404 (or any location in the range of slot locations as identified by a threshold value) and which paths are the longer and shorter paths.
  • other hardware 422 or a processor 424 operating under the control of firmware may control an equalization circuit in the receivers 448 , well-understood by those skilled in the art, to flatten out the frequency response of the received signals.
  • the equalization may be built into the receiver 448 in the SERDES 420 , as shown in FIG. 4 , or may be external to the SERDES.
  • the transmission lines 416 and 418 are sampled differentially by high impedance elements 426 .
  • the high impedance elements 426 must be placed before the equalization circuitry 448 .
  • These high impedance elements 426 are high enough impedance as compared to the impedance of the transmission lines 416 and 418 (on the order of 10 ⁇ or more) so as to sample the data stream, but not disturb the data being received.
  • the high impedance elements 426 feed a differential amplifier 428 (in the case of differential signals) for each data path to bring the signal to a usable level and to convert it into a single ended signal, thereby simplifying and reducing requirements for further stages.
  • These amplifiers 428 will typically have the same gain or amplification level. If the redundant data paths are single-ended, a differential amplifier is not needed, and if the signal levels are high enough, no amplifier may be needed.
  • FIG. 5 illustrates the frequency response 500 of the long transmission line path 418 of FIG. 4 after amplification by amplifier 428 . Note that in FC embodiments, at high frequencies around 2125 MHz, the amplitude has dropped by 6 dB (could be 0 dB to 14 dB, typically).
  • the signal is fed into a filter 430 , which may be a high pass filter or bandpass filter well-understood by those skilled in the art, depending on the data encoding and the high frequency components of the data being received.
  • the filter 430 can be comprised of discrete components or implemented on a printed circuit board using microwave filter techniques in order to keep the cost of the implementation low.
  • the design of the filter 430 may be dependent on the communication protocol.
  • the FC protocol allows only up to five zeroes in a row before a one must be inserted, or up to five ones in a row before a zero must be inserted. This requirement establishes the lowest frequency that will be transmitted, which happens to be around 425 MHz. On the other hand, if every bit was toggled, the highest data frequency of 2125 MHz would result. Thus, all permissible data patterns with have a frequency between these two ranges, not including sidebands.
  • the filter 430 may be a bandpass filter that only passes frequencies at around 2125 MHz. Referring again to FIG. 5 , the effect of this filter is to have a bandpass region 502 around 2125 MHz.
  • the envelope detector 432 is comprised of a rectifier in series with the signal and an integrator capacitor shunted to ground.
  • the envelope detector design must allow an element such as a capacitor to charge up and hold its charge during continuous monitoring, to determine the peak envelope (amplitude of the voltage).
  • the output of the envelope detectors 432 is a DC voltage equivalent to the peak value of the amplitude of the data frequency component desired. At this point, the path with the largest loss (the long path) will have significantly less voltage amplitude that the short path.
  • the two peak voltages from each of the envelope detectors 432 are fed into comparator 434 within the path length determination circuit 450 , whose output provides an indication of which of the paths is the most highly attenuated, and therefore, which is the longer path.
  • the shorter path is transmission line 416 (and the longer path is transmission line 418 )
  • the shorter path is transmission line 418 (and the longer path is transmission line 416 ).
  • the longer and shorter path determinations are only relative to each other, and do not provide any indication of actual length.
  • the difference in length between the two transmission lines 416 and 418 may be large, and clearly one path is long compared to the other.
  • the difference in length between the two transmission lines 416 and 418 may be small, yet one medium length path will be considered the longer path and the other will be considered the shorter path.
  • the two transmission lines 416 and 418 may both be very short and nearly identical in length, yet one will be considered to be the longer path.
  • the two transmission lines 416 and 418 may both be very long and nearly identical in length, yet one will be considered to be the shorter path.
  • the outputs of the envelope detectors 432 can also be fed into a differential amplifier 436 to amplify and scale the difference in the paths. If the server blade 402 is in a slot near the end of the midplane 404 , the two paths are more likely to be significantly different in length, and the output of the differential amplifier 436 is more likely to be large as compared to when the server blade 402 is inserted into a middle slot and the paths are more likely to be closer in length.
  • Setting a threshold 438 on a second comparator 440 and comparing it to the output of the differential amplifier 436 can also provide an indication of the location of the receiving device as compared to the location represented by the threshold.
  • a receiving device located near an end of the midplane 404 may have large path length differences that shows up as a large voltage (e.g. 3V) on the output of the differential amplifier 436
  • a receiving device located near the middle of the midplane may have small path length differences that shows up as a small voltage (e.g. 0.3V) on the output of the differential amplifier
  • a receiving device located halfway between the end and the middle of the midplane (a “quarter” location) may have medium path length differences that shows up as a medium voltage (e.g.
  • the threshold 438 can be set in advance to any of these voltages to represent any of these slot locations.
  • the comparator 440 compares the threshold 438 to the output of the differential amplifier, the slot location of the receiving device can be approximated. For example, if the threshold 438 is set to 1.5V (representing the “quarter” location) and connected to the ⁇ input of the comparator 440 , and the output of the differential amplifier 436 is connected to the + input of the comparator, then if the output of the comparator is high, this is an indication that the receiving device is located nearer to the end of the midplane than the “quarter” location.
  • this information may be converted to a digital value using A/D converters 454 and can be used by hardware 422 and/or processor 424 to set pre-emphasis settings for drivers/transmitters 446 in the return paths (which are typically approximately the same as the receive path lengths), and/or equalizer settings for the receivers 448 .
  • the digital values generated by the A/D converters 454 may cause the hardware 422 and/or processor 424 to set the receive circuit equalization 448 to one of 16 different values.
  • the digital values may directly toggle certain bits that program an equalizer to provide more or less boost.
  • these measurements could be taken once, at startup, and the pre-emphasis or equalization manually set at that point.
  • the output of the differential amplifier 436 may be converted to a digital value using an A/D converter 454 and provided to the hardware or processor for making the relative position determination and pre-emphasis settings.
  • Embodiments of the present invention do not enable perfect equalization/pre-emphasis, but it at least provides a rough indication of where the server blade 402 is plugged into the midplane 404 so the hardware 422 and/or processor 424 can set the equalization/pre-emphasis with some level of intelligence.
  • FIG. 6 which illustrates the frequency response of the long transmission line path 418 of FIG. 4 after amplification by amplifier 428 , note that the frequency responses is different at different frequencies (e.g. 2125 MHz, 1063 MHz, 708 MHz, and 425 MHz).
  • a bandpass filter could be employed at a set of different frequencies along with an envelope detector to determine the amplitude at each of these frequencies. With this information, it is possible to determine the best equalization (e.g. which one of 16 possible settings) is needed to most closely compensate for the rolloff and make it flat.
  • Embodiments of the present invention described above are directed to a path length and slot estimation circuit for use where no slot identification circuitry is present.
  • slot identification circuitry is disclosed that takes advantage of the fact that interface boards such as I/O switches are plugged into fixed positions in the midplane and connect to receiving devices such as controller cards or server blades via known fixed-length paths. Because the path length information is known, a path length or slot position indicator can be sent to the receiving devices via a unique common mode DC voltage across the FC (or other interface) transmission lines, allowing that device to know its path length or slot location so that it can determine pre-emphasis and or equalizations settings best suited for that path.
  • in-band communications data streams added to faster data streams, using lower frequencies than the system Phase-Locked Loops (PLLs) can track
  • PLLs Phase-Locked Loops
  • FIG. 7 is an illustration of an exemplary blade server 700 with I/O switch A 710 and I/O switch B 712 and multiple server blades 702 (although only one is shown in FIG. 7 ), each I/O switch and server blade employing slot identification circuitry according to embodiments of the present invention.
  • embodiments of the present invention are generally applicable to any system comprising two transmitting devices that transmit signals over a longer path and a shorter path to a receiving device.
  • the server blades 702 , the “A” side I/O switch 710 and the “B” side I/O switch 712 are plugged into a midplane 704 within a blade server chassis.
  • a blade server may comprise multiple disk drives instead of the multiple server blades 702 shown in FIG. 7 , and would more properly be referred to as an SBOD or JBOD.
  • a mezzanine I/O card 714 that performs an HBA (a.k.a. IOC) function may be employed in each server blade 702 .
  • the connections to the mezzanine I/O card 714 include two differential I/O links (transmission lines) 716 and 718 routed from each of the two redundant I/O switches 710 and 712 through the midplane 704 .
  • the mezzanine I/O card 714 also includes drivers 782 for sending signals to the redundant I/O switches 710 and 712 over transmit paths (not shown).
  • FIG. 7 illustrates differential signals, embodiments of the present invention are also applicable to single-ended signals.
  • each of the redundant I/O switches A 710 and B 712 must have a priori information about which slot each pair of transmission lines are going to, because the traces in the midplane 704 must have been designed in advance.
  • the transmission line lengths are known for all connections between I/O switch A 710 and the slots on the midplane, and for all connections between I/O switch B 712 and the slots on the midplane.
  • both sets of path length information may be stored on an I/O switch in a memory device, which may include read-only memory, voltage dividers, or the like.
  • a redundant I/O switch location identifier such as a switch 758 may be used to identify whether the I/O switch is plugged into the A or B side slot.
  • the I/O switch may automatically identify its slot location after it is plugged into a slot by using a redundant I/O switch location identifier to read one or more slot location identification pins in the connector, or the redundant I/O switch location identifier may be a manually configured jumper which is installed before the I/O switch is inserted into a particular slot.
  • each I/O circuit 754 in the I/O switch can know precisely the path lengths that it is connected to. With this path length information, each I/O circuit 754 may set the pre-emphasis and or equalization for its driver 762 and receiver 764 accordingly.
  • each server blade 702 can be plugged into any slot on the midplane 704 , the server blades 702 do not know where their respective transmission lines are going. However, it would be desirable for the server blades 702 to identify the position or slot into which it has been inserted, or know the path length for signals received from the I/O switches across the midplane 704 . With this information, the server blades 702 would be able to program optimized transmitter 782 and receiver 778 settings (pre-emphasis and/or equalization) for the data link.
  • each of the redundant I/O switches 710 and 712 contains a slot IDentification (ID) circuit 756 in each of the I/O circuits 754 employed for facilitating communications between server blade slots in the blade server 700 .
  • Each I/O circuit 754 includes a driver 762 and receiver 764 pair and a slot ID circuit 756 coupled to the driver signal paths.
  • the slot ID circuit 756 is fed by a slot voltage input 760 , which provides an injected DC voltage representing the path length or slot number of the transmission line connecting the driver 762 to a slot on the other side of the midplane 704 .
  • the slot ID circuit 756 will send a DC voltage in common mode along the FC (or other high speed serial interface) transmission lines, allowing the I/O switches to communicate path length or position or slot ID information to the server blades 702 .
  • I/O switch A 710 generates an agreed upon DC voltage 760 in each I/O circuit 754 for each of the paths it must communicate across, already knowing where those paths are routed. This may be accomplished using a Digital-to-Analog (D/A) converter, regulator, transistor, simple voltage divider, or the like. This DC voltage 760 (chosen at the time of the design of the circuit) corresponds to the information needed to be communicated.
  • D/A Digital-to-Analog
  • Each I/O circuit 754 may also communicate its own pre-emphasis and or equalization settings via the DC voltage value.
  • the DC slot voltage 760 is first filtered via low pass filter 766 to remove any frequency (noise) components that might interfere with the desired data transmission, and is then coupled into the transmission lines 770 via high impedance elements 768 .
  • Elements 768 may be simply resistors, Radio Frequency (RF) chokes, bias T's, or any device capable of coupling in a DC voltage while having sufficiently high impedance at the desired data frequencies so as not to disturb the data communication.
  • the transmission lines 770 must be DC blocked at 772 (typically using a coupling capacitor) in order to keep the common mode voltage from interfering with driver 762 .
  • I/O circuit 754 in I/O switch A 710 coupled to slot 3 is shown, and one I/O circuit in I/O switch B 712 coupled to slot 3 is shown, for purposes of illustrating the alternative embodiment.
  • the driver outputs from these I/O circuits travel the shorter path 716 and the longer path 718 and enter the mezzanine I/O card 714 on the server blade 702 , where they are routed to a receiving circuit, typically a SERDES 720 .
  • the injected common mode DC voltage is again DC blocked at 776 in order to prevent the DC voltage from interfering with receiver 778 .
  • the transmission lines 716 and 718 are sampled differentially by high impedance elements 726 .
  • These high impedance elements 726 are high enough impedance as compared to the impedance of the transmission lines 716 and 718 (on the order of 10 ⁇ or more) so as to sample the data stream, but not disturb the data being received.
  • the sampled injected DC voltage is then low pass filtered by filter 774 and converted to a digital value by A/D converter 780 with the path length determination circuit 788 .
  • A/D converter 780 could also be implemented in a window comparator.
  • the hardware 722 and/or processor 724 within the path length determination circuit 788 can determine the path length and how much pre-emphasis and or equalization is needed on its side of the link. Hardware 722 and/or processor 724 can then independently program the drivers 778 and/or receivers 782 of each SERDES 720 with the appropriate values via control signals 784 and 786 , respectively, to equalize the path losses and provide minimum bit error rate across its links.
  • the slot identification circuitry in the server blade 702 is shown surrounding the SERDES 720 in the example of FIG. 7 .
  • the slot identification circuitry is shown in FIG. 7 within the mezzanine I/O card 714 , it may be located in other locations on the server blade 702 or receiving device.

Abstract

An apparatus and method is disclosed for generating path length information for two (usually redundant) receive paths in a receiving device such as a server blade so that the proper amount of equalization and/or pre-emphasis may be applied to receiver and driver circuits in the server blade. In one embodiment, the path length information comprises a longer or shorter path determination, and may also include a estimation of the slot location. In another embodiment, the path length information comprises a representation of the length of two receive paths. The path length information generating circuit is connected to the two receive inputs of the receiving device though high impedance elements, and the path length information may be utilized by hardware or a processor to set the equalization or pre-emphasis in the receiver and/or driver.

Description

FIELD OF THE INVENTION
This invention relates to communications between devices within blade servers, and more particularly in one embodiment, to an apparatus for automatically identifying and/or estimating the lengths of data paths between redundant interface devices and one or more Input/Output Controllers (IOCs) within the blade server to assist in equalizing the frequency response of those data paths.
BACKGROUND OF THE INVENTION
FIG. 1 is an illustration of an exemplary conventional blade server 100 connected to an external switched fabric 108. Blade servers overcome some of the inefficiencies of individual standalone or rack-mounted One Unit (1U) high servers, each of which is self-contained and includes separate power supplies, fans, and the like, and are therefore inefficient in terms of space, power, cooling, and other characteristics. Blade servers 100 utilize a modular, plug-in approach wherein the housing for each server is eliminated along with self-contained components such as power supplies and fans. Each previously standalone server is therefore reduced to a server “blade” 102 capable of being plugged into a backplane or midplane 104 within the blade server chassis 106 from the front of the chassis. Typically, two to 14 blades may be installed in a single blade server chassis 106. The midplane 104 contains connectors for receiving the server blades 102 and typically contains from one to four “lanes” or paths on a Printed Circuit Board (PCB) for carrying high-speed data signals. The midplane 104 therefore eliminates much of the cabling that was required with individual servers. The blade server chassis 106 also provides redundant common cooling and power to the server blades 102 through the midplane 104.
Conventional blade servers 100 may be connected to redundant external switch fabrics 108 through interface cards such as an “A” side Input/Output (I/O) switch 110 and a “B” side I/O switch 112, which plug into the midplane 104 from the back of the chassis 106. Typically, the redundancy enables one switch to take over if the other fails. Alternatively, in Switched Bunch Of Disk (SBOD) or Just a Bunch Of Disks (JBOD) implementations, a blade server may comprise multiple disk drives contained in SBODs or JBODs connected to the backplane through an interface card without a connection to the network, instead of the I/ O switches 110 and 112 shown in FIG. 1. In a typical SBOD, the server blades 102 have an I/O port directly on them, and talk to the drives over the midplane.
The blade server midplane 104 is typically rooted/designed to allow for one or more independent redundant fabrics or I/O protocols, such as Fibre Channel (FC), Ethernet or InfiniBand. In the case of a FC configuration, each embedded switch 110 and 112 may be a FC Arbitrated Loop (FC_AL) switch or a full fabric switch, with a separate port to connect to each of the multiple server blades 102 (but shown connected to only one server blade 102 in FIG. 1) over a FC link 116 or 118, and output ports for connecting to the external switched fabrics 108.
To enable the server blades 102 to communicate with the switch fabric, a mezzanine I/O card 114 that performs a Host Bus Adapter (HBA) (a.k.a. IOC) function is typically required in each server blade 102. These mezzanine I/O cards 114 may be mounted to the server blades 102 as daughter cards. Alternatively, an IOC may be mounted directly on the server blade. For purposes of this specification, mezzanine I/O cards 114, referred to herein, include both daughter cards and IOCs mounted directly onto the server blade. The connections to the mezzanine I/O card 114 include the two I/ O links 116 and 118 routed from each of the two embedded switches 110 and 112 through the midplane 104. The mezzanine I/O cards 114 follow the standard device driver model, so that when a server blade 102 with a mezzanine I/O card 114 is plugged into the midplane 104 and connected to an embedded switch 110 or 112, it appears to be a standalone server communicating with an external switch. Note that switches 110 and 112 in FIG. 1 may alternatively be replaced with “pass-through” transceiver cards.
Depending on where the I/ O switches 110 and 112 are plugged into the midplane 104, and where the server blades 102 are plugged into the midplane, the redundant data paths 116 and 118 may be drastically different in length, very similar in length, or anywhere in between. Given the conventional implementation of a blade server 100 as illustrated in FIG. 1, or alternatively in SBOD or JBOD implementations or any backplane/midplane system with redundant data paths, the different lengths will cause each of the two redundant data paths 116 and 118 to have different and distinguishable losses at all frequencies, provided impedance matching of the system is maintained to a reasonable degree. These differences may cause transmission errors and unacceptable error rates, among other things.
In some legacy blade servers, the driver circuitry generates the best signal possible, and the receiver circuitry simply receives the transmitted signals with differences in attenuation, however large or small, as influenced by the path lengths. However, because frequencies and data rates have increased, resulting in higher signal attenuation, especially at the upper (higher) frequencies of the data signal (and hence more deterministic jitter), conventional modern systems may employ transmitter circuits with pre-emphasis on their transmit outputs in an attempt to transmit data with an enhanced frequency response in order to receive a flat frequency response at the far or “receiving” end, and achieve acceptable bit error rates.
Referring to FIG. 2, a standard amplifier 200 in a transmitter circuit generates an output “eye” diagram 202 in the time domain. At lower frequencies, the transmit signal peak-to-peak amplitude may be substantial as indicated at 204, but at higher frequencies, the transmit signal peak-to-peak amplitude may be less substantial as indicated at 206, and the eye will get progressively smaller. In the frequency domain, the higher frequencies taper off in amplitude, as indicated at 208. Given a 4.250 Gbit/sec signal, at 2125 MHz the amplitude may taper off by 6 dB, half the original voltage or more. Because of the rolloff of the amplifier at high frequencies, the eye in the time domain closes at those frequencies, and data can no longer be accurately transmitted with acceptable error rates, if at all.
To compensate for this frequency domain rolloff, programmable pre-emphasis circuitry can be added to the amplifiers to give the amplifier an equivalent boost at the higher frequencies. For example, firmware and registers can be employed to control the amount of boost (de-emphasis) by communicating a 3-bit word (e.g. 000 to 111) 210 to pre-emphasis circuitry 212 within the amplifier, which is well-understood by those skilled in the art. The pre-emphasis circuitry 212 is adjustable and provides internal compensation to compensate for the path so that the frequency response at the receiving end becomes relatively flat over all frequencies (see reference character 214), which is desirable. However, even though the true definition of pre-emphasis is boosting of the higher frequencies, the transmit amplifier is limited by its supply voltages. For example, if the transmit amplifier is supplied by a 3 volt rail, the eye cannot be more than 3 volts high (at which point “rail-out” occurs), and thus even with pre-emphasis the output amplitude cannot be more than 3 volts. Therefore, rather than boost the higher frequencies to above 3 volts, which is not possible, pre-emphasis circuitry actually maximizes the output at the upper frequencies (e.g. 2125 MHz) towards the upper rail (e.g. +3V), and de-emphasizes the lower frequencies to create the relatively flat frequency response. Depending on the bandwidth of the amplifier, the amplitude of the resultant eye will roughly correspond to the amplitude at which the rolloff occurs after equalization.
Alternatively or in addition to transmit circuit pre-emphasis, conventional modern systems may also have IOC integrated circuits with equalizers on their receiver inputs, or equalizer circuits external to and ahead of the IOC integrated circuits, to customize the frequency response for a particular path and equalize the redundant data paths so that they have approximately the same frequency response over a given frequency range.
Referring now to FIG. 3, at the transmitter end 300 pre-emphasis 314 may be used as described above to de-emphasize the lower frequencies (see reference character 302) to flatten out the frequency response as seen at the receiving end. However, after the signal passes through the transmission lines 306 in the midplane of the blade server, rolloff (see reference character 308) once again occurs at the higher frequencies at the receive end 310, and the signal level may be much lower (e.g. 250 mV peak to peak), which is not near any rail. If the transmitter cannot pre-emphasize enough to substantially reduce receive end rolloff, equalization 316 may be applied to the receive end to boost the higher frequencies with gain to raise the signal level of all frequencies, and flatten out the frequency response (see reference character 312) to some predetermined level acceptable to the receive end circuitry (e.g. 600 mV peak to peak).
Ideally, the amount of equalization and/or pre-emphasis applied to each transmit amplifier or receiver would be customized for the length of the path. Some modern conventional midplanes and devices do have some form of slot identification or path length determination built into their hardware. Slot identification typically requires either dedicated pins on interface connectors or semiconductors (such as Electrically Erasable Programmable Read Only Memories (EEPROMs)) to be designed into the original Backplane/Midplane.
However, in order to save on costs, companies also desire to re-use previous designs whenever possible, especially backplanes and midplanes already in service at customer sites that do not have slot identification. Without slot identification, it is difficult to determine the proper pre-emphasis and/or equalization settings for the path loss (link budget) at the faster data rates. Too much pre-emphasis or equalization will have the same effect as too little pre-emphasis or equalization, resulting in a higher bit error rate and less than optimized performance. Therefore, when a device such as a server blade is plugged into the midplane, either human assessment and intervention is required to determine the slot location, approximate the path lengths, and apply a custom amount of pre-emphasis and/or equalization to the transmit and receive circuits, or alternatively, a fixed “compromise” amount of pre-emphasis and/or equalization for an average path length is applied that hopefully works for both paths regardless of where the device is plugged into the midplane. The former approach is often not practical, and the latter approach may result in some slots having overdriven signals and others having underdriven signals, resulting in unacceptable error rates and the need for complicated gain control circuitry.
Therefore, there is a need to automatically identify and/or estimate the lengths of data paths between redundant interface devices and one or more IOCs within the blade server to assist in equalizing the frequency response of those data paths, without requiring dedicated pins on interface connectors or semiconductors designed into the midplane.
SUMMARY OF THE INVENTION
Embodiments of the present invention are directed to an apparatus and method for generating path length information for two (usually redundant) receive paths in a receiving device such as a server blade so that the proper amount of equalization and/or pre-emphasis may be applied to receiver and driver circuits in the server blade. In one embodiment, the path length information comprises a longer or shorter path determination, and may also include a estimation of the slot location. In another embodiment, the path length information comprises a representation of the length of receive paths. The path length information generating circuit is connected to the two receive inputs of the receiving device though high impedance elements, and the path length information may be utilized by hardware or a processor to set the equalization or pre-emphasis in the receiver and/or driver.
Embodiments of the present invention assume that the driver circuits in each of two redundant transmitting devices contain the same driver circuitry or adhere to the same standard for voltage output levels, such that the driving voltages should be within some reasonable range of each other. The driver outputs from the two transmitting devices travel a shorter path and a longer path within a midplane or backplane, where, due to copper and dielectric losses in the transmission lines, the frequencies in the long path are more highly attenuated than the frequencies in the short path.
When the transmission lines for these two paths enter the receiving device, they are routed to a receiver, typically a SERializer/DESerializer (SERDES). Near the receiving device, the transmission lines are sampled differentially by high impedance elements.
In the embodiment mentioned above in which the path length information generating circuit will give an indication as to whether the receiving device is inserted near the center of the midplane (or any location in the range of slot locations as identified by a threshold value) and which paths are the longer and shorter paths, the high impedance elements feed a differential amplifier for each data path to bring the signal to a usable level and to convert it into a single ended signal, thereby simplifying and reducing requirements for further stages. These amplifiers will typically have the same gain or amplification level.
Once amplified, the signals are fed into filters, which may be high pass filters or bandpass filters, depending on the data encoding and the high frequency components of the data being received. At high frequencies, where the long paths have significant loss as compared to the short paths, it is easier to compare the two paths. Thus, the filters may be bandpass filters that only pass frequencies at a selected high frequency.
The energy at those frequencies will pass through the filters and charge up envelope detectors. The output of the envelope detectors is a DC voltage equivalent to the peak value of the amplitude of the data frequency component desired. At this point, the path with the largest loss (the long path) will have significantly less voltage amplitude than the short path.
The two peak voltages from each of the envelope detectors are fed into a comparator, whose output provides an indication of which of the paths is the most highly attenuated, and therefore, which is the longer path. In particular, if the output of the comparator is a high voltage, the path connected to the + input of the comparator is the shorter path, and if the output is a low voltage, the path connected to the − input of the comparator is the shorter path.
To provide a better estimation of actual path lengths, the outputs of the envelope detectors can also be fed into a differential amplifier to amplify and scale the difference in the paths. If the receiving device is in a slot near the end of the midplane, the two paths are more likely to be significantly different in length, and the output of the differential amplifier is more likely to be large as compared to when the receiving device is inserted into a middle slot and the paths are more likely to be closer in length.
Setting a threshold on a second comparator and comparing it to the output of the differential amplifier can also provide an indication of the location of the receiving device as compared to the location represented by the threshold.
Once the longer and shorter path determination and the relative position determination has been made, this information may be converted to a digital value using an Analog to Digital (A/D) converter and can be used by hardware and/or a processor to set pre-emphasis settings for transmitters in the return paths of the receiving device (which may be the same as the receive path lengths), and/or equalizer settings for the receive path equalizers. Alternatively, instead of providing the relative position determination (output of the second comparator) to the hardware or processor, the output of the differential amplifier may be converted using an A/D converter and provided to the hardware or processor for making the relative position determination and pre-emphasis settings. This embodiment does not enable perfect equalization/pre-emphasis, but provides an approximate indication of where the receiving device is plugged into the midplane so the hardware and/or processor can set the equalization with some level of intelligence.
In the embodiment mentioned above in which the path length information comprises a representation of the length of receive paths, slot identification circuitry is disclosed that takes advantage of the fact that interface boards such as I/O switches are plugged into fixed positions in the midplane and connect to receiving devices such as controller cards or server blades via known fixed-length paths. Because the path length information is known, a path length or slot position indicator can be sent to the receiving devices in the form of a unique common mode DC voltage across the FC (or other high speed serial interface) transmission lines, allowing that device to know its path length or slot location so that it can determine pre-emphasis and or equalizations settings best suited for that path.
In this second embodiment, after the signals are sampled differentially by high impedance elements, the sampled signals are fed into low pass filters. The output of each filter is the applied common mode DC voltage representing the length of that particular path. The DC voltages may be converted to digital values using A/D converters and can be used by hardware and/or a processor to set pre-emphasis settings for transmitters in the return paths of the receiving device and/or equalizer settings for the receive path equalizers.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an illustration of an exemplary conventional blade server connected to an external switched fabric.
FIG. 2 is an illustration of an exemplary amplifier in a transmitter circuit and its corresponding output “eye” diagram in the time domain and rolloff in the frequency domain.
FIG. 3 is an illustration of an exemplary transmit amplifier and its compensated frequency response using pre-emphasis and an exemplary receive amplifier and its compensated frequency response using equalization.
FIG. 4 is an illustration of an exemplary blade server with a mezzanine I/O card employing a path length and slot estimation circuit according to embodiments of the present invention.
FIG. 5 is an illustration of an exemplary receiver and its rolled-off frequency response and a bandpass filter at the higher frequencies for use in determining path length and slot estimation according to embodiments of the present invention.
FIG. 6 is an illustration of an exemplary receiver and its rolled-off frequency response and bandpass filters at various frequencies for use in determining the actual frequency response and the proper equalization setting according to embodiments of the present invention.
FIG. 7 is an illustration of an exemplary blade server and I/O switches employing a path identification circuit according to embodiments of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
In the following description of preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the preferred embodiments of the present invention.
Although embodiments of the present invention may be described herein primarily in terms of FC signaling, it should be understood that the present invention is not limited to FC, but includes InfiniBand, Ethernet, Serial Attached Small Computer System Interconnect (SAS), Serial ATA (SATA) signaling and the like. Implementation of these protocols requires that the midplane support the protocol.
FIG. 4 is an illustration of an exemplary blade server 400 with multiple server blades 402, each server blade including a controller, host interface card, HBA, or IOC, and each server blade employing a path length and slot estimation circuit according to embodiments of the present invention. However, it should be understood that embodiments of the present invention are generally applicable to any system comprising two transmitting devices that transmit signals over a longer path and a shorter path to a receiving device. In the example of FIG. 4, server blades 402, an interface card such as an “A” side I/O switch 410 and a “B” side I/O switch 412 are plugged into a midplane 404 within a blade server chassis. It should be understood that in SBOD or JBOD implementations, a blade server may comprise multiple disk drives instead of the multiple server blades 402 shown in FIG. 4.
To enable the server blades 402 to communicate with a switch fabric through the redundant I/O switches 410 and 412, a mezzanine I/O card 414 that performs an HBA (a.k.a. IOC) function may be employed in each server blade 402. The connections to the mezzanine I/O card 414 include two differential I/O links (transmission lines) 416 and 418 routed from each of the two redundant I/O switches 410 and 412 through the midplane 404. Note that although only the mezzanine I/O card receive paths 416 and 418 are illustrated in FIG. 4 for simplicity, the mezzanine I/O card 414 may also include drivers 446 and transmit paths (not shown) for sending signals to the redundant I/O switches 410 and 412. In addition, although FIG. 4 illustrates differential signals, embodiments of the present invention are also applicable to single-ended signals.
In the example of FIG. 4, redundant I/O switches 410 and 412 contain the same driver circuitry or adhere to the same standard for voltage output levels, such that the driving voltages are within some reasonable range of each other. The driver outputs from each I/ O switch 410 and 412 travel the short path 416 and the long path 418, respectively, where, due to copper and dielectric losses, the frequencies in the long path are more highly attenuated (e.g. 10 dB loss) than the frequencies in the short path (e.g. 2 dB loss). More importantly, the higher frequency components of the data signal will be attenuated the most, causing a much larger difference in attenuation between the short and long paths than at the lower frequencies where both copper and dielectric losses are small. After the transmission lines 416 and 418 for these two paths enter the mezzanine I/O card 414 on the server blade 402, they are routed to a receiving circuit, typically a SERializer/DESerializer (SERDES) 420.
The path length and slot estimation circuit according to embodiments of the present invention is shown surrounding the SERDES 420 in the example of FIG. 4. Although the path length and slot estimation circuit is shown in FIG. 4 within the mezzanine I/O card 414, it may be located in other locations on the server blade 402 or receiving device. The path length and slot estimation circuit will give an indication as to whether the receiving device (e.g. server blade 402) is inserted near the center of the midplane 404 (or any location in the range of slot locations as identified by a threshold value) and which paths are the longer and shorter paths. With this information, other hardware 422 or a processor 424 operating under the control of firmware may control an equalization circuit in the receivers 448, well-understood by those skilled in the art, to flatten out the frequency response of the received signals. The equalization may be built into the receiver 448 in the SERDES 420, as shown in FIG. 4, or may be external to the SERDES.
Near the receiver 420 (how near depends on the data rate and frequencies involved) the transmission lines 416 and 418 are sampled differentially by high impedance elements 426. Note that the high impedance elements 426 must be placed before the equalization circuitry 448. These high impedance elements 426 are high enough impedance as compared to the impedance of the transmission lines 416 and 418 (on the order of 10× or more) so as to sample the data stream, but not disturb the data being received.
The high impedance elements 426 feed a differential amplifier 428 (in the case of differential signals) for each data path to bring the signal to a usable level and to convert it into a single ended signal, thereby simplifying and reducing requirements for further stages. These amplifiers 428 will typically have the same gain or amplification level. If the redundant data paths are single-ended, a differential amplifier is not needed, and if the signal levels are high enough, no amplifier may be needed. FIG. 5 illustrates the frequency response 500 of the long transmission line path 418 of FIG. 4 after amplification by amplifier 428. Note that in FC embodiments, at high frequencies around 2125 MHz, the amplitude has dropped by 6 dB (could be 0 dB to 14 dB, typically).
Referring again to FIG. 4, once amplified, the signal is fed into a filter 430, which may be a high pass filter or bandpass filter well-understood by those skilled in the art, depending on the data encoding and the high frequency components of the data being received. The filter 430 can be comprised of discrete components or implemented on a printed circuit board using microwave filter techniques in order to keep the cost of the implementation low.
The design of the filter 430 may be dependent on the communication protocol. For example, the FC protocol allows only up to five zeroes in a row before a one must be inserted, or up to five ones in a row before a zero must be inserted. This requirement establishes the lowest frequency that will be transmitted, which happens to be around 425 MHz. On the other hand, if every bit was toggled, the highest data frequency of 2125 MHz would result. Thus, all permissible data patterns with have a frequency between these two ranges, not including sidebands.
As noted above, the amplitude differences are greatest at the high frequencies. For example, if two disk drives are powered by a 3V rail, the best amplitude that could be expected at 2125 MHz may be about 2.7V. If one of the transmission line paths is short, the signal may drop by only 1 dB (e.g. to 2.5V), while a long transmission line path may drop by 12 dB (e.g. to 0.7V). Therefore, at high frequencies, where the long paths have significant loss as compared to the short paths, it is easier to compare the two paths. Thus, in a FC embodiment, the filter 430 may be a bandpass filter that only passes frequencies at around 2125 MHz. Referring again to FIG. 5, the effect of this filter is to have a bandpass region 502 around 2125 MHz.
Referring again to FIG. 4, as data flows through the transmission lines 416 and 418, certain patterns will generate frequencies at 2125 MHz that pass through filter 430. The energy at those frequencies will charge up an envelope detector 432 within a path length determination circuit 450. In the example of FIG. 4, the envelope detector 432 is comprised of a rectifier in series with the signal and an integrator capacitor shunted to ground. However, other designs well-understood to those skilled in the art are possible. Note, however, that the envelope detector design must allow an element such as a capacitor to charge up and hold its charge during continuous monitoring, to determine the peak envelope (amplitude of the voltage). The output of the envelope detectors 432 is a DC voltage equivalent to the peak value of the amplitude of the data frequency component desired. At this point, the path with the largest loss (the long path) will have significantly less voltage amplitude that the short path.
The two peak voltages from each of the envelope detectors 432 are fed into comparator 434 within the path length determination circuit 450, whose output provides an indication of which of the paths is the most highly attenuated, and therefore, which is the longer path. In particular, if the output of the comparator is a high voltage, the shorter path is transmission line 416 (and the longer path is transmission line 418), and if the output is a low voltage, the shorter path is transmission line 418 (and the longer path is transmission line 416). It should be noted, however, that the longer and shorter path determinations are only relative to each other, and do not provide any indication of actual length. For example, if the server blade 402 is plugged into an end slot on the midplane 404, the difference in length between the two transmission lines 416 and 418 may be large, and clearly one path is long compared to the other. However, if the server blade 402 is plugged into a middle slot on the midplane 404, the difference in length between the two transmission lines 416 and 418 may be small, yet one medium length path will be considered the longer path and the other will be considered the shorter path. Furthermore, depending on the locations of the I/O switches 410 and 412, the two transmission lines 416 and 418 may both be very short and nearly identical in length, yet one will be considered to be the longer path. Conversely, the two transmission lines 416 and 418 may both be very long and nearly identical in length, yet one will be considered to be the shorter path.
To provide a better estimation of actual path lengths, the outputs of the envelope detectors 432 can also be fed into a differential amplifier 436 to amplify and scale the difference in the paths. If the server blade 402 is in a slot near the end of the midplane 404, the two paths are more likely to be significantly different in length, and the output of the differential amplifier 436 is more likely to be large as compared to when the server blade 402 is inserted into a middle slot and the paths are more likely to be closer in length.
Setting a threshold 438 on a second comparator 440 and comparing it to the output of the differential amplifier 436 can also provide an indication of the location of the receiving device as compared to the location represented by the threshold. For example, a receiving device located near an end of the midplane 404 may have large path length differences that shows up as a large voltage (e.g. 3V) on the output of the differential amplifier 436, a receiving device located near the middle of the midplane may have small path length differences that shows up as a small voltage (e.g. 0.3V) on the output of the differential amplifier, and a receiving device located halfway between the end and the middle of the midplane (a “quarter” location) may have medium path length differences that shows up as a medium voltage (e.g. 1.5V) on the output of the differential amplifier. The threshold 438 can be set in advance to any of these voltages to represent any of these slot locations. When the comparator 440 compares the threshold 438 to the output of the differential amplifier, the slot location of the receiving device can be approximated. For example, if the threshold 438 is set to 1.5V (representing the “quarter” location) and connected to the − input of the comparator 440, and the output of the differential amplifier 436 is connected to the + input of the comparator, then if the output of the comparator is high, this is an indication that the receiving device is located nearer to the end of the midplane than the “quarter” location.
Once the longer and shorter path determination and the relative position determination has been made, this information may be converted to a digital value using A/D converters 454 and can be used by hardware 422 and/or processor 424 to set pre-emphasis settings for drivers/transmitters 446 in the return paths (which are typically approximately the same as the receive path lengths), and/or equalizer settings for the receivers 448. For example, the digital values generated by the A/D converters 454 may cause the hardware 422 and/or processor 424 to set the receive circuit equalization 448 to one of 16 different values. In an alternative embodiment, the digital values may directly toggle certain bits that program an equalizer to provide more or less boost. In another alternative embodiment, these measurements could be taken once, at startup, and the pre-emphasis or equalization manually set at that point. In yet another alternative embodiment, instead of using the second comparator 440 to provide a relative position determination, the output of the differential amplifier 436 may be converted to a digital value using an A/D converter 454 and provided to the hardware or processor for making the relative position determination and pre-emphasis settings. Embodiments of the present invention do not enable perfect equalization/pre-emphasis, but it at least provides a rough indication of where the server blade 402 is plugged into the midplane 404 so the hardware 422 and/or processor 424 can set the equalization/pre-emphasis with some level of intelligence.
Referring now to FIG. 6, which illustrates the frequency response of the long transmission line path 418 of FIG. 4 after amplification by amplifier 428, note that the frequency responses is different at different frequencies (e.g. 2125 MHz, 1063 MHz, 708 MHz, and 425 MHz). In an alternative embodiment of the present invention, a bandpass filter could be employed at a set of different frequencies along with an envelope detector to determine the amplitude at each of these frequencies. With this information, it is possible to determine the best equalization (e.g. which one of 16 possible settings) is needed to most closely compensate for the rolloff and make it flat.
Embodiments of the present invention described above are directed to a path length and slot estimation circuit for use where no slot identification circuitry is present. In alternative embodiments of the present invention described below, slot identification circuitry is disclosed that takes advantage of the fact that interface boards such as I/O switches are plugged into fixed positions in the midplane and connect to receiving devices such as controller cards or server blades via known fixed-length paths. Because the path length information is known, a path length or slot position indicator can be sent to the receiving devices via a unique common mode DC voltage across the FC (or other interface) transmission lines, allowing that device to know its path length or slot location so that it can determine pre-emphasis and or equalizations settings best suited for that path.
It should be understood that “in-band” communications (data streams added to faster data streams, using lower frequencies than the system Phase-Locked Loops (PLLs) can track) have been used in many applications. While the information in this alternative embodiment is traveling along a shared transmission line, there is no data stream involved as the information is a DC level (zero frequency, requiring DC blocks on the transmission lines) and it travels the lines in common mode, making interference with the FC data signal literally non-existent.
FIG. 7 is an illustration of an exemplary blade server 700 with I/O switch A 710 and I/O switch B 712 and multiple server blades 702 (although only one is shown in FIG. 7), each I/O switch and server blade employing slot identification circuitry according to embodiments of the present invention. However, it should be understood that embodiments of the present invention are generally applicable to any system comprising two transmitting devices that transmit signals over a longer path and a shorter path to a receiving device. In the example of FIG. 7, the server blades 702, the “A” side I/O switch 710 and the “B” side I/O switch 712 are plugged into a midplane 704 within a blade server chassis. It should be understood that in SBOD or JBOD implementations, a blade server may comprise multiple disk drives instead of the multiple server blades 702 shown in FIG. 7, and would more properly be referred to as an SBOD or JBOD.
To enable the server blades 702 to communicate with a switch fabric through the redundant I/O switches 710 and 712, a mezzanine I/O card 714 that performs an HBA (a.k.a. IOC) function may be employed in each server blade 702. The connections to the mezzanine I/O card 714 include two differential I/O links (transmission lines) 716 and 718 routed from each of the two redundant I/O switches 710 and 712 through the midplane 704. Note that although only the mezzanine I/O card receive paths are illustrated in FIG. 7 for simplicity, the mezzanine I/O card 714 also includes drivers 782 for sending signals to the redundant I/O switches 710 and 712 over transmit paths (not shown). In addition, although FIG. 7 illustrates differential signals, embodiments of the present invention are also applicable to single-ended signals.
In the blade server 700 of FIG. 7 (or a JBOD, SBOD or any backplane/midplane system with dual paths), each of the redundant I/O switches A 710 and B 712 must have a priori information about which slot each pair of transmission lines are going to, because the traces in the midplane 704 must have been designed in advance. In other words, upon completion of the design phase for the midplane 704, the transmission line lengths are known for all connections between I/O switch A 710 and the slots on the midplane, and for all connections between I/O switch B 712 and the slots on the midplane. In one embodiment, both sets of path length information may be stored on an I/O switch in a memory device, which may include read-only memory, voltage dividers, or the like. After the I/O switch is plugged into either the A or B side, then a redundant I/O switch location identifier such as a switch 758 may be used to identify whether the I/O switch is plugged into the A or B side slot. Alternatively, the I/O switch may automatically identify its slot location after it is plugged into a slot by using a redundant I/O switch location identifier to read one or more slot location identification pins in the connector, or the redundant I/O switch location identifier may be a manually configured jumper which is installed before the I/O switch is inserted into a particular slot. Once the A or B side information is known, the correct A or B side information can be retrieved, and each I/O circuit 754 in the I/O switch can know precisely the path lengths that it is connected to. With this path length information, each I/O circuit 754 may set the pre-emphasis and or equalization for its driver 762 and receiver 764 accordingly.
On the other hand, because each server blade 702 can be plugged into any slot on the midplane 704, the server blades 702 do not know where their respective transmission lines are going. However, it would be desirable for the server blades 702 to identify the position or slot into which it has been inserted, or know the path length for signals received from the I/O switches across the midplane 704. With this information, the server blades 702 would be able to program optimized transmitter 782 and receiver 778 settings (pre-emphasis and/or equalization) for the data link.
To provide this path length information to the server blades 702 across the midplane 704 without utilizing dedicated pins and/or connectors, each of the redundant I/O switches 710 and 712 contains a slot IDentification (ID) circuit 756 in each of the I/O circuits 754 employed for facilitating communications between server blade slots in the blade server 700. Each I/O circuit 754 includes a driver 762 and receiver 764 pair and a slot ID circuit 756 coupled to the driver signal paths. The slot ID circuit 756 is fed by a slot voltage input 760, which provides an injected DC voltage representing the path length or slot number of the transmission line connecting the driver 762 to a slot on the other side of the midplane 704.
The slot ID circuit 756 will send a DC voltage in common mode along the FC (or other high speed serial interface) transmission lines, allowing the I/O switches to communicate path length or position or slot ID information to the server blades 702. In FIG. 7, I/O switch A 710 generates an agreed upon DC voltage 760 in each I/O circuit 754 for each of the paths it must communicate across, already knowing where those paths are routed. This may be accomplished using a Digital-to-Analog (D/A) converter, regulator, transistor, simple voltage divider, or the like. This DC voltage 760 (chosen at the time of the design of the circuit) corresponds to the information needed to be communicated. Each I/O circuit 754 may also communicate its own pre-emphasis and or equalization settings via the DC voltage value. The DC slot voltage 760 is first filtered via low pass filter 766 to remove any frequency (noise) components that might interfere with the desired data transmission, and is then coupled into the transmission lines 770 via high impedance elements 768. Elements 768 may be simply resistors, Radio Frequency (RF) chokes, bias T's, or any device capable of coupling in a DC voltage while having sufficiently high impedance at the desired data frequencies so as not to disturb the data communication. The transmission lines 770 must be DC blocked at 772 (typically using a coupling capacitor) in order to keep the common mode voltage from interfering with driver 762.
In the example of FIG. 7, one I/O circuit 754 in I/O switch A 710 coupled to slot 3 is shown, and one I/O circuit in I/O switch B 712 coupled to slot 3 is shown, for purposes of illustrating the alternative embodiment. The driver outputs from these I/O circuits travel the shorter path 716 and the longer path 718 and enter the mezzanine I/O card 714 on the server blade 702, where they are routed to a receiving circuit, typically a SERDES 720.
The injected common mode DC voltage is again DC blocked at 776 in order to prevent the DC voltage from interfering with receiver 778. Near the SERDES 720 the transmission lines 716 and 718 are sampled differentially by high impedance elements 726. These high impedance elements 726 are high enough impedance as compared to the impedance of the transmission lines 716 and 718 (on the order of 10× or more) so as to sample the data stream, but not disturb the data being received. The sampled injected DC voltage is then low pass filtered by filter 774 and converted to a digital value by A/D converter 780 with the path length determination circuit 788. Note that A/D converter 780 could also be implemented in a window comparator. Once the hardware 722 and/or processor 724 within the path length determination circuit 788 receives the digital value, it can determine the path length and how much pre-emphasis and or equalization is needed on its side of the link. Hardware 722 and/or processor 724 can then independently program the drivers 778 and/or receivers 782 of each SERDES 720 with the appropriate values via control signals 784 and 786, respectively, to equalize the path losses and provide minimum bit error rate across its links.
The slot identification circuitry in the server blade 702 according to alternative embodiments of the present invention is shown surrounding the SERDES 720 in the example of FIG. 7. However, it should be understood that although the slot identification circuitry is shown in FIG. 7 within the mezzanine I/O card 714, it may be located in other locations on the server blade 702 or receiving device.
Although the present invention has been fully described in connection with embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the present invention as defined by the appended claims.

Claims (25)

1. An apparatus in a receiving device for generating path length information for first and second receive paths, comprising:
first and second filters coupled to the first and second receive paths for receiving communication signals and providing first and second filter outputs passing only those communication signals having first and second DC voltage values at about a zero frequency, the first and second DC voltage values representative of lengths of the first and second receive paths, wherein the communication signals are generated by a transmitter coupled to the receiving device, the transmitter configured to determine the first and second DC voltage values based on the lengths of the first and second receive paths and to transmit the first and second DC voltage values onto the first and second receive paths, the first and second receive paths being output paths of the transmitter; and
a path length determination circuit coupled to the first and second filter outputs, the path length determination circuit comprising first and second Analog to Digital (A/D) converters coupled to the first and second filters for converting the first and second DC voltage values indicating the lengths of the first and second receive paths into first and second digital values.
2. The apparatus as recited in claim 1, further comprising one or more first and second high impedance elements coupled between the first and second receive paths and the first and second A/D converters for sensing the communication signals on each of the first and second receive paths.
3. The apparatus as recited in claim 1, further comprising:
first and second receivers coupled to each of the first and second receive paths; and
first and second equalization circuits within the first and second receivers for adjusting a frequency response of the first and second receive paths;
wherein the path length determination circuit further comprises a circuit coupled between the first and second A/D converters and the first and second equalization circuits for controlling the first and second equalization circuits to flatten out the frequency response of each of the first and second receive paths in accordance with the first and second digital values.
4. A mezzanine I/O card comprising the apparatus of claim 1.
5. A server blade comprising the mezzanine I/O card of claim 4.
6. A blade server comprising the server blade of claim 5.
7. The blade server as recited in claim 6, including at least two transmitting devices couplable to a midplane, each transmitting device including one I/O circuit for each receiving device slot on the midplane, each I/O circuit comprising:
a driver for driving communication signals out over a server blade receive path; and
a slot ID circuit coupled to an output of the driver and a slot voltage input for injecting a DC voltage representing a known path length onto the receive path in accordance with the slot voltage input.
8. The blade server as recited in claim 7, each slot ID circuit including a low pass filter for filtering a slot voltage and injecting only DC voltages onto the receive path.
9. The blade server as recited in claim 8, each slot ID circuit including high impedance elements coupled between the a low pass filter and the receive path.
10. A Storage Area Network (SAN) comprising the blade server of claim 6.
11. A method for generating path length information in a receiving device for first and second receive paths, comprising:
providing first and second filters to receive and filter communication signals from the first and second receive paths and pass only those communication signals having first and second DC voltage values at about a zero frequency, the first and second DC voltage values representative of lengths of the first and second receive paths, wherein the communication signals are generated by a transmitter coupled to the receiving device, the transmitter configured to determine the first and second DC voltage values based on the lengths of the first and second receive paths and to transmit the first and second DC voltage values onto the first and second receive paths, the first and second receive paths being output paths of the transmitter;
using a path length determination circuit to generate first and second receive path length information from the first and second DC voltage values from the filtered communication signals; and
converting, by one or more Analog to Digital (A/D) converters in the path length determination circuit, the first and second DC voltage values indicating the lengths of the first and second receive paths into first and second digital values.
12. The method as recited in claim 11, further comprising sensing, by one or more first and second high impedance elements, the communication signals on each of the first and second receive paths in a non-disruptive manner.
13. The method as recited in claim 11, further comprising:
equalizing, by first and second equalization circuits, the frequency response of each of the first and second receive paths in accordance with the first and second digital values.
14. The method as recited in claim 11, further comprising:
driving communication signals out over a server blade receive path;
applying a slot voltage; and
injecting a DC voltage representing a known path length onto the receive path in accordance with the slot voltage.
15. The method as recited in claim 14, further comprising low pass filtering the slot voltage to inject only the DC voltage onto the receive path.
16. The method as recited in claim 15, further comprising injecting the DC voltage onto receive paths in a non-disruptive manner.
17. A transmitting device couplable to a midplane, the midplane including multiple transmitting device slots for interfacing with the transmitting device and multiple receiving device slots for interfacing with multiple receiving devices, the transmitting device comprising:
multiple I/O circuits, one I/O circuit for each receiving device slot on the midplane, each I/O circuit for driving communication signals out over the midplane to the receiving device slot associated with the I/O circuit; and
one slot ID circuit within each I/O circuit for generating and injecting a DC voltage that represents a length of a receive path from the I/O circuit to the receiving device slot associated with the I/O circuit onto the communication signals being sent to the receiving device slot associated with the I/O circuit, wherein the transmitting device is configured to determine a value of the DC voltage based on the length of the receive path and to transmit the value of the DC voltage value onto the receive path, the receive path being an output path of the transmitting device.
18. The transmitting device as recited in claim 17, each I/O circuit comprising a driver for driving the communication signals out over the receive path associated with the I/O circuit, and wherein the slot ID circuit receives a slot voltage input and is coupled to an output of the driver for injecting a DC voltage representing a known path length onto the receive path in accordance with the slot voltage input.
19. The transmitting device as recited in claim 18, further comprising one or more memory devices for storing the slot voltage inputs representing the known path lengths of the receive paths from each of the I/O circuits to the receiving device slots associated with the I/O circuits for each transmitting device slot into which the transmitting device may be inserted.
20. The transmitting device as recited in claim 18, further comprising a transmitting device location identifier for identifying the transmitting device slot into which the transmitting device is inserted, and wherein each I/O circuit applies the proper slot voltage input in accordance with the transmitting device location identifier.
21. The transmitting device as recited in claim 18, each slot ID circuit including a low pass filter for filtering the slot voltage input and injecting only DC voltages onto the receive path.
22. The transmitting device as recited in claim 21, each slot ID circuit including high impedance elements coupled between the low pass filter and the receive path.
23. In a transmitting device couplable to a midplane, the midplane including multiple transmitting device slots for interfacing with the transmitting device and multiple receiving device slots for interfacing with multiple receiving devices, a method for communicating representations of lengths of receive paths from the transmitting device to each receiving device slot over communication signals being sent to each receiving device slot, the method comprising:
for each receive path,
receiving a slot voltage input at an I/O circuit, the I/O circuit including a slot ID circuit,
low pass filtering, by a low pass filter of the slot ID circuit, the slot voltage input, and
injecting, by the slot ID circuit, a DC voltage representing a known path length of the receive path onto the receive path in accordance with the filtered slot voltage input, the receive path being an output path of the transmitting device.
24. The method as recited in claim 23, further comprising providing one or more memory devices for storing the slot voltage inputs representing known path lengths of the receive paths from the transmitting device to each receiving device slot for each transmitting device slot into which the transmitting device may be inserted.
25. The method as recited in claim 24, further comprising:
identifying, by a device location identifier, the transmitting device slot into which the transmitting device is inserted; and
for each receive path, receiving, at the I/O circuit, the proper slot voltage input in accordance with the identified transmitting device slot.
US11/369,326 2006-03-06 2006-03-06 Data path differentiator for pre-emphasis requirement determination or slot identification Expired - Fee Related US8004997B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/369,326 US8004997B2 (en) 2006-03-06 2006-03-06 Data path differentiator for pre-emphasis requirement determination or slot identification
US13/166,691 US8767768B2 (en) 2006-03-06 2011-06-22 Data path differentiator for pre-emphasis requirement or slot identification
US14/281,394 US20140258585A1 (en) 2006-03-06 2014-05-19 Data path differentiator for pre-emphasis requirement determination or slot identification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/369,326 US8004997B2 (en) 2006-03-06 2006-03-06 Data path differentiator for pre-emphasis requirement determination or slot identification

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/166,691 Continuation US8767768B2 (en) 2006-03-06 2011-06-22 Data path differentiator for pre-emphasis requirement or slot identification

Publications (2)

Publication Number Publication Date
US20070205822A1 US20070205822A1 (en) 2007-09-06
US8004997B2 true US8004997B2 (en) 2011-08-23

Family

ID=38470945

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/369,326 Expired - Fee Related US8004997B2 (en) 2006-03-06 2006-03-06 Data path differentiator for pre-emphasis requirement determination or slot identification
US13/166,691 Active 2026-03-07 US8767768B2 (en) 2006-03-06 2011-06-22 Data path differentiator for pre-emphasis requirement or slot identification
US14/281,394 Abandoned US20140258585A1 (en) 2006-03-06 2014-05-19 Data path differentiator for pre-emphasis requirement determination or slot identification

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/166,691 Active 2026-03-07 US8767768B2 (en) 2006-03-06 2011-06-22 Data path differentiator for pre-emphasis requirement or slot identification
US14/281,394 Abandoned US20140258585A1 (en) 2006-03-06 2014-05-19 Data path differentiator for pre-emphasis requirement determination or slot identification

Country Status (1)

Country Link
US (3) US8004997B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8767768B2 (en) 2006-03-06 2014-07-01 Emulex Corporation Data path differentiator for pre-emphasis requirement or slot identification
US9311263B2 (en) * 2013-03-15 2016-04-12 Dell Products L.P. Input/output switching module interface identification in a multi-server chassis

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8948166B2 (en) * 2006-06-14 2015-02-03 Hewlett-Packard Development Company, Lp. System of implementing switch devices in a server system
US8126402B1 (en) * 2006-12-05 2012-02-28 Nvidia Corporation Transmission line common-mode filter
US7949041B2 (en) 2006-12-05 2011-05-24 Rambus Inc. Methods and circuits for asymmetric distribution of channel equalization between devices
US7850260B2 (en) * 2007-06-22 2010-12-14 Oracle America, Inc. Injection/ejection mechanism
US7783818B1 (en) * 2007-12-28 2010-08-24 Emc Corporation Modularized interconnect between root complexes and I/O modules
US9483089B2 (en) * 2012-10-12 2016-11-01 Dell Products, Lp System and method for integrating multiple servers into single full height bay of a server rack chassis
JP5954338B2 (en) * 2014-01-14 2016-07-20 横河電機株式会社 Instrumentation system and maintenance method thereof
US20170068628A1 (en) * 2015-09-08 2017-03-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing ethernet latency in a multi-server chassis
US10234894B1 (en) * 2016-06-22 2019-03-19 EMC IP Holding Company LLC Identification system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553248A (en) * 1983-06-10 1985-11-12 International Business Machines Corporation Analog adaptive magnitude equalizer
US5708703A (en) * 1993-11-30 1998-01-13 Lucent Technologies Inc. Wide range equalizer with line length detection
US5857087A (en) * 1994-08-23 1999-01-05 Timeplex, Inc. Method of handshaking in a data communications bus
US6236726B1 (en) * 1998-02-27 2001-05-22 Nortel Networks Limited Transmit power scaling for far-end crosstalk reduction
US20020143485A1 (en) * 2001-04-03 2002-10-03 Macronix International Co., Ltd. Equalizer with auto-calibration and self-test
US6625255B1 (en) * 1999-08-23 2003-09-23 Lucent Technologies Inc. Apparatus and method for communications loop characterization
US6647117B1 (en) * 1999-08-16 2003-11-11 Nortel Networks Limited Continuity of voice carried over DSL during power failure
US20040145879A1 (en) * 2003-01-23 2004-07-29 Hensley James D. Multi-slot CompactPCI blade assembly
USRE40038E1 (en) * 1998-04-03 2008-01-29 Gennum Corporation Latch-up recovery in quantized feedback DC restorer circuits
US20090031014A1 (en) * 2005-02-09 2009-01-29 International Business Machines Corporation Multi-Tiered Boot List

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4605637B2 (en) * 2004-07-29 2011-01-05 株式会社日立製作所 Storage device system and signal transmission method in storage device system
US8004997B2 (en) 2006-03-06 2011-08-23 Emulex Design & Manufacturing Corporation Data path differentiator for pre-emphasis requirement determination or slot identification

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553248A (en) * 1983-06-10 1985-11-12 International Business Machines Corporation Analog adaptive magnitude equalizer
US5708703A (en) * 1993-11-30 1998-01-13 Lucent Technologies Inc. Wide range equalizer with line length detection
US5857087A (en) * 1994-08-23 1999-01-05 Timeplex, Inc. Method of handshaking in a data communications bus
US6236726B1 (en) * 1998-02-27 2001-05-22 Nortel Networks Limited Transmit power scaling for far-end crosstalk reduction
USRE40038E1 (en) * 1998-04-03 2008-01-29 Gennum Corporation Latch-up recovery in quantized feedback DC restorer circuits
US6647117B1 (en) * 1999-08-16 2003-11-11 Nortel Networks Limited Continuity of voice carried over DSL during power failure
US6625255B1 (en) * 1999-08-23 2003-09-23 Lucent Technologies Inc. Apparatus and method for communications loop characterization
US20020143485A1 (en) * 2001-04-03 2002-10-03 Macronix International Co., Ltd. Equalizer with auto-calibration and self-test
US20040145879A1 (en) * 2003-01-23 2004-07-29 Hensley James D. Multi-slot CompactPCI blade assembly
US20090031014A1 (en) * 2005-02-09 2009-01-29 International Business Machines Corporation Multi-Tiered Boot List

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8767768B2 (en) 2006-03-06 2014-07-01 Emulex Corporation Data path differentiator for pre-emphasis requirement or slot identification
US9311263B2 (en) * 2013-03-15 2016-04-12 Dell Products L.P. Input/output switching module interface identification in a multi-server chassis
US9588926B2 (en) 2013-03-15 2017-03-07 Dell Products L.P. Input/output swtiching module interface identification in a multi-server chassis

Also Published As

Publication number Publication date
US20070205822A1 (en) 2007-09-06
US20140258585A1 (en) 2014-09-11
US20110249570A1 (en) 2011-10-13
US8767768B2 (en) 2014-07-01

Similar Documents

Publication Publication Date Title
US8767768B2 (en) Data path differentiator for pre-emphasis requirement or slot identification
EP2183675B1 (en) Apparatus and method for detecting cable length in a storage subsystem with wide ports
EP1622036B1 (en) Storage device system and signal transmission method for storage device system
CN108418582B (en) Method, driver and system for transmitting signals
US7259482B2 (en) Distance extender and method making use of same
US7420375B2 (en) Method for digital bus testing
US11137550B2 (en) Bypass switch for managing active ethernet cable
JP3419411B2 (en) Circuit card with low profile removable interface
US20130202016A1 (en) Data transfer cable system and method
US10877233B1 (en) Active ethernet cable with preset pre-equalization
US11552873B2 (en) Debugging arrangement for active ethernet cable
US6463496B1 (en) Interface for an I2C bus
US7885282B2 (en) Dynamic control of physical layer quality on a serial bus
US9960811B1 (en) DC bias signals isolatable from transmission protocols
US6973407B1 (en) Method and system for capturing data to create Serial ATA eye diagram
US20040184721A1 (en) Providing reconditioned signals at a plurality of ports

Legal Events

Date Code Title Description
AS Assignment

Owner name: EMULEX DESIGN & MANUFACTURING CORPORATION, CALIFOR

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOVANOVICH, ALAN FRANK;HOLNESS, STEPHEN EUGENE;REEL/FRAME:017660/0161;SIGNING DATES FROM 20060216 TO 20060224

Owner name: EMULEX DESIGN & MANUFACTURING CORPORATION, CALIFOR

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOVANOVICH, ALAN FRANK;HOLNESS, STEPHEN EUGENE;SIGNING DATES FROM 20060216 TO 20060224;REEL/FRAME:017660/0161

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: EMULEX CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMULEX DESIGN AND MANUFACTURING CORPORATION;REEL/FRAME:032087/0842

Effective date: 20131205

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMULEX CORPORATION;REEL/FRAME:036942/0213

Effective date: 20150831

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001

Effective date: 20160201

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001

Effective date: 20170119

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001

Effective date: 20170119

AS Assignment

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE

Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047422/0464

Effective date: 20180509

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048883/0702

Effective date: 20180905

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20230823