Dynamic synchronization of data capture on an optical or other high speed communications link

Information

  • Patent Grant
  • 8892974
  • Patent Number
    8,892,974
  • Date Filed
    Monday, May 14, 2012
    12 years ago
  • Date Issued
    Tuesday, November 18, 2014
    9 years ago
Abstract
A method that dynamically adjusts link control parameters of a communications network. The communications network includes a transmitter coupled through a first data link to a receiver. The transmitter and receiver each have at least one associated link control parameter that affects the operation of that component. According to one method, data signals are transmitted over the first data link and the transmitted data signals are captured. The values of the captured data signals are compared to expected values for those signals, and the values of the link control parameters are adjusted to successfully capture the transmitted digital signals.
Description
BACKGROUND OF THE INVENTION

The present invention relates generally to data communications systems, and more specifically to synchronizing a data communications system to ensure data signals transferred by the system are successfully transferred.


A conventional computer system 100 includes a processor 102 coupled through a system bus 104 to a system memory 106 as illustrated in FIG. 1. The system memory 106 includes a memory controller 108 coupled to the system bus 104 and coupled to three memory modules 110A-C though a common data bus DQ, address bus ADDR, and control bus CONT. Each memory module 110A-C includes a plurality of individual memory devices 112, one of which is shown on the memory module 110A. Each of the memory devices 112 is typically a dynamic random access memory (DRAM) since DRAMs form the largest portion of system memory 106 because they provide large storage capacity at relatively inexpensive prices. In response to a request from the processor 102, the memory controller 108 initiates a memory operation by providing a memory command in the form of control signals and a memory address (generally in the form of a row address and a column address) on the control bus CONT and address bus ADDR, respectively, to all of the memory modules 110A-C. If the memory operation is a write operation, the memory controller 108 will also apply write data to the memory modules 110A-C through the data bus DQ. To prevent all of the memory modules 110A-C from responding to the memory command, the memory controller 108 also generally applies a unique chip select or similar select signal over the control bus CONT to each of the memory modules 110A-C so that only the memory module receiving an active chip select signal responds to the memory command. Each memory module 110A-C may receive more than one chip select signal, with each group of memory devices 112 receiving the same chip select signal being designated a “rank” of memory.


Conventional processors 102 generally operate at a relatively high speed compared to the memory modules 110A-C. Because access to system memory 106 is a frequent operation of the processor 102, the slower operating speed of the memory 110A-C greatly slows the overall operation of the computer system 100, as will be appreciated by those skilled in the art. As a result, much effort has been put into increasing the data transfer rate or bandwidth of the data bus DQ to enable system memory 106 to transfer data more quickly. To increase the bandwidth of the data bus DQ, the width of the data bus has been increased, and new types of DRAM technology having much higher transfer speeds, such as RAMBUS DRAMs (“RDRAMs”) and synchronous link DRAMs (“SLDRAMs”), have also been developed. As the operating speed of the data bus DQ increases, however, noise, signal skew, a smaller data eye—which defines the duration for which the data signals are valid—and other factors make it more difficult to reliably transfer data over the data bus.


One approach that has been utilized in transferring data more reliably at high data transfer rates is an adaptive process of adjusting the delay between data signals and a clock signal transmitted along with the data signals. A receiving device captures the data signals in response to the clock signal. The process involves applying the clock signal and a pseudorandom bit pattern having known values on the data bus DQ. The timing relationship or delay between the data signals forming the pseudorandom bit pattern and the clock signal is thereafter adjusted through a series of values, and the bit pattern captured at each value of the delay. Because the pseudorandom bit pattern has known values, the captured data can be compared to the expected values to determine whether the bit pattern was successfully captured at each value of the delay between the bit pattern and the clock signal. The values for the delay between the bit pattern and the clock signal where the bit pattern was unsuccessfully captured are designated failing values, and the values where the bit pattern was successfully captured are designated passing values. The range of the passing values define the data eye of the applied bit pattern, and a final value of the delay between the bit pattern and the clock signal may be selected in the middle of the data eye to optimize the delay for successful capture of the bit pattern. This approach is described in more detail in U.S. Pat. No. 6,338,127 to Manning entitled METHOD AND APPARATUS FOR RESYNCHRONIZING A PLURALITY OF CLOCK SIGNALS USED TO LATCH RESPECTIVE DIGITAL SIGNALS, AND MEMORY DEVICE USING SAME, and in U.S. Pat. No. 6,374,360 to Keeth et al. entitled METHOD AND APPARATUS FOR BIT-TO-BIT TIMING CORRECTION OF A HIGH SPEED MEMORY BUS, both of which are incorporated herein by reference.


In addition to systems communicating via electrical signals, such as the RDRAM and SLDRAM technologies mentioned above, optically-based memory systems including an optical communications link between the memory controller 108 and memory modules 110A-C have also been developed to increase the bandwidth of system memory 106. In such optically-based systems, however, problems of transmitting and receiving optical signals between the memory controller 108 and the memory modules 110A-C result in unacceptably high bit error rates (BER) and continue to hamper the commercialization of such systems, particularly in system memories 106 having parallel, closely-spaced memory modules of the type found in many existing personal computer systems. For example, in an optically-based system the optical transmitter and receiver must be designed to have sufficient dynamic range to accommodate all possible variations in system memory parameters such as the total number of memory modules. Dynamic range defines the required operating range of a parameter of the receiver or transmitter, such as required power of a received optical signal for a receiver, as will be understood by those skilled in the art. Sufficient dynamic range is required to ensure optical signals are reliably transmitted and received, and transmitters and receivers having larger dynamic range are more costly, increasing the overall cost of optically-based memory systems.


There is a need for a system memory that reliably transfers data at a high bandwidth but has a relatively low cost for use in computer systems and other cost-sensitive applications.


BRIEF SUMMARY OF THE INVENTION

According to one aspect of the present invention, a method dynamically adjusts link control parameters of a communications network. The communications network includes a transmitter coupled through a first data link to a receiver, with the transmitter and receiver each have at least one associated link control parameter that affects the operation of that component. Data signals are transmitted over the first data link and the transmitted data signals are captured. The values of the captured data signals are compared to expected values for those signals, and the values of the link control parameters are adjusted to successfully capture the transmitted digital signals.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a functional block diagram of a portion of a conventional computer system including a system memory having a memory controller coupled through address, control, and data busses to a number of memory modules.



