Various serial communication links may process data with the help of numerous devices, such as computers or the like. These devices often include associated circuitry that allows the device to receive and process the data. This circuitry draws power from a power source and, in turn, creates heat that is to be dissipated throughout the device and into the device's environment. This heat, as well as the power consumed by the circuitry, may limit the functionality of the circuitry itself as well as other functionality in the device's environment.
In the discussion that follows, specific implementation examples and methods are provided under the headings “Implementation Examples” and “Exemplary Methods”. It is to be appreciated and understood that such implementation examples and exemplary methods are not to be used to limit application of the claimed subject matter to only these examples. Rather, changes and modifications can be made without departing from the spirit and scope of the claimed subject matter.
Implementation Examples
As depicted in
Data 104 may enter receiver 106 having a certain clock phase, which, in some implementations, may be equal or approximately equal to that of a clock of transmitter 102. System 100 may also include a data recovery circuit (i.e., clock and data recovery) 108 or the like. In some instances, data recovery circuit 108 may serve to recover the clock phase of data 104, which again may comprise a clock phase of transmitter 102. Recovering the clock phase of data 104 may allow for data recovery circuit 108 to ensure that receiver 106 is sampling or extracting from data 104 at a proper location, such as an approximate center of the data. Sampling at approximately the center of data 104 may allow for proper reading of the data, and may, in some instances, reduce a bit error rate of the read data. It is noted that receiver 106 or other circuitry may also serve to allow receiver 106 to sample at a proper location of data 104. Generally, data recovery circuit 108 and/or receiver 106 “locks onto” the appropriate portion of data 104 when it initially enters receiver 106, after which point this circuitry may track any low frequency drift or jitter that could alter the phase of incoming data 104.
With knowledge of whether or not incoming data 104 is being sampled at a proper location (e.g. at the center of the data), data recovery circuit 108 and/or associated circuitry of receiver 106 may continue to track the transmitted clock phase and adjust the sampling position of the receiver. In some instances, data recovery circuit 108 and/or associated circuitry of receiver 106 may strive to adjust the sampling position of receiver 106 to approximate an optimal sampling position in response to this tracking. As such, receiver 106 and/or data recovery circuit 108 may define a feedback loop that continuously monitors and adjusts a sampling position of the receiver on incoming data 104 to reduce the bit error rate of read data 104. As discussed below, however, this feedback loop—or portions of it—may be shutdown in some instances despite the continued influx of data 104 to receiver 106.
As further depicted by
Furthermore, system 100 may also include a receiver phased lock loop (PLL) 118. Receiver PLL 118 may introduce one or more receiver phase clocks 120 into receiver 106. More specifically, in some implementations receiver PLL 118 may provide receiver phase clocks 120 into phase interpolator 114. Also as shown in
As illustrated, system 100 may also include a transmitter PLL 128, which may introduce one or more transmitter phase clocks 130. The number of transmitter phase clocks 130 may differ from the number of receiver phase clocks 120. In some instances, a greater number of receiver phase clocks (e.g., four) may exist than transmitter phase clocks (e.g., two). Furthermore, note that system 100 may further include a reference clock generator 132, which may provide a reference clock 134 into both transmitter PLL 128 and receiver PLL 118. Reference clock 134 may provide a reference signal to both of these components so as to set a bit error rate. Such a reference signal, which may be of a relatively lower frequency as compared to transmitter and receiver clocks, may function to approximately equalize the bit error rate of both transmitter 102 and receiver 106. Attention will return to the components of
Reference is now made to
In some instances, an edge of a transition may be useful in determining a length of a unit interval, such as unit interval 204. By figuring out where transitions occur, the data's 104 clock phase (which may be equal to the transmitter clock phase) may be recovered in some instances. Furthermore, receiver 106 and/or data recovery circuit 108 may continue to sample the incoming data 104 to determine where an appropriate sampling point is located and to continue to make adjustments to that point. For instance, if data recovery circuit 108 determines that data clocks 206(1)-(2) do not fall on or near a center of a symbol (or that edge clocks 208(1)-(2) do not fall at edges of a symbol), it may instruct phase interpolator 114 to increment or decrement receiver phase clocks 120. That is, data recovery circuit 108 may direct phase interpolator 114 and/or receiver 106 to move the arrows shown in
Unfortunately, while this phase tracking of a clock phase continues, a family of circuits within data recovery circuit 108 and/or receiver 106 may continue to run. Thus, these circuits may use power and, in some instances, create heat to be dissipated. Furthermore, a signal transition may not occur during each signal period. In some instances, for example, a relatively long amount of time may elapse during which data 104 has no or very few signal transitions (e.g., data 104 includes a string of logic zeroes). In these instances, the benefit in attempting to recover the phase of the transmitted clock and/or phase of the data 104 and adjusting the sampling position of receiver 106 may be minimal. Thus, in some instances this continuous monitoring may consume extra power and produce extra heat.
Thus, in some implementations, data recovery circuit 108 and/or portions of receiver 106 may be shut down for periods of time during which receiver 106 continues to receive incoming data 104. This may be aided, in some instances, by knowledge of the signaling protocol that is used. This is because a signaling protocol may guarantee a certain transition density. If FB-DIMM is used, for example, then a transition density of six transitions every 512 unit intervals may exist by definition. Furthermore, these six transitions may be specified by protocol to occur within close proximity to each other, such as back-to-back. In some instances, these transitions may be termed “sync packets” or “training packets”. In some implementations, the host of the platform may strive to ensure a correct timing and frequency of the sync packets. Therefore, with knowledge of the protocol, and hence with knowledge of when these sync packets will occur, the feedback loop discussed above may be able to selectively—rather than continuously—track the phase of the transmitted clock while still maintaining an equivalent bit error rate.
With knowledge of time 308, tracking of the phase of received data within a data lane 304 may occur during receipt of sync packets 206(1)-(n). Further, tracking of the phase of data within data lane 304 may be selectively turned off after the receiver has “locked onto” the data and may continue to remain off when sync packets are generally not scheduled to be received. In this manner, tracking may be enabled at a “beat rate”—that is at a rate equal to the time in between sync packets. It is also noted that tracking may be selectively turned off and on at any other schedule rate, or it could be done randomly. Furthermore, tracking may be enabled every whole number of a beat rate. For example, every other or every third sync packet could be tracked in an “extended power savings mode”. Because tracking may be intermittently enabled and disabled (i.e., turned on and off) in this manner, power may be saved and heat output may be reduced with relatively little or no perceptible impact on performance.
Returning to
After this determination, tracking enable state 304 may be cycled between the “ON” and “OFF” states. Furthermore, in some instances the transmitted clock phase may not drift (i.e., display “jitter”) from one sync packet to the next. Therefore, the receiver 106 and/or data recovery circuit 108 may make relatively minor adjustments to the sampling position of receiver 106, without increasing or drastically increasing the bit error rate of the read data. It is again noted, however, that tracking may be enabled at other rates (e.g., every third sync packet) or even randomly. This setting may be a manually-adjustable configuration in some implementations.
Furthermore, it is noted that the feedback loop of system 100, depicted in
This is contrasted with implementations utilizing a single feedback loop and a common tracking enable signal for multiple data lanes, which may result in tracking states depicted in
With this in mind, reference is again made to
Sampling amplifier 110 may then receive the receiver clocks 120 coming from phase interpolator 118 as well as data 104 in the form of an analog signal. Sampling amplifier 110 may then, in some instances, take data 104 and turn it into symbols, such as bytes. In some instances, sampling amplifier 110 may take the analog data signal and turn it into logic 0's and logic 1's, which may result in data 104 taking the form shown in
Sync and align unit 112 may function to align these four data samples into one clock phase, namely the clock phase 124 of data recovery circuit 108. As discussed above, data recovery circuit 108 may operate, in some implementations, on a single clock phase 124 which is provided by phase interpolator 114, which in turn is provided by receiver PLL 118. In the instant example, data recovery circuit 108 may run off of either the 90° clock phase or the 270° degree clock phase. Again, these two clock phases fall on data edges rather than data centers. Whichever clock phase data recovery circuit 108 uses, sync and align unit 112 may accordingly align all four data samples into clock phase 124 and provide this input 122 to data recovery circuit 108.
Data recovery circuit 108 may then take input 122 in the form of samples in a single clock phase and determine whether receiver 106 is sampling data 104 at the proper location, such as the approximate center. If data recovery circuit 108 determines that the sampling of receiver 106 is lagging, it may instruct phase interpolator 114 to increment receiver phase clocks 120. If, meanwhile, data recovery circuit 108 determines that the sampling of receiver 106 is leading, it may instruct phase interpolator 114 to decrement receiver phase clocks 120. Of course, data recovery circuit may determine that receiver 106 is sampling at a proper location, and may issue no instructions or may accordingly issue instructions to maintain the current setting. Arrow 126 of
Furthermore, in some instances data recovery circuit 108 may include a filter or the like that helps to determine whether or not receiver phase clocks 120 should be incremented or decremented. In some implementations, the filter may work off of statistics. This means that it may accumulate “votes”, or indications of whether the phase should be incremented or decremented, and net these votes to determine whether or not to issue instructions 126. For instance, the filter may issue instructions if it receives a number of increment requests that is greater than the number of decrement requests by a certain preset threshold value, which may be adjustable.
Furthermore, multiple possibilities exist for the filter when designing a system that selectively tracks phases of incoming data 104. If, for instance, a phase of incoming data 104 is tracked at a beat rate, then the filter may either accumulate votes from one sync packet to the next, or it may discard any votes amassed during one sync packet if that number was not large enough to make an adjustment. In other words, the filter may either rollover votes received during tracking of previous sync packets in deciding whether to alter the phase clocks, or it may only use votes actually received during the current sync packet.
Also as discussed above, portions of receiver 106 and/or data recovery circuit 108 may be turned off for periods of time in which the transmitted clock phase is not expected to drift drastically. When turned back on, the transmitted phase may again be checked and appropriate correction to receiver phase clocks 120 may be made.
In some implementations, the following portions of system 100 may be selectively turned off and on by controller 116 while receiver 106 continues to receive data 104. This means that a phase of a portion of data 104 may not be tracked. In some instances, these portions may comprise components that are related to the sampling of data edges. Components related to data samples (e.g. samples near a center of the data symbol), meanwhile, may remain on in order to allow for data extraction and data processing throughout the rest of the device. In other words, in some instances, the portion of system 100 that pertains to tracking the phase may be turned off, while the portion that pertains to actually extracting incoming data 104 and providing it to other portions of the device may remain on.
First, half of the circuit comprising phase interpolator 114 may be turned off. In some instances, this portion may comprise the portion of receiver phase clocks 120 that pertain to edges. In the example having four phase clocks, the portion of phase interpolator related to the edge clocks at 90° and 270° may be shut down. Furthermore, in some instances half of the circuit comprising sampling receiver 110 may be shut down. Again, this portion may comprise the portion relating to the output of edge samples.
Sync and align unit 112 as well as data recovery circuit 108 may also be shut down in some implementations. As such, data recovery circuit 108 may not issue instructions 126 telling phase interpolator 114 to increment or decrement the phase clocks. This may cause phase interpolator 114 to continue generating its data clocks in a last known position, until data recovery circuit 108 reawakens and provides instructions to the contrary. This may allow for data 104 to be processed while the transmitted phase is not expected to substantially drift. In some instances described above, a power savings of approximately 50% or more may be achieved as compared to a system having a feedback loop that constantly monitors the phase of data 104.
As depicted in
Exemplary Methods
Exemplary System
Motherboard 610 can include, among other components, one or more processors 630, a microcontroller 640, memory 650, a graphics processor 660 or a digital signal processor 670, and/or a custom circuit or an application-specific integrated circuit 680, such as a communications circuit for use in wireless devices such as cellular telephones, pagers, portable computers, two-way radios, and similar electronic systems and a flash memory device 690.
Electronic system 600 may also include an external memory 700 that in turn may include one or more memory elements suitable to the particular application. This may include a main memory 720 in the form of random access memory (RAM), one or more hard drives 740, and/or one or more drives that handle removable media 760, such as floppy diskettes, compact disks (CDs) and digital video disks (DVDs). In addition, such external memory may also include a flash memory device 770.
Electronic system 600 may also include a display device 780, a speaker 790, and a controller 800, such as a keyboard, mouse, trackball, game controller, microphone, voice-recognition device, or any other device that inputs information into electronic system 600.
Although the embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed subject matter.