Abstract:
The method and the device are particularly suitable for data exchange between memory modules and logic modules. A multidigit digital signal at the transmitter end is converted into a corresponding analog signal by a D/A converter. The analog signal is transferred via a transfer line and the analog signal received at the transmitter end is converted back into a digital signal identical to the digital signal of the transmitter end with an A/D converter. An A/D converter based on the principle of successive approximation is used at the receiver end. The converter has a calibration circuit which, during a calibration cycle, by way of an additional “overdrive” transistor and a register, varies gate voltages of the transistors used for decoding purposes until the output signal of a comparator disappears.

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The invention relates to a method and a device in particular for data exchange between memory and logic modules. 
     The transfer rate of (memory) information from a memory module to a processor, and vice versa, is currently a main factor for the limitation in the performance of computers. While modern processors achieve frequencies of 800 MHz and corresponding transfer rates, the frequencies for the data exchange between processor/controller and memory are, for technical reasons, currently 100 to at most 133 MHz. Therefore, new circuits and/or methods are urgently being sought in order to diminish the significance of this limiting factor and to utilize the high processor frequencies in the application as well. 
     Previous methods for increasing the transfer rate are essentially based on two principles: 
     (A) First, increases of the data transfer are sought through parallelism: that means a higher number of pins of the interface between the modules. The data transfer rate behaves linearly with respect to the number of pins. 
     (B) Second, increases are sought by increasing the clock frequency during the transfer, either by increasing the clock frequency in the processor and in the memory module or by utilizing the leading and trailing edges of the signal for transferring a respective information unit. 
     The former again leads to a transfer rate that rises linearly with frequency; the latter leads to an increase by the factor 2. In this case, the “real” frequency on the data pins in the case of continually changing data is also twice as high. 
     The first above-outlined concept is used, for example, in memory DIMMs and can only be implemented in a limited fashion owing to the high space requirement of many lines, e.g. on a motherboard of a computer, and on account of the number of interface pins which is limited by the IC size. Moreover, the costs for the motherboards and/or the IC packages greatly increase when there are many lines. The mutual influencing of the signals greatly increases and the transfer reliability thus decreases. If a plurality of memory modules are used in parallel on a module in order that the number of pins of an individual module is kept low, then the minimum memory size of the module greatly increases: e.g. nine 256 MBit modules each having eight data lines yield a bus width of 72 bits but constitute a minimum memory amount (“granularity”) of 256 Mbytes (with error correction). This is unnecessary and too expensive for many low-cost applications. 
     The second above-outlined concept is utilized, for example, in direct Rambus DRAMs, double data rate SDRAMs, and allows a lower number of pins and thus theoretically a lower granularity. In return, however, there is a radical increase in the requirements imposed on the temporal accuracy of all the modules involved. In particular, the data transfer is difficult via a relatively long bus system (tens of centimeters) with low-quality printed signal lines. In the case of direct Rambus, the requirements imposed on the timing accuracy of the memory modules therefore have to be radically raised, which makes the production and testing of these modules difficult and expensive and reduces the yield. 
     SUMMARY OF THE INVENTION 
     It is accordingly an object of the invention to provide a method and a device for data exchange in particular between memory and logic modules, which overcomes the above-mentioned disadvantages of the heretofore-known devices and methods of this general type and which makes possible further increases in the data transfer rate without resulting in the problems outlined above. 
     With the foregoing and other objects in view there is provided, in accordance with the invention, a method for data exchange, particularly between memory modules and logic modules, which comprises: 
     converting, at a transmitter end, a given multidigit digital signal into a corresponding analog signal; 
     transmitting the analog signal to a receiver end; and 
     converting, at the receiver end, the analog signal into a multidigit digital signal identical to the given multidigit digital signal of the transmitter end. 
     In accordance with an added feature of the invention, a plurality of received analog signals are stored at the receiver end and the analog signals are processed using time division multiplexing. 
     In accordance with an additional feature of the invention, at the receiver end, the digital signal converted from the received analog signal is calibrated with regard to at least one signal value. Preferably, this is the maximum signal value. 
     In accordance with another feature of the invention, influences of attenuation between the transmitter end and the receiver end are eliminated by the calibration at the receiver end. In a preferred mode, the calibration at the receiver end utilizes a linearity of the analog signal fed into the receiver end. 
     With the above and other features in view there is provided, in accordance with the invention, a device for data exchange between a transmitter and a receiver, such as a memory module and a logic module. The device comprises: 
     a digital/analog converter at the transmitter, the digital/analog converter converting a plurality of bit positions of a multidigit digital signal into a corresponding analog signal; 
     a transfer link configured to transmit the analog signal to the receiver; and 
     an analog/digital converter at the receiver end, the analog/digital converter converting the analog signal back into a multidigit digital signal identical to the multidigit digital signal at the transmitter. 
     In accordance with again an added feature of the invention, the analog/digital converter includes a capacitor for briefly storing a respective voltage state of the received analog signal, and the capacitor is subsequently discharged via a constant-current source; and a concurrent counter is configured to decode the signal by measuring a time required for the capacitor to be discharged. 
     In accordance with again an additional feature of the invention, the analog/digital converter operates according to the principle of successive approximation and has an internal D/A converter, whose analog output value is compared by a comparator with the received analog signal to be decoded and is adjusted until a resulting analog signal and the analog signal transmitted by the transmitter have the same magnitude. 
     In accordance with again another feature of the invention, the internal D/A converter of the analog/digital converter has a calibration device configured to calibrate the digital signal, generated for the comparison, for at least one value of the analog input signal. 
     In accordance with a concomitant feature of the invention, the calibration device in the D/A converter of the successive approximation analog/digital converter has a plurality of transistors and an additional overdrive transistor having a saturation current exactly half of a saturation current of a transistor corresponding to a least significant bit position of the converted digital signal, and means for adjusting, in dependence on a magnitude of a calibration signal transmitted by the transmitter, respective currents flowing through the transistors of the D/A converter of the successive approximation analog/digital converter in fine steps until the analog signal received as calibration signal and the comparison calibration signal generated by the D/A converter of the successive approximation analog/digital converter are virtually identical. 
     In a general form, in the method according to the invention, a D/A converter is required at the respective transmitter end, which converts a plurality of bits (digital states) for the transfer via a transfer link (bus system) into an analog state (a current or a voltage). This conversion has to be reversed at the receiver end, with the result that the digital signal obtained from the received analog signal by analog/digital conversion at the receiver end is identical to the transmitted digital signal. 
     Digital/analog converters which are suitable for the abovementioned purpose are known. Likewise, there are simple analog/digital converters, e.g. those which operate according to the following principles: the storage of a voltage state in a capacitor and subsequent discharge of the capacitor via a constant-current source, the decoding being effected by a concurrent counter which measures the time required for the discharge, or a successive approximation: in this case, at the receiver end, a D/A converter is used in the A/D converter and its analog output value is compared with the analog signal to be decoded and is adjusted until the resulting signal and the signal received from the transmitter have the same magnitude. This principle of the successive approximation A/D converter has the advantage that it can be calibrated relatively easily. 
     For the above procedure (A), the method presented here and the device can reduce the number of required pins by a factor k (integer) which corresponds to the number of bits of the digital signal which are encoded into an analog state. In the case (B), for the same operating frequency, the signal transfer rate can be increased by the factor k or, given a constant transfer rate, the frequency can be reduced by the factor k. 
     With an increased bandwidth, the method according to the invention allows a plurality of modules to use the same bus line, as previously in the case of SDRAM, EDORAMs, direct Rambus, in that all modules not read at a point in time switch their outputs to “high impedance”. The level of the bus line is then determined solely by the level driven by the active module. In other words, the system is compatible with existing bus systems. 
     Since the decoding of an analog value at the receiver end requires some time, it is advantageous to use a plurality of decoders, i.e. A/D converters, per pin on a chip and to time division multiplex the input signals between them. This would enable a further increase in the bandwidth as long as the physical properties of the bus system do not entail a limitation thereof. To that end, the analog input signal has to be briefly buffer-stored, e.g. in capacitors. 
     In a development, a successive approximation analog/digital converter to be used at the receiver end has a calibration device which carries out a simple calibration on the basis of at least one input signal while at the same time avoiding a discretization error. 
     It goes without saying that the method according to the invention and the device designed for implementing it are not restricted to data transfer between memory and logic modules, but rather can advantageously be used wherever considerable limitations of the transfer rate could previously be observed in the transfer of digital data. 
     Other features which are considered as characteristic for the invention are set forth in the appended claims. 
     Although the invention is illustrated and described herein as embodied in a Method and device for data exchange between memory and logic modules, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims. 
     The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagram of an exemplary embodiment of a 3-bit D/A converter for generating an analog output signal; 
     FIG. 2 is a diagram of a first exemplary embodiment of a simple A/D converter for converting an analog input signal into a digital signal; 
     FIG. 3 is a schematic diagram of a first exemplary embodiment of an A/D converter operating according to the principle of successive approximation and serving for converting an analog signal into a digital signal with two bit positions; 
     FIG. 4 is a schematic diagram of a further exemplary embodiment of a 2-bit A/D converter operating according to the principle of successive approximation and having an additional overdrive transistor for unambiguous decoding of an analog signal and an additional calibration circuit; and 
     FIG. 5 is a flow diagram for analog/digital conversion into a 2-bit value by successive approximation of an A/D converter in accordance with FIG.  3 . 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring now to the figures of the drawing in detail and first, particularly, to FIG. 1 thereof, there is shown a simple realization of a multilevel driver forming a D/A converter. A plurality of parallel driver paths each have at least one n-channel FET T 1 , T 2 , and T 3  for 3-bit positions Bit 1 , Bit 2  and Bit 3 , which draw current from a terminating voltage V term  via a resistor R term . The saturation currents of these paths behave like powers of two. In the exemplary embodiment illustrated in the figure, the driver current intensities are in the ratio Bit 1 :Bit 2 :Bit 3 =4:2:1. The output signal OUT is a current (voltage swing) which corresponds to a digital value having n bit positions. The number of bits that can actually be coded depends on the measurement resolution during decoding at the receiver end and also e.g. on the magnitude of possible interference signals on the bus, as are caused by crosstalk of other lines on the level to be evaluated. 
     The analog value generated by a D/A converter circuit e.g. in accordance with FIG. 1 is transmitted via a transfer or bus line  10  to the receiver end. 
     Situated at the receiver end is an A/D converter, which may be, for instance, an analog/digital converter  2  as illustrated in FIG.  2 . 
     The A/D converter shown in FIG. 2 has a capacitor C which is charged to a (buffered) copy of the voltage swing from the transfer line  10  (the analog driver signal). The capacitor C preferably has a large capacitance with a correspondingly large charging current in order to obtain a large signal, namely the stored quantity of charge. For decoding, the capacitor C is isolated from the input by a switch S 1  and discharged by a constant-current source I const  after the closing of a switch S 2 . The digital value is produced by a concurrent counter Z which is clocked at a fixed clock frequency and has a number of bits corresponding to that of the digital signal and measures the time for the discharge of the capacitor. This means that the counter Z starts to count with the closing of the switch S 2  and stops when a comparator CMP generates an output signal “OUT”. The digital value which can be derived from the counter Z corresponds to the quantity of charge on the capacitor C and, when the latter has a defined capacitance, is proportional to the voltage swing at the analog input signal “ANALOG-IN”. 
     It will be understood that the principle of the A/D converter shown in FIG. 2 is known to those skilled in the art. 
     In order to calibrate the converter shown in FIG. 2, the driver can be caused to drive the full signal (all bits on) either once after the switching-on of the relevant module or else periodically. The measurement operation on the capacitor can then be repeated and, depending on whether or not a complete discharge of the capacitor C is ascertained in the case of the counter reading “all bits on”, the discharge current can be lowered or increased until complete discharge is achieved precisely for the counter value “all bits on”. Instead of the discharge current, it is also possible to vary the clock frequency of the counter in this case. 
     As an alternative, for calibration, the capacitor C can also be completely discharged only once and a counter having a larger number of bits than are actually to be decoded can run concomitantly. In the case of full discharge, said counter must have at least twice the value, i.e. a full bit more of the desired counter reading “all bits on” and run correspondingly rapidly. It is then possible to convert this counter value during operation by computation or by circuitry to the desired value “all bits on” or correspondingly small values in the case of smaller input values. 
     More accurate calibration would be possible if this method were carried out for a plurality or even all of the possible discretization values. 
     This “excessively fast” counter would also partly solve the problem of the discretization error, which means that the least significant bit cannot be unambiguously ascertained, and in the extreme case can lead to a carry into all the more significant bits. 
     The exemplary embodiments—described below with reference to FIGS. 3 to  5 —of a further A/D converter which can be used in the invention operated according to the principle of successive approximation. 
     First of all, the basic schematic diagram in FIG. 3 will be used to describe the method of successive approximation with the 2-bit A/D converter  3  illustrated. 
     The analog input voltage V bus  from the bus line system  10  is produced across a terminating resistor R term  as a voltage drop with respect to a voltage V term . The voltage V bus  on the bus line is applied to a capacitor C via a voltage follower T u  for a specific time (order of magnitude ns) through the closing of a switch S 1 . The capacitor serves as a (short-term) store for the voltage. The switch S 1  is then opened in order that the capacitor C is decoupled from the input of the circuit, and, through the closing of a switch S 2 , the capacitor C is connected to a first input of a differential amplifier CMP operating as a comparator. 
     The second input of the differential amplifier CMP, i.e. V decode , is connected to an internal voltage V term,int  via a resistor R int . To ensure that the current consumption of the circuit is kept low, R int  should generally be much higher than R term . 
     In order to decode two bits, two transistors T 2  and T 1  are used whose saturation currents are in the ratio of 2:1. A calibration described further below using the exemplary embodiment in accordance with FIG. 4 is intended to ensure that when both transistors T 1 , T 2  are switched on, the voltage drop across R int  is approximately equal to the maximum voltage drop on the bus V bus,max . The decoded digital value can then be derived from the state of the gate voltages of the transistors. Both gate voltages “high” corresponds to “1 1”, gate of T 2  “high” and that of T 1  “low” corresponds to “1 0”, and so on. 
     FIG. 5 uses a flow diagram to show the temporal sequence for the decoding of a 2-bit digital signal from an analog signal V bus  of the A/D converter illustrated in FIG. 3, implemented by a control block  6 . In a step D 1 , the transistor T 2  is switched on. A voltage drop is produced across R int , and V decode  is present at the comparator CMP. In step D 2 , an interrogation is made to determine whether V decode  is greater than V bus . In the affirmative case, the more significant bit  2  remains set and the transistor T 2  remains switched on. Transistor T 1  is then turned on. If V decode  is not greater than V bus , in step D 3  transistor T 2  is switched off (step D 3 ) and transistor T 1  is switched on (step D 4 ). Furthermore, if V decode  is greater than V bus  (step D 5 ), then the maximum value is decoded and the routine is ended in step D 7 . The decoded value must read “1 1” in this case. If the decision step D 5  reveals that V decode  is not greater than V bus , T 1  is switched off. Either the state “1 0” or “0 0” is then produced as the decoded state in D 7 , depending on the result determined in step D 2 . 
     As mentioned, the decoded digital value is finally produced from the state of the transistor gates (high=“1”, low=“0”) at the end of the two-stage decoding operation illustrated in FIG.  5 . 
     This circuit evidently has a fundamental problem if it is used for decoding an analog voltage which was itself generated by a 2-bit D/A converter: if the voltage swing V bus  which is produced by the setting of a bit (e.g. bit  1 ) in the original signal is exactly identical to that which is produced by the switching of one of the transistors in the A/D converter (e.g. T 1 ), the differential amplifier CMP cannot decide whether or not the corresponding bit in the decoded signal is to be set. 
     In the exemplary embodiment—illustrated in FIG.  4 —of an A/D converter  4  which is based on successive approximation and is based on the basic circuit  3  that has just been described and is shown in FIG. 3, it is proposed, therefore, to use an additional transistor T 0  “overdrive”, to be precise such that its saturation current is precisely half that of the transistor T 1 , i.e. the current of the three transistors T 2 , T 1  and T 0  are in the ratio of 4:2:1. 
     As mentioned above, the additional “overdrive” transistor T 0  produces the unambiguity of the decoded (2-bit) digital signal with the (2-bit) digital signal converted into an analog signal V bus  at the transmitter end. 
     Furthermore, a calibration can be carried out in a simple manner using the A/D converter circuit  4  shown in FIG.  4 . Moreover, an unambiguous decision can be made as to whether or not a bit in the original digital signal was set prior to the conversion into an analog signal. 
     The calibration is carried out in a particular calibration cycle. To that end, the most significant bit is set at the transmitter end, and, at the receiver end, switches S 3  and S 4  are moved to the position “calibration” and transistor  2  and, in addition, the “overdrive” transistor T 0  are switched on by the control block  6 . The output of the differential amplifier CMP acts on a register  5 , with which the value of the gate voltage V gate  of the transistors T 2  and T 1  (via the transfer gates  7  and  8 ) and of the “overdrive” transistor T 0  can be adjusted in fine steps. If V bus.2  is greater than V decode , the register value and thus V gate  should be increased. If V bus.2  is less than V decode , the register value and thus V gate  should be decreased. Thus, the transistors T 1  and T 2  are not switched on with a full high level on the gate but rather by a gate voltage which can be adjusted by the voltage V gate  of the register  5 . The on/off signal is merely switched to a transfer gate  7 ,  8  which connects the transistor gates to the adjustable voltage V gate . 
     The voltage V gate  of the register  5  is adjusted until a certain threshold for the magnitude of the output voltage of the differential amplifier CMP is undershot, i.e. V bus  and V decode  are virtually identical. For reliable evaluation, it is also possible to utilize the output voltage of the amplifier CMP, whereby the voltage is integrated over a certain time. However, the calibration operation takes longer as a result of this. 
     During this calibration method, the “overdrive transistor T 0 ” ensures that, at the receiver end, i.e. at the A/D converter  4 , somewhat more current must be drawn than through T 2  alone, in order that the differential amplifier CMP has a vanishing output signal, namely the current contribution supplied by the “overdrive” transistor T 0 . If the “overdrive” transistor T 0  is always left switched off during normal decoding operation, then it is always the case that if a bit was set in the original signal prior to D/A conversion in the transmitter, said bit is also set in the above-described A/D converter  4  shown in FIG. 4, this being revealed in the above description of the decoding. 
     The principle described can, of course, be extended to k bits, the transistors Tk, T(k−1), . . . , T 1 , T 0  having to have saturation currents in the ratio 2(k+1):2 k: . . . :2:1. This can easily be achieved during the production of a circuit by connecting a corresponding number of identical transistors in parallel. 
     The calibration can be refined/checked if not only the most significant bit is set in the original signal, rather the operation is repeated for different bits or else bit combinations. However, this prolongs the calibration cycle. 
     The calibration at the receiver end eliminates influences of possible attenuation between transmitter end and receiver end. This is due to the fact that correct decoding is carried out at the receiver end even when the analog signal transferred from the transmitter end arrives only in attenuated form as input signal at the receiver end. This is because the calibration utilizes only the linearity of the input signal at the receiver end with respect to the transmitted signal, and not an identity of absolute values of the transmission signal output by the transmitter end with the signal arriving at the receiver.