FIG. 2 is a functional block diagram of a portion of a system memory that executes an adaptive synchronization process of an optical communications link according to one embodiment of the present invention.



FIG. 3 is a flow chart illustrating the synchronization process executed by the system memory of FIG. 2 according to one embodiment of the present invention.



FIG. 4 is a functional block diagram of a computer system including the system memory of FIG. 2.





DETAILED DESCRIPTION


FIG. 2 is a functional block diagram of a portion of a system memory 200 including an optical communications link 202 for transferring data between a memory controller 204 and a memory device 206 according to one embodiment of the present invention. The optical communications link 202 includes an optical transmitter 208 that transfers write data from the memory controller 204 through a fiber-optic cable 210 or other suitable optical transmission medium to an optical receiver 212 which, in turn, provides the write data to the memory device 206, as will be described in more detail below. The optical communications link 202 further includes an optical transmitter 214 for transferring read data from the memory device 206 through the fiber-optic cable 210 to an optical receiver 216, which then provides the read data to the memory controller 204. Unlike prior optically-based memory systems, the system memory 200 executes an adaptive synchronization process of adjusting various operating parameters of the optical transmitters 208, 214 and optical receivers 212, 216 to reduce the bit error rate, lower the power consumption, and provide dynamic compensation for temperature and aging affects in the optical communications link, as will be described in more detail below. The system memory 200 executes this adaptive process to optimize the performance of the optical communications link 202 which, in turn, improves overall performance of the system memory by providing reliable high bandwidth data transfer between the memory controller 204 and memory device 206. During the adaptive process executed by the system memory 200, the memory device 206 provides to the memory controller 204 an error signal ES indicating whether particular data signals were successfully transferred over the optical communications link, as will be discussed in more detail below.


In the system memory 200, the optical communications link 202 corresponds to a data bus DQ for transferring data between the memory controller 204 and memory device 206. An address bus ADDR and control bus CONT are electrical busses through which the memory controller 204 applies address and control signals, respectively, to the memory device 206. With other embodiments of the system memory 200, the communications link 202 also includes the address and control busses ADDR, CONT for communicating address and control signals from the memory controller 204 to the memory device 206. Although only the single memory device 206 is depicted in FIG. 2, this is done merely for ease of illustration and description of the system memory 200, and the system memory would normally include one or more memory modules (see FIG. 1) each containing a plurality of memory devices. The memory controller 204 generates a plurality of control signals 218 that are applied to the transmitters 208, 214 and receivers 212, 216 to adjust the link control parameters of these components. In the following description of several embodiments of the present invention, certain details are set forth to provide a sufficient understanding of the invention, but one skilled in the art will appreciate that the invention may be practiced without these particular details. In other instances, the operation of well known components has not been shown or described in detail to avoid unnecessarily obscuring the present invention.


Before describing the overall adaptive synchronization process executed by the system memory 200, the operation of the optical transmitters 208, 214 and optical receivers 212, 216 will be described in more detail. Operation of the optical transmitters 208 and 214 is the same, as is the operation of the optical receivers 212 and 216, and thus, for the sake of brevity, only the operation of the transmitter 208 and receiver 212 will be described in more detail. The optical transmitter 208 receives a bit stream of electrical data signals from the memory controller 204, modulates an optical carrier signal with the received bit stream, and couples the modulated optical carrier into the fiber-optic cable 210. Typically, the optical transmitter 208 includes a light emitting diode (LED) or laser diode for generating the optical carrier signal. The optical transmitter 208 includes several operational parameters whose values are typically defined during design of the system containing the optical transmitter.


One such operational parameter of the optical transmitter 208 is a gain of the transmitter and determines the power of a light corresponding to the optical carrier signal that is coupled into the fiber-optic optic cable 210. The transmitter 208 must provide an optical carrier signal having sufficient power to propagate through the fiber-optic cable 210 and be received by the optical receiver 212. The gain of the optical transmitter 208 ensures the optical carrier signal a sufficient power to compensate for various losses in the communications link 202, such as attenuation in the fiber-optic optic cable 210 and losses resulting from inefficient coupling of the optical transmitter to the fiber-optic cable. Another operational parameter of the optical transmitter 208 is a pulse-shaping parameter that ensures the optical transmitter 208 generates an optical carrier signal having the required shape to allow the carrier signal to be reliably detected and demodulated by the optical receiver 212. When an LED is used as the light generation source in the optical transmitter 208, the pulse-shaping parameter compensates for differing turn ON and OFF times of the LED.


The optical receiver 212 senses or detects the received modulated optical carrier signal propagating through the fiber-optic optic cable 210, converts the modulated optical carrier signal into corresponding electrical signals, and demodulates the signal to obtain the originally transmitted data signals. Typically, the optical receiver 212 includes a photo diode for detecting the received modulated optical carrier signal. One operational parameter associated with the optical receiver 212 is an input threshold level or sensitivity that defines a minimum optical power the receiver can reliably detect at a given data rate in order to achieve a particular bit error rate. The optical receiver 212 may also include a link monitor, which is circuitry indicating when the received modulated optical carrier signal from the fiber-optic cable 210 is less than the required minimum optical power. Suitable circuitry for forming all components 202-216 in the system memory 200 will be understood by those skilled in the art, and thus, for the sake of brevity, such circuitry will not be described or depicted in more detail.


The overall process executed by the system memory 200 in adaptively adjusting the operational parameters of the optical transmitters 208, 214 and optical receivers 212, 216 will now be described in more detail with reference to the flowchart of FIG. 3. In the following description, the operational parameters of the transmitters 208, 214 and receivers 212, 216, may alternately be referred to as link control parameters since the values of these parameters affect or control the overall operation of the optical communications link 202. The process executed by the system memory 200 during write operations in synchronizing the transfer of write data from the memory controller 204 through the optical transmitter 208, cable 210, and optical receiver 212 to the memory device 206 will now be described in more detail with reference to FIG. 3. The process begins in step 300 and proceeds immediately to step 302 in which the memory controller 204 (FIG. 2) initializes the values of the various link control parameters associated with the optical transmitter 208 and optical receiver 212. Once the link control parameters have been initialized, the process goes to step 304 and the memory controller 204 applies synchronization data to the optical transmitter 208 in the form of a pseudorandom bit pattern. Such synchronization data may, for example, be a pseudorandom bit pattern including a known repeating sequence of pseudorandom bits. One suitable pseudorandom bit pattern is the pattern utilized in synchronizing SLDRAM memory devices, as will be understood by those skilled in the art. In response to the applied synchronization data, the optical transmitter 208 modulates the optical carrier signal which, in turn, is propagated through the fiber-optic cable 210 to the optical receiver 212.


From step 304, the process goes to step 306 and the memory device 206 captures the synchronization data transmitted over the optical communications link 202. More specifically, the optical receiver 212 detects, converts, and demodulates the received modulated optical carrier signal to obtain electrical received data signals that ideally should correspond to the originally transmitted synchronization data. The process proceeds to step 308 in which the electrical received data signals from the optical receiver 212 are transferred to the memory device 206 which, in turn, compares the values of the received data signals to expected values for those signals. The synchronization data has known values, and thus the memory device 206 is able to generate the expected values for the received data signals. For example, when the synchronization data is a pseudorandom bit pattern having a known repeating sequence of bits, the memory device 206 can determine expected values for the received data signals.


When the determination in step 308 is negative, meaning the received data signals do not equal the expected values for those signals, the process goes to step 310 and the memory device 206 activates the error signal ES. If the determination in step 308 is positive, which means the received data signals are equal to the expected values for those signals, the process goes to step 312 and the memory device 206 deactivates the error signal ES. From either step 310 or step 312, the process of proceeds to step 314 and the current value of the error signal ES associated with the current values of a link control parameters is stored. Note, the values of the error signal ES can be stored in the memory device 206 and later transferred to the memory controller 204 to these values may be transferred as they are generated. In the embodiment of FIG. 2, the error signal ES is an electrical signal and is applied to the memory controller 204 through a conventional electrical bus and not through the optical communications link 202.


After the value of error signal ES associated with the current link control parameters has been stored in step 314, the process goes to step 316 and the memory controller 204 and determines whether all values of the link control parameters have been tested. This determination indicates whether each link control parameter has been assigned every possible value within a possible range of values for the parameter. When the determination in step 316 is negative, the process goes to step 318 and the memory controller 204 adjusts the values of one or more link control parameters. The process then goes back and repeats steps 304-316 for the new values of the link control parameters established in step 318. In this way, the memory controller 204 repeatedly adjusts the values of link control parameters and thereafter transmits synchronization data to the memory device 206 through the optical communications link 202 which now operates according to the new values for the link control parameters. Each time the values of link control parameters are adjusted, the memory device 206 determines whether the received electrical data signals have their expected values and stores the error signal ES having the appropriate value that is associated with the current link control parameters. An array of error signals ES is thus generated, with the value of each error signal in the array being associated with particular values for the link control parameters.


The process continues executing steps 304-316 until the determination in step 316 is positive, meaning that all link control parameters have assumed all desired values. Thus, when the optical communications link 202 has been tested for all desired values of the link control parameters, the determination in step 316 is positive and the process proceeds to step 319. In step 319, if the memory controller 204 does not already contain the array of error signals ES generated during steps 304-316, the error signals are transferred to the memory controller 204. At this point, the memory controller 204 evaluates the array of error signals ES to determine optimal values for the link control parameters. The process then proceeds to step 320 and the memory controller 204 sets each of the link control parameters for the optical transmitter 208 and optical receiver 212 to the determined optimal value. From step 320, the synchronization process goes to step 322 and terminates, with the link control parameters of the optical transmitter 208 and optical receiver 212 having been set to values to be utilized during normal operation of the system memory 200.


Once the link control parameters of the optical transmitter 208 and optical receiver 212 have been set, the system memory 200 executes substantially the same process just described to adjust the link control parameters of the optical transmitter 214 and optical receiver 216 to optimal values and thereby synchronize the optical communication link 202 for read data transfer operations. Because the process of setting the link control parameters of the optical transmitter 214 and optical receiver 216 is substantially the same as just described and will be understood by those skilled in the art, this process will not, for the sake of brevity, be described in more detail.


The times at which the system memory 200 (FIG. 2) executes the synchronization process may be varied, and may be done, for example, upon initial power up of the system memory, periodically, or may be done in response to some other factor (e.g., voltage drifting outside a particular range). Moreover, the specific synchronization process, including which link control parameters are adjusted and the order in which such parameters are adjusted, may vary, as will be appreciated by those skilled in the art. In one embodiment, the system memory 200 adjusts the gain and pulse-shaping parameters of the optical transmitters 208, 214 and the sensitivity of the optical receivers 212, 216 are adjusted. In this embodiment, the synchronization process may adjust each link control parameter over its entire permissible range and store the associated error signals ES for that parameter. Each link control parameter is then set to a value in the middle of a “passing” range, which corresponds to a group of inactive ES signals for consecutive increments of the associated parameter. An iterative process could then be utilized to optimize all the link control parameters starting from these initial values. Alternatively, a prioritization algorithm can be executed by the system memory 200 in adjusting the link control parameters. For example, all link control parameters could be set to initial nominal values, the sensitivity of the optical receivers 212, 216 adjusted first to achieve low power consumption by the receivers. The gain of the optical transmitters 208, 214 could be adjusted next, with the pulse-shaping parameter adjusted last to effectively obtain vernier improvements of performance given the first two parameters. Another approach would be to try every possible combination of values for the gain, pulse-shaping, and sensitivity parameters, and establish the largest range of passing values for each parameter for all possible values of the other two parameters. This approach may be slow, however, given the potentially large number of combinations to be tried.


Referring back to FIG. 2, the adaptive synchronization process executed by the system memory 200 reduces the bit error rate of the optical communication link 202 by dynamically adjusting the link control parameters of the optical transmitters 208, 214 and optical receivers 212, 216 since a final value for each parameter is dynamically determined and thereafter utilized during normal operation of the system memory. The process also results in lower power consumption by the system memory 200 since the adjustment of the link control parameters optimizes the operation of the link 202 instead of assigning link control parameters of components 208-216 within the link predetermined values that must ensure proper operation for all configurations of the system memory 200. For example, by adaptively adjusting the gain of the optical transmitters 208, 214, the power consumption of the transmitters is decreased since the transmitter need not provide a fixed amount of optical energy to ensure proper operation, unlike in conventional optical communications links where the transmitter supplies a minimum amount of optical power, which may be more power than is needed in some configurations. The dynamic synchronization process of the system memory 200 also adjusts for the affects of temperature, voltage, and aging affects of components 208-216 in the optical communications link 202, which may vary as a function of time.


The process for synchronizing the optical communications link 202 may also be combined with a synchronization process for adjusting the delay between the electronic data signals and a clock signals transmitted along with those electronic data signals. Such a synchronization process for electrical data signals and a clock signal was previously discussed with reference to the conventional system memory 106 of FIG. 1. In the system memory 200 of FIG. 2, the transfer of the electrical data signals between the memory controller 204 and the transmitter 208 and receiver 216 would typically be done responsive to an accompanying clock signal, as would the transfer of electrical data signals between the receiver 212 and transmitter 214 and the memory device 206. Thus, the synchronization process for the link control parameters may be combined with this other synchronization process to further improve reliability of the system memory 200. For example, the link control parameters of the transmitters 208, 214, and receivers 212, 216 may first be set according the above process. The values of the link control parameters may affect the delays introduced by the transmitters 208, 214, and receivers 212, 216. Thus, after the link control parameters are set, the transfer of data signals and clock signal can be synchronized for the transfer of data between the memory controller 204 and the transmitter 208, receiver 216 and for the transfer of electrical data signals between the receiver 212, transmitter 214 and the memory device 206.



FIG. 4 is a functional block diagram of a computer system 400 including the system memory 200 of FIG. 2. The computer system 400 includes computer circuitry 402 for performing various computing functions, such as executing specific software to perform specific calculations or tasks. In addition, the computer system 400 includes one or more input devices 404, such as a keyboard or a mouse, coupled to the computer circuitry 402 to allow an operator to interface with the computer system. Typically, the computer system 400 also includes one or more output devices 406 coupled to the computer circuitry 402, such output devices typically being a printer or a video terminal. One or more data storage devices 408 are also typically coupled to the computer circuitry 402 to store data or retrieve data from external storage media (not shown). Examples of typical storage devices 408 include hard and floppy disks, tape cassettes, and compact disk read only memories (CD-ROMs). The computer circuitry 402 is typically coupled to the system memory 200 through a conventional electronic control, data, and address busses to provide for writing data to and reading data from the system memory.


As previously mentioned, the optical communications link 202 could include other suitable transmission media in place of the fiber-optic cable 210 such as free space. Moreover, although the system memory 200 is described and depicted as including the optical communications link 202, other high speed communications links such as a radio frequency or microwave link could be utilized in place of the optical communications link. The concepts described above are equally applicable for adaptively adjusting the operational parameters of such a radio frequency, microwave, or other high speed communications link, as will be appreciated by those skilled in the art. Even though various embodiments and advantages of the present invention have been set forth in the foregoing description, the above disclosure is illustrative only, and one skilled in the art will understand various equivalents and modifications of the described components and concepts that may be made in detail and yet remain within the broad principles of the invention. For example, some of the components described above may be implemented using either digital or analog circuitry, or a combination of both, and also, where appropriate, may be realized through software executing on suitable processing circuitry. Therefore, the present invention is to be limited only by the appended claims.


Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims
  • 1. A method of dynamically adjusting link control parameters of a communications network including an optical transmitter coupled through a first data link to an optical receiver, each of the optical transmitter and optical receiver having at least one associated link control parameter that affects its operation, the method comprising: transmitting a pattern of data signals over the first data link;capturing the transmitted data signals and comparing the values of the captured data signals to an expected received pattern for those signals, the expected received pattern being known prior to transmission of the pattern; andadjusting the values of the link control parameters to successfully capture the transmitted digital signals, and in response to the adjusting of the values of the link control parameters, synchronizing data signals and clock signals used in the transfer of data between the optical transmitter and a first external device and the transfer of data between the optical receiver and a second external device.
  • 2. The method of 1 further comprising generating an error signal responsive to the operation of comparing the values of the captured data signals to the expected received pattern for those signals, the error signal indicating whether the captured data signals match the expected received pattern, and transmitting the error signal over a second data link.
  • 3. The method of claim 2 wherein the second data link equals the first data link, and wherein the error signal is transmitted over the first data link.
  • 4. The method of claim 1 wherein adjusting the values of the link control parameters comprises adjusting the value of each parameter over an entire range of values for that parameter.
  • 5. The method of claim 4 wherein capturing the transmitted data signals and comparing the values of the captured data signals to the expected received pattern for those signals comprises generating an error signal indicating whether the data signals were successfully captured, each error signal being associated with particular values of the link control parameters.
  • 6. The method of claim 5 wherein adjusting the values of the link control parameters comprises selecting a final value for each link control parameter that is in the middle of a passing range of the error signals for this parameter.
  • 7. The method of claim 1 wherein the each link control parameter is assigned a priority, and wherein the order in which the link control parameters are adjusted is determined by the priorities assigned to the parameters, with link control parameters having higher assigned priorities being determined before link control parameters having lower assigned priorities.
  • 8. The method of claim 7 wherein the link control parameters comprise a gain and a pulse-shaping parameter associated with the transmitter and an input threshold parameter associated with the receiver, and wherein the input threshold parameter is assigned a first priority, the gain is assigned a second priority, and the pulse-shaping parameter a third priority, the first priority being greater than the second priority and the second priority being greater than the third priority.
  • 9. The method of claim 1 wherein the first external device is a memory controller.
  • 10. The method of claim 9 wherein the second external device is a memory device.
  • 11. A method of dynamically adjusting link control parameters of a communications network including an optical transmitter coupled through a first data link to an optical receiver, each of the optical transmitter and optical receiver having one or more associated link control parameters that affect its operation, the method comprising: transmitting a pattern of data signals over the first data link for a plurality of potential values of the one or more associated link control parameters;capturing the transmitted data signals and comparing the values of the captured data signals to an expected received pattern for the captured data signals to determine a range of valid potential values effective to result in successful capture of the transmitted digital signals, the expected received pattern being known prior to transmission of the pattern; andadjusting the values of the one or more associated link control parameters to lie within the range of valid potential values, and in response to the adjusting of the values of the one or more link control parameters, synchronizing data signals and clock signals used in the transfer of data between the optical transmitter and a first external device and the transfer of data between the optical receiver and a second external device.
  • 12. The method of claim 11, wherein the at least one associated link control parameter comprises two or more link control parameters, the method further comprising identifying improved combinations of the two or more link control parameters within the range of valid potential values and adjusting the values of the two or more link control parameters to be equal to one of the improved combinations.
  • 13. The method of claim 11, wherein identifying improved combinations of the two or more link control parameters comprises sequentially transmitting data signals while modulating each of the link control parameters within the range of potential values and identifying based on captured data signals an improved value for each of the two or more link control parameters, the two or more link control parameters being sequentially modulated in an order determined according to a priority assigned to each of the two or more link control parameters.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 11/639,950, which was filed on Dec. 15, 2006, which is scheduled to issue as U.S. Pat. No. 8,181,092 on May 15, 2012, which is a continuation of U.S. patent application Ser. No. 10/461,207, which was filed on Jun. 12, 2003, which issued as U.S. Pat. No. 7,168,027 on Jan. 23, 2007, all of which are hereby incorporated herein by references.

US Referenced Citations (278)
Number Name Date Kind
3633174 Griffin Jan 1972 A
4004100 Takimoto Jan 1977 A
4077016 Sanders et al. Feb 1978 A
4096402 Schroeder et al. Jun 1978 A
4404474 Dingwall Sep 1983 A
4481625 Roberts et al. Nov 1984 A
4508983 Allgood et al. Apr 1985 A
4511846 Nagy et al. Apr 1985 A
4514647 Shoji Apr 1985 A
4524448 Hullwegen Jun 1985 A
4573017 Levine Feb 1986 A
4600895 Landsman Jul 1986 A
4603320 Farago Jul 1986 A
4638187 Boler et al. Jan 1987 A
4638451 Hester et al. Jan 1987 A
4687951 McElroy Aug 1987 A
4697167 O'Keeffe et al. Sep 1987 A
4727541 Mori et al. Feb 1988 A
4740962 Kish, III Apr 1988 A
4746996 Furuhata et al. May 1988 A
4773085 Cordell Sep 1988 A
4789796 Foss Dec 1988 A
4791622 Clay et al. Dec 1988 A
4818995 Takahashi et al. Apr 1989 A
4893087 Davis Jan 1990 A
4902986 Lesmeister Feb 1990 A
4924516 Bremer et al. May 1990 A
4953128 Kawai et al. Aug 1990 A
4958088 Farah-Bakhsh et al. Sep 1990 A
4972470 Farago Nov 1990 A
4979185 Bryans et al. Dec 1990 A
4984204 Sato et al. Jan 1991 A
4984255 Davis et al. Jan 1991 A
5020023 Smith May 1991 A
5038115 Myers et al. Aug 1991 A
5062082 Choi Oct 1991 A
5075569 Branson Dec 1991 A
5086500 Greub Feb 1992 A
5087828 Sato et al. Feb 1992 A
5113519 Johnson et al. May 1992 A
5120990 Koker Jun 1992 A
5122690 Bianchi Jun 1992 A
5128560 Chern et al. Jul 1992 A
5128563 Hush et al. Jul 1992 A
5130565 Girmay Jul 1992 A
5134311 Biber et al. Jul 1992 A
5150186 Pinney et al. Sep 1992 A
5165046 Hesson Nov 1992 A
5168199 Huffman et al. Dec 1992 A
5179298 Hirano et al. Jan 1993 A
5182524 Hopkins Jan 1993 A
5194765 Dunlop et al. Mar 1993 A
5212601 Wilson May 1993 A
5220208 Schenck Jun 1993 A
5223755 Richley Jun 1993 A
5229929 Shimizu et al. Jul 1993 A
5233314 McDermott et al. Aug 1993 A
5233564 Ohshima et al. Aug 1993 A
5239206 Yanai Aug 1993 A
5243703 Farmwald et al. Sep 1993 A
5254883 Horowitz et al. Oct 1993 A
5256989 Parker et al. Oct 1993 A
5257294 Pinto et al. Oct 1993 A
5268639 Gasbarro et al. Dec 1993 A
5272729 Bechade et al. Dec 1993 A
5274276 Casper et al. Dec 1993 A
5276642 Lee Jan 1994 A
5278460 Casper Jan 1994 A
5281865 Yamashita et al. Jan 1994 A
5283631 Koerner et al. Feb 1994 A
5289580 Latif et al. Feb 1994 A
5295164 Yamamura Mar 1994 A
5304952 Quiet et al. Apr 1994 A
5311481 Casper et al. May 1994 A
5311483 Takasugi May 1994 A
5313431 Uruma et al. May 1994 A
5315269 Fujii May 1994 A
5315388 Shen et al. May 1994 A
5321368 Hoelzle Jun 1994 A
5337285 Ware et al. Aug 1994 A
5341405 Mallard, Jr. Aug 1994 A
5347177 Lipp Sep 1994 A
5347179 Casper et al. Sep 1994 A
5355391 Horowitz et al. Oct 1994 A
5361002 Casper Nov 1994 A
5367649 Cedar Nov 1994 A
5379299 Schwartz Jan 1995 A
5390308 Ware et al. Feb 1995 A
5400283 Raad Mar 1995 A
5402389 Flannagan et al. Mar 1995 A
5408640 MacIntyre et al. Apr 1995 A
5410263 Waizman Apr 1995 A
5416436 Rainard May 1995 A
5416909 Long et al. May 1995 A
5420544 Ishibashi May 1995 A
5424687 Fukuda Jun 1995 A
5428311 McClure Jun 1995 A
5428317 Sanchez et al. Jun 1995 A
5430408 Ovens et al. Jul 1995 A
5430676 Ware et al. Jul 1995 A
5432823 Gasbarro et al. Jul 1995 A
5438545 Sim Aug 1995 A
5440260 Hayashi et al. Aug 1995 A
5440514 Flannagan et al. Aug 1995 A
5444667 Obara Aug 1995 A
5446696 Ware et al. Aug 1995 A
5448193 Baumert et al. Sep 1995 A
5451898 Johnson Sep 1995 A
5457407 Shu et al. Oct 1995 A
5463337 Leonowich Oct 1995 A
5465076 Yamauchi et al. Nov 1995 A
5473274 Reilly et al. Dec 1995 A
5473575 Farmwald et al. Dec 1995 A
5473639 Lee et al. Dec 1995 A
5475732 Pester, III Dec 1995 A
5485490 Leung et al. Jan 1996 A
5488321 Johnson Jan 1996 A
5489864 Ashuri Feb 1996 A
5497127 Sauer Mar 1996 A
5497355 Mills et al. Mar 1996 A
5498990 Leung et al. Mar 1996 A
5500808 Wang Mar 1996 A
5502672 Kwon Mar 1996 A
5506814 Hush et al. Apr 1996 A
5508638 Cowles et al. Apr 1996 A
5513327 Farmwald et al. Apr 1996 A
5515403 Sloan et al. May 1996 A
5532714 Knapp et al. Jul 1996 A
5539345 Hawkins Jul 1996 A
5544124 Zagar et al. Aug 1996 A
5544203 Casasanta et al. Aug 1996 A
5550515 Liang et al. Aug 1996 A
5550783 Stephens, Jr. et al. Aug 1996 A
5552727 Nakao Sep 1996 A
5555429 Parkinson et al. Sep 1996 A
5557224 Wright et al. Sep 1996 A
5557781 Stones et al. Sep 1996 A
5563546 Tsukada Oct 1996 A
5568075 Curran et al. Oct 1996 A
5568077 Sato et al. Oct 1996 A
5572557 Aoki Nov 1996 A
5572722 Vogley Nov 1996 A
5574698 Raad Nov 1996 A
5576645 Farwell Nov 1996 A
5577079 Zenno et al. Nov 1996 A
5577236 Johnson et al. Nov 1996 A
5578940 Dillon et al. Nov 1996 A
5578941 Sher et al. Nov 1996 A
5579326 McClure Nov 1996 A
5581197 Motley et al. Dec 1996 A
5589788 Goto Dec 1996 A
5590073 Arakawa et al. Dec 1996 A
5594690 Rothenberger et al. Jan 1997 A
5614855 Lee et al. Mar 1997 A
5619473 Hotta Apr 1997 A
5621340 Lee et al. Apr 1997 A
5621690 Jungroth et al. Apr 1997 A
5621739 Sine et al. Apr 1997 A
5627780 Malhi May 1997 A
5627791 Wright et al. May 1997 A
5631872 Naritake et al. May 1997 A
5636163 Furutani et al. Jun 1997 A
5636173 Schaefer Jun 1997 A
5636174 Rao Jun 1997 A
5638335 Akiyama et al. Jun 1997 A
5646904 Ohno et al. Jul 1997 A
5652530 Ashuri Jul 1997 A
5657289 Hush et al. Aug 1997 A
5657481 Farmwald et al. Aug 1997 A
5663921 Pascucci et al. Sep 1997 A
5666313 Ichiguchi Sep 1997 A
5666322 Conkle Sep 1997 A
5668763 Fujioka et al. Sep 1997 A
5668774 Furutani Sep 1997 A
5673005 Pricer Sep 1997 A
5675274 Kobayashi et al. Oct 1997 A
5675588 Maruyama et al. Oct 1997 A
5692165 Jeddeloh et al. Nov 1997 A
5694065 Hamasaki et al. Dec 1997 A
5708611 Iwamoto et al. Jan 1998 A
5712580 Baumgartner et al. Jan 1998 A
5712883 Miller et al. Jan 1998 A
5719508 Daly Feb 1998 A
5737342 Ziperovich Apr 1998 A
5740123 Uchida Apr 1998 A
5751665 Tanoi May 1998 A
5764092 Wada et al. Jun 1998 A
5767715 Marquis et al. Jun 1998 A
5768177 Sakuragi Jun 1998 A
5774699 Nagae Jun 1998 A
5778214 Taya et al. Jul 1998 A
5781499 Koshikawa Jul 1998 A
5784422 Heermann Jul 1998 A
5789947 Sato Aug 1998 A
5790612 Chengson et al. Aug 1998 A
5794020 Tanaka et al. Aug 1998 A
5805931 Morzano et al. Sep 1998 A
5809543 Byers et al. Sep 1998 A
5812619 Runaldue Sep 1998 A
5822314 Chater-Lea Oct 1998 A
5831545 Murray et al. Nov 1998 A
5831929 Manning Nov 1998 A
5841707 Cline et al. Nov 1998 A
5852378 Keeth Dec 1998 A
5872959 Nguyen et al. Feb 1999 A
5889829 Chiao et al. Mar 1999 A
5898242 Peterson Apr 1999 A
5898674 Mawhinney et al. Apr 1999 A
5917760 Millar Jun 1999 A
5920518 Harrison et al. Jul 1999 A
5926047 Harrison Jul 1999 A
5926436 Toda et al. Jul 1999 A
5940608 Manning Aug 1999 A
5940609 Harrison Aug 1999 A
5945855 Momtaz Aug 1999 A
5946244 Manning Aug 1999 A
5953284 Baker et al. Sep 1999 A
5953386 Anderson Sep 1999 A
5964884 Partovi et al. Oct 1999 A
5990719 Dai et al. Nov 1999 A
6005694 Liu Dec 1999 A
6005823 Martin et al. Dec 1999 A
6011732 Harrison et al. Jan 2000 A
6014042 Nguyen Jan 2000 A
6016282 Keeth Jan 2000 A
6021268 Johnson Feb 2000 A
6023489 Hatch Feb 2000 A
6026050 Baker et al. Feb 2000 A
6026134 Duffy et al. Feb 2000 A
6029250 Keeth Feb 2000 A
6038219 Mawhinney et al. Mar 2000 A
6067592 Farmwald et al. May 2000 A
6072802 Uhm et al. Jun 2000 A
6087857 Wang Jul 2000 A
6101152 Farmwald et al. Aug 2000 A
6101197 Keeth et al. Aug 2000 A
6105157 Miller Aug 2000 A
6115318 Keeth Sep 2000 A
6119242 Harrison Sep 2000 A
6125157 Donnelly et al. Sep 2000 A
6147905 Seino Nov 2000 A
6147916 Ogura Nov 2000 A
6160423 Haq Dec 2000 A
6173432 Harrison Jan 2001 B1
6194917 Deng Feb 2001 B1
6253360 Yoshiba Jun 2001 B1
6262921 Manning Jul 2001 B1
6269451 Mullarkey Jul 2001 B1
6285726 Gaudet Sep 2001 B1
6295328 Kim et al. Sep 2001 B1
6298398 Elliott et al. Oct 2001 B1
6298450 Liu et al. Oct 2001 B1
6327196 Mullarkey Dec 2001 B1
6327318 Bhullar et al. Dec 2001 B1
6338127 Manning Jan 2002 B1
6377646 Sha Apr 2002 B1
6378079 Mullarkey Apr 2002 B1
6430696 Keeth Aug 2002 B1
6438043 Gans et al. Aug 2002 B2
6442644 Gustavson et al. Aug 2002 B1
6473871 Coyle et al. Oct 2002 B1
6484244 Manning Nov 2002 B1
6493320 Schober et al. Dec 2002 B1
6499111 Mullarkey Dec 2002 B2
6502212 Coyle et al. Dec 2002 B1
6526111 Prasad Feb 2003 B1
6580531 Swanson et al. Jun 2003 B1
6665222 Wright et al. Dec 2003 B2
6694496 Goslin et al. Feb 2004 B2
6816987 Olson et al. Nov 2004 B1
6910146 Dow Jun 2005 B2
6950956 Zerbe et al. Sep 2005 B2
6980824 Hsu et al. Dec 2005 B2
8606946 Anderson et al. Dec 2013 B2
20030206563 Lazarus et al. Nov 2003 A1
20030219253 Kukshya et al. Nov 2003 A1
20030233608 Roy et al. Dec 2003 A1
20040240480 Hiben et al. Dec 2004 A1
Foreign Referenced Citations (24)
Number Date Country
0 171 720 Feb 1986 EP
0 295 515 Dec 1988 EP
0 406 786 Jan 1991 EP
0 450 871 Oct 1991 EP
0 476 585 Mar 1992 EP
0 655 741 May 1995 EP
0 655 834 May 1995 EP
0 680 049 Nov 1995 EP
0 703 663 Mar 1996 EP
0 704 848 Apr 1996 EP
0 704 975 Apr 1996 EP
0 767 538 Apr 1997 EP
6-1237512 Oct 1986 JP
2-112317 Apr 1990 JP
4-135311 May 1992 JP
5-136664 Jun 1993 JP
5-282868 Oct 1993 JP
0-7319577 Dec 1995 JP
9429871 Dec 1994 WO
9522200 Aug 1995 WO
9522206 Aug 1995 WO
9610866 Apr 1996 WO
9714289 Apr 1997 WO
9742557 Nov 1997 WO
Non-Patent Literature Citations (44)
Entry
Micro Linear Application Note 6, “Fiber Optics,” Aug. 1998, pp. 1-12.
Park, D. et al., “Fast Acquisition Frequency Synthesizer with the Multiple Phase Detectors”, IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, vol. 2, May 1991. pp. 665-668.
Alvarez, J. et al “A Wide-Bandwidth Low Voltage PLL for PowerPC.TM. Microprocessors” IEEE IEICE Trans. Electron., vol. E-78. No. 6, Jun. 1995, pp. 631-639.
Anonymous, “400MHz SLDRAM, 4M×16 SLDRAM Pipelined, Eight Bank, 2.5 V Operation,” SLDRAM Consortium Advance Sheet, published throughout the United States, pp. 1-22.
Anonymous, “Draft Standard for a High-Speed Memory Interlace (SyncLink)”, Microprocessor and Microcomputer Standards Subcommittee of the IEEE Computer Society, Copyright 1996 by the Institute of Electrical and Electronics Engineers, Inc., New York,NY, pp. 1-56.
Anonymous, “Programmable Pulse Generator”, IBM Technical Disciosure Bulletin, vol. 17, No. 12, May 1975, pp. 3553-3554.
Arai, Y. et al., “A Time Digitizer CMOS Gate-Array with a 250 ps Time Resolution”, XP 000597207, IEEE Journal of Solid-State Circuits, vol. 31, No. 2, Feb. 1996, pp. 212-220.
Anonymous, “Pulse Combining Network”, IBM Technical Disclosure Bulletin, vol. 32, No. 12, May 1990, pp. 149-151.
Anonymous, “Variable Delay Digital Circuit”, IBM Technical Disclosure Bulletin, vol. 35, No. 4A, Sep. 1992, pp. 365-366.
Arai, Y. et al., “A CMOS Four Channel × 1K Time Memory LSI with 1-ns/b Resolution”, IEEE Journal of Solid-State Circuits, vol. 27, No. 3, M, 8107 Mar. 1992, No. 3, New York, US, pp. 359-364 and pp. 528-531.
Aviram A. et al., “Obtaining High Speed Printing on Thermal Sensitive Special Paper With a Resistive Ribbon Print Head”, IBM Technical Disclosure Bulletin, vol. 21, No. 5, Oct. 1984, pp. 3059-3060.
Bazes, M., “Two Novel Fully Complementary Self-Biased CMOS Differential Amplifiers”, IEEE Journal of Solid-State Circuits, vol. 26, No. 2, Feb. 1991, pp. 165-168.
Chapman, J. et al., “A Low-Cost High-Performance CMOS Timing Vernier for ATE”, IEEE International Test Conference, Paper 21.2, 1995, pp. 459-468.
Cho, J. “Digitally-Controlled PLL with Pulse Width Detection Mechanism for Error Correction”, ISSCC 1997, Paper No. SA 20.3, pp. 334-335.
Christiansen, J., “An Integrated High Resolution CMOS Timing Generator Based on an Array of Delay Locked Loops”, IEEE Journal of Solid-State Circuits, vol. 31, No. 7, Jul. 1996, pp. 952-957.
Combes, M. et al., “A Portable Clock Multiplier Generator Using Digital CMOS Standard Cells”, IEEE Journal of Solid-State Circuits, vol. 31, No. 7, Jul. 1996, pp. 958-965.
Donnelly, K. et al., “A 660 MB/s Interface Megacell Portable Circuit in 0.3 .mu.m-0.7 .mu.m CMOS ASIC”, IEEE Journal of Solid-State Circuits, vol. 31, No. 12, Dec. 1996, pp. 1995-2001.
Goto, J. et al., “A PLL-Based Programmable Clock Generator with 50- to 350-MHz Oscillating Range for Video Signal Processors”, IEICE Trans. Electron., vol. E77-C, No. 12, Dec. 1994, pp 1951-1956.
Gustavsion, David B., et al., “IEEE Standard for Scalable Coherent Interface (SCI),” IEEE Computer Society, IEEE Std. 1596-1992, Aug. 2, 1993.
Hamamota, T., “400-MHz Random Column Operating SDRAM Techniques with Self-Skew Compensation”, IEEE Journal of Solid-State Circuits, vol. 33, No. 5, May 1998, pp. 770-778.
Ishibashi, A. et al., “High-Speed Clock Distribution Architecture Employing PLL for 0.6 .mu.m CMOS SOG”, IEEE Custom Integrated Circuits Conference, 1992, pp. 27.6.1-27.6.4.
Kim, B. et al., “A 30MHz High-Speed Analog/Digital PLL in 2 .mu.m CMOS”, ISSCC, Feb. 1990.
Kikuchi, S. et al., “A Gate-Array-Based 666Mhz VLSI Test System”, IEEE International Test Conference, Paper 21.1, 1995, pp. 451-458.
Ko, U. et al., “A 30-ps Jitter, 3.6-.mu.s. Locking, 3.3-Volt Digital PLL for CMOS Gate Arrays”, IEEE Custom Integrated Circuits Conference, 1993, pp. 23.3.1-23.3.4.
Lee, T. et al., “A 2.5V Delay-Locked Loop for an 18Mb 500MB/s DRAM”, IEEE International Solid-State Curcuits Conference Digest of Technical Papers, Paper No. FA 18.6, 1994, pp. 300-301.
Lesmeister, G., “A Densely Integrated High Performance CMOS Tester”, International Test Conference, Paper 16.2, 1991, pp. 426-429.
Ljuslin, C. et al., “An Integrated 16-channel CMOS Time to Digital Converter”, IEEE Nuclear Science Symposium & Medical Imaging Conference Record, vol. 1, 1993, pp. 625-629.
Maneatis, J., “Low-Jitter Process independent DLL and PLL Based on Self-Biased Techniques”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1723-1732.
Nakamura, M. et al., “A 156 Mbps CMOS Clock Recovery Circuit for Burst-mode Transmission”, Symposium on VLSI Circuits Digest of Technical Papers, 1996, pp. 122-123.
Nielson, E., “Inverting latches make simple VCO”, EDN Jun. 19, 1997.
Novof, I. et al., “Fully Integrated CMOS Phase-Locked Loop with 15 to 240 MHz Locking Range and .+−.50 ps Jitter”, IEEE Journal of Solid-State Circuits, vol. 30, No. 11, Nov. 1995, pp. 1259-1266.
Saeki, T. et al., “A 2.5-ns Clock Access, 250-MHz, 256-Mb SDRAM with Synchronous Mirror Delay”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1656-1665.
Santos, D. et al., “A CMOS Delay Locked Loop and Sub-Nanosecond Time-to-Digital Converter Chip”, IEEE Nuclear Science Symposium and Medical Imaging Conference Record, vol. 1, Oct. 1995, pp. 289-291.
Shirotori, T. et al., “PLL-based, Impedance Controlled Output Buffer”, 1991 Symposium on VLSI Circuits Digest of Technical Papers, pp. 49-50.
Sidiropoulos, S. et al., “A 700-Mb/s/pin CMOS Signaling Interface Using Current Integrating Receivers”, IEEE Journal of Solid-State Circuits, vol. 32, No. 5, May 1997, pp. 681-690.
Sidiropoulos, S. et al., “A CMOS 500 Mbps/pin synchronous point to point link interface”, IEEE Symposium on VLSI Circuits Digest of Technical Papers, 1994, pp. 43.44.
Sidiropoulos, S. et al., “A Semi-Digital DLL with Unlimited Phase Shift Capability and 0.08-400MHz Operating Range,” IEEE International Solid State Circuits Conference, Feb. 8, 1997, pp. 332-333.
Soyuer, M. et al., “A Fully Monolithic 1.25GHz CMOS Frequency Synthesizer”, IEEE Symposium on VLSI Circuits Digest of Technical Papers, 1994, pp. 127-128.
Taguchi, M. et al., “A 40-ns 64-Mb DRAM with 64-b Parallel Data Bus Architecture”, IEEE Journal of Solid-State Circuits, vol. 26, No. 11, Nov. 1991, pp. 1493-1497.
Tanoi, S et al., “A 250-622 MHz Deskew and Jitter-Suppressed Clock Buffer Using a Frequency- and Delay-Locked Two-Loop Architecture”, 1995 Symposium on VLSI Circuits Digest of Technical Papers, vol. 11, No. 2, pp. 85-86.
Tanoi, S. et al., “A 250-622 MHz Deskew and Jitter-Suppressed Clock Buffer Using Two-Loop Architecture”, IEEE IEICE Trans. Electron., vol. E-79-C. No. 7, Jul. 1996, pp. 898-904.
von Kaenel, V. et al., “A 320 MHz, 1.5 mW @ 1.35 V CMOS PLL for Microprocessor Clock Generation”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1715-1722.
Watson, R. et al., “Clock Buffer Chip with Absolute Delay Regulation Over Process and Environmental Variations”, IEEE Custom Integrated Circuits Conference, 1992, pp. 25.2.1-25.2.5.
Yoshimura, T. et al., “A 622-Mb/s Bit/Frame Synchronizer for High-Speed Backplane Data Cornrnunicaton”, IEEE Journal of Solid State Circuits, vol. 31, No. 7. Jul. 1996, pp. 1063-1066.
Related Publications (1)
Number Date Country
20120226964 A1 Sep 2012 US
Continuations (2)
Number Date Country
Parent 11639950 Dec 2006 US
Child 13470613 US
Parent 10461207 Jun 2003 US
Child 11639950 US