Abstract:
A buffer for varying data access speed. Combining the buffer with a memory such as a double data rate synchronous dynamic random access memory, the data transmission rate of a memory system can be enhanced. The buffer is coupled with a control chip set and several memory modules to provide functions of data analysis and assembly to satisfy a two-way data transmission interface and to obtain a higher data transmission rate. The buffer also has the function of isolating the electric connection between two sides. A single signal interface from a memory module can be converted to a complementary source synchronous signal by the buffer, so that a high-speed data transmission can be achieved. A memory system can apply several of such buffers to achieve an even higher data transmission speed.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]    This application claims the priority benefit of U.S. provisional application Ser. No. 60/211,095, filed Jun. 12, 2000, and Taiwan application serial no. 89116720, filed Aug. 18, 2000. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The invention relates in general to a buffer in a memory access system. More particularly, the invention relates to a buffer in a motherboard used for enhancing data access speed of memories.  
           [0004]    2. Description of the Related Art  
           [0005]    In recent years, dynamic random access memory (DRAM) has evolved from the earliest non-synchronous dynamic random access memory (DRAM) to enhance data out (EDO) dynamic random access memory, and further to the currently widely applied synchronous dynamic random access memory (SDRAM). Each transmutation provides a great enhancement in access speed of the memory system. Most of the high-speed buses employ a source synchronous design such as the AGP Bus, the double data rate dynamic random access memory (DDR DRAM), and the RAMBUS. In addition, as a high data transmission speed requires a set of complementary data strobe signals, combination of the source synchronous design and provision of a set of complementary data strobe signals have become a leading trend in memory system design.  
           [0006]    The market for dynamic random access memory system is still enormous. Generally speaking, a macro-revolution of this product takes three to five years. Thus, the speed of performance enhancement for a memory system relative to the growth of data transmission between microprocessor and storage device or microprocessor and graphic apparatus is slow. Especially in the use of the Internet, where a significant amount of data transmission is required, the inferior memory bandwidth seriously degrades the sensory enjoyment of the users.  
           [0007]    [0007]FIG. 1 is a block diagram showing a conventional memory system on a mother board. The control chip set  100  is directly coupled to a memory module  140 . The control chip set  100  and the memory module  140  use the same system clock as the reference for data transmission speed. Being limited by the current dynamic random access memory, the control chip set  100  has to lower the speed of the read/write instruction and data transmission to complete the data read/write operation with a transmission speed allowed by the memory system.  
         SUMMARY OF THE INVENTION  
         [0008]    The invention provides an apparatus for varying data access speed, so that the current standard dynamic random access memory system can have a multiple data transmission rate. In one embodiment of the invention, a buffer is provided. The buffer is coupled between a control chip set and several memory modules to disassemble the write data sent from the control chip set to the memory modules and to assemble the read data sent from the memory modules to the control chip set.  
           [0009]    The invention provides an apparatus for varying data access speed. A single memory read/write interface sent from a memory is converted into a high speed complementary signal of source synchronous design.  
           [0010]    The above apparatus can also isolate the electric connection between the control chip set and the memory module. The modulization of the system design is thus more flexible. For example, the consideration of sequence in layout design is easier.  
           [0011]    The above apparatus can also reduce the pin counts with the bandwidth that maintains or increases data transmission speed. Therefore, the fabrication cost can be reduced, or the input/output (I/O) pins can be reserved for other applications.  
           [0012]    In one embodiment of the invention, a buffer varying data access speed is provided. The buffer includes a phase lock loop circuit, a control chip set data I/O interface, a memory data I/O interface, a first-in-first-out (FIFO) memory from the control chip set to the memory, a FIFO memory from the memory to the control chip set, and a control signal generator. The phase lock loop circuit is responsible for generating various clock signals required for the buffer. The buffer is coupled to the control chip set and the memory modules. The write data from the control chip set is received by the FIFO memory from the control chip set to the memory. Thereby, the write data is disassembled and transmitted to the memory modules by the memory data I/O interface. The FIFO memory from the memory to the control chip set is responsible for receiving the read data from the memory modules. Once assembled by control chip set data I/O interface, the read data is then transmitted to the control chip set. The control signal generator generates proper read/write control and I/O control, so that the data transmission speed at the control chip set can be a multiple of the data transmission speed at the memory as expected. Alternatively, the phase lock loop circuit can be omitted by supplying the clock signals directly from the system.  
           [0013]    With the above buffer, a respective memory module can be assembled to enhance the performance of the memory system to match data transmission speed of the microprocessor or other I/O interface.  
           [0014]    Both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]    [0015]FIG. 1 is a block diagram showing a conventional memory system;  
         [0016]    [0016]FIG. 2 shows the connection of a memory system in the first embodiment of the invention;  
         [0017]    [0017]FIG. 3 shows a buffer in the first embodiment of the invention;  
         [0018]    [0018]FIG. 4 is a schematic drawing showing an internal structure of a control chip set data I/O interface according to the first embodiment of invention;  
         [0019]    [0019]FIG. 5 is a schematic drawing showing an internal structure of a memory data I/O interface according to the first embodiment of the invention;  
         [0020]    [0020]FIG. 6 shows a sequence diagram of the written data of the memory system according to the first embodiment of the invention;  
         [0021]    [0021]FIG. 7 shows a sequence diagram of the read data of the memory system according to the first embodiment of the invention;  
         [0022]    [0022]FIG. 8 shows the connection of a memory system in the second embodiment of the invention;  
         [0023]    [0023]FIG. 9 shows the connection of a memory system in the third embodiment of the invention;  
         [0024]    [0024]FIG. 10 shows the connection of a memory system in the fourth embodiment of the invention; and  
         [0025]    [0025]FIG. 11 shows the connection of a memory system in the fifth embodiment of the invention 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0026]    [0026]FIG. 2 is the first embodiment of the invention. A buffer  220  of varying data access speed and a system applying this buffer are illustrated. The buffer  220  is located between a control chip set  200  and memory modules  240  and  260  to provide a required data transmission speed at two sides of the system. The high bit memory module  240  and the low bit module  260  can be embedded with the same types of memories. In this embodiment, two double data rate dynamic random access memories are used as an example. The memory modules  240  and  260  are used to store data. When the control chip set  200  is to access the data of the memory modules  240  and  260 , a read/write control instruction is output from the control chip set  200 . In this embodiment, the output read/write control instruction is sent to the buffer  220  and the memory modules  240  and  260 . For example, the control chip set  200  does not output the read/write control instruction to the memory modules  240  and  260  directly. Instead, a read/write control signal is output to the memory modules  240  and  260  by the buffer  220 . Or alternatively, the control chip set  200  outputs two different read/write control instruction and read/write signal to the buffer  220  and the memory modules  240  and  260 .  
         [0027]    In FIG. 2, the control chip set  200  comprises a set of complementary data strobe signal pins CDQS and CDQS# to support the high data transmission speed between the control chip set  200  and the buffer  220 . To save the resources of the I/O pin of the control chip set  200 , the complementary data strobe signal pin CDQS# can share a common I/O pin with a data mask pin DQM#. FIG. 3 shows the first embodiment for 8 bits data buffer. The buffer  200  for varying data access speed comprises a phase lock loop circuit  300 , a phase delay circuit  360 , a control chip set data I/O interface  310 , a memory data I/O interface  320 , a FIFO memory from the control chip set to the memory  330 , a FIFO memory from the memory to the control chip set  340 , and a control signal generator  350 .  
         [0028]    As shown in FIG. 3, the buffer  220  comprises pins CLKIN and CLKIN# to provide a set of complementary external system clocks for the buffer, a set of data strobe signal pins CDQS and CDQS# from the control chip set  200 , read/write instruction pins WRCMD and RDCMD from the control chip set, and 8 bits data bus pins CDQ[7:0]. The 8 bits data bus pins CDQ[7:0] are responsible for the data transmission between the control chip set  200  and the buffer  220 . In addition, the buffer  220  further comprises a data strobe signal pin DDQSH from the high bit memory module  240 , a data strobe signal pin DDQSL from the low bit memory module  260 , and two 8 bits data bus pins DDQH[7:0] and DDQL[7:0] to provide the data transmission between the buffer  220  and the memory modules  240  and  260 .  
         [0029]    Referring to FIG. 3, the phase lock loop circuit  300  receives the external system clock CLKIN to generate an internal system clock ICLK with the same frequency and an internal multi-frequency system clock with a multiple of the frequency of the external system clock. In this embodiment, the multi-frequency system clock is two times the frequency of the external system clock. Therefore, this multi-frequency system clock is named ICLK 2 X. The above phase lock loop circuit  300  can be omitted when the multi-frequency system clock is generated by the system.  
         [0030]    The FIFO memory from the control chip set to the memory  330  in the buffer  220  receives the data to be written into the memory modules  240  and  260  from the control chip set  200 . The data transmission rate is four times the external system clock CLKIN. The FIFO memory from the memory to the control chip set  340  receives the data to be read by the control chip set  200  from the memory modules  240  and  260 . The data transmission rate is two times the external system clock CLKIN. The interior of FIFO memory from the memory to the control chip set  340  can be divided into two FIFO memories  342  and  344  to receive data from the high bit memory module  240  and the low bit memory module  260 , respectively. If the access time for the data strobe signal CDQS is longer, a FIFO memory from the memory to the control chip set  340  with a longer depth is required. The control signal generator  350  of the buffer  220  receives the external signals RDCMD and WRCMD to generate a input/output control signal and a read/write control signal for the data input/output control of the internal FIFO memories  330  and  340 .  
         [0031]    In FIG. 4, the control chip set data I/O interface  310  comprises an I/O control circuit  420  and three multiplexors  400 ,  440  and  460 . The multiplexor  400  is controlled by the internal multi-frequency clock signal ICLK 2 X. According to the level of the clock signal ICLK 2 X, the data from either the FIFO memory  342  or  344  is selected. Therefore, the data transmission rate in this part is four times of the external system clock. The multiplexors  440  and  460  are controlled by the same clock signal CLK 2 X. The function thereof is to balance the sequence difference between CDQ[7:0], CDQS and CDQS#.  
         [0032]    As shown in FIG. 3, the buffer  220  comprises a phase delay circuit  360  to receive the internal clock signal ICLK and to generate an internal delay clock signal ICLKD with a ¼ phase delay to provide the time reference of the memory data I/O interface  320 .  
         [0033]    In FIG. 5, the memory data I/O interface  320  comprises an I/O control circuit  560 , a delay circuit  540  and four multiplexors  500 ,  510 ,  520  and  530 . The multiplexor  500  is controlled by the internal clock signal ICLK to select the data from either FIFO series  332  or FIFO series  336  to the high bit memory module  240 . Also, the multiplexor  520  is controlled by the same internal clock signal ICLK to select the data from either FIFO series  334  or FIFO series  338  to the low bit memory module  260 . The data transmission rate of this part is thus two times the external system clock CLKIN. The multiplexors  510  and  530  are controlled by the internal clock signal ICLKD with the function of balancing the sequence difference between DDQH, DDQL, DDQSH and DDQSL. While reading the double data rate dynamic random access memory, the internal delay clock signal ICLKD is provided for the sequence control of the delay circuit  540 . While writing the double data rate dynamic random access memory, the internal delay clock signal ICLKD is provided for the sequence control of the multiplexor  510  and  530 .  
         [0034]    If the control chip set  200  activates a read instruction to the memory modules  240  and  260 , the read instruction RDCMD is transmitted to the buffer  220 . Meanwhile, the synchronous dynamic random access memory instructions CS#, SRAS, SCAS, SWE, and address MA are simultaneously transmitted to the high and low bit memory modules  240  and  260 . The buffer  220  receives the data strobe signals DDQSH and DDQSL from the memory modules and locks the high bit data DDQH[7:0] and low bit data DDQL[7:0] into the FIFO memories  342 ,  344  via the delay circuit with ¼ phase delay. The buffer  220  then generates the complementary data strobe signals CDQS and CDQS# with four times the speed. Simultaneously, the data output CDQ[7:0] receives the internal multi-frequency clock signal ICLK 2 X to select data from the memories  342  and  344 . The complementary data strobe signals CDQS and CDQS# with four times the speed provide the voltage and clock reference required by the receiving circuit of the control chip set  200 . If the control chip set  200  activates a write instruction to the memory modules  240  and  260 , the write instruction WRCMD is transmitted to the buffer  220 . Meanwhile, the synchronous dynamic random access memory instructions CS#, SRAS, SCAS, SWE, and address MA are simultaneously transmitted to the high and low bit memory modules  240  and  260 . The buffer  220  receives the complementary data strobe signals CDQS and CDQS# from the control chip set  200  and locks the data CDQ[7:0] into the FIFO memory  330 . The data transmission rate is four times the external system clock CLKIN. The buffer  220  then generates the data strobe signal DDQSH and DDQSL corresponding with the specification of the double data rate random access memory transmission to transmit the data DDQH[7:0] and DDQL[7:0] into the high and low bit memory modules  240  and  260  respectively.  
         [0035]    [0035]FIG. 6 shows a data write sequence diagram of the memory system. FIG. 7 shows a data read sequence diagram of the memory system. In FIGS. 6 and 7, with the exception of the instruction and address signal denoted as SCMD/MA, the signals can all be obtained from the above description. Therefore, the buffer  220  for varying data rate doubles the data transmission rate of the current double data rate synchronous dynamic random access memory system.  
         [0036]    It is appreciated that, according to the above embodiment, people of ordinary skill in the art may reduce or maintain the data bits of the control chip set to increase the data transmission rate. On the other hand, the data bits of the memory modules can be divided into several sets. The number of data bits of the memory modules does not have to be identical to that of the control chip set. FIG. 8 shows the connection of the memory system in the second embodiment of the invention. In this figure, a system including j sets of memory modules  840 , a control chip set  800  and a buffer  820  is illustrated.  
         [0037]    The j sets of memory modules can be the same type of double data rate synchronous dynamic random access memories or memories with other standards. To reduce the cost of data storage, each set of the memory modules  840  comprising m data bits is coupled to the buffer  820 . Also, the control chip set  800  comprising n data bits is coupled to the buffer  820 . The data access rate of the control chip set  800  is i times of the data access rate that the memory modules  840  have. When the data of the memory modules  840  is accessed by the control chip set  800 , a read/write instruction is output from the control chip set  800  to the memory directly. The buffer  820  accesses data that matches the data access rate of the control chip set  800  and correctly accesses the data that matches the data access rate of the memory modules  840 .  
         [0038]    The above n, m, i and j are all integers, and i, j&gt;=2. As the actual amount of input/output data is the same, n, m, i and j have to meet the following requirement: i*n=m*j. In the first embodiment, the multiple of data access rate compares with the double data rate synchronous random access memory is 2, that is, i=2. The number of data bits of the memory modules can be 8, that is, m=8. The memory modules can be divided into two, that is, j=2. The number of data bits of the control chip set is 8, that is, n=8. In another example, the multiple of the data rate compares with data access rate of the memory module can be 8, that is, i=8, while the number of data bits of the memory module is 16, that is m=16, and there are 4 memory modules, that is j=4. The number of data bits of the control chip set is only 8, that is, n=8.  
         [0039]    From the above embodiment, the buffer  820  for varying the data rate comprises the memory data I/O interface coupled to the memory modules, the control chip set data I/O interface coupled to the control chip set, the first and second FIFO memories coupled between the memory data I/O interface and the control chip set data I/O interface, and the control signal generator.  
         [0040]    The control signal generator is coupled to the memory data I/O interface, the control chip set data I/O interface, the first and second FIFO memories, and the control chip set. The control signal generator is used to decode the read/write instruction from the control chip set  800  and to generate the read/write control signal. The data access rate of the control chip set data I/O interface is i times that of the memory data I/O interface. The above-mentioned n, m, i, j are all integers, and i, j&gt;2, i*n=m*j.  
         [0041]    The first and second FIFO memories function as temporary storage units under different data access rates. The read/write control signal controls the first and second FIFO memories, so that the first FIFO memory receives the write data from the control chip set data I/O interface, and then transmits the write data to the memory data I/O interface. The second FIFO memory receives the read data from the memory data I/O interface, and then transmits the read data to the control chip set data I/O interface.  
         [0042]    Each memory module in this embodiment can receive the memory clock signal with the same frequency. The buffer  820  may further comprises a phase lock loop circuit to generate the buffer clock signal and the multiple buffer clock signal. The buffer clock signal has the same frequency as the memory clock signal. The multiple buffer clock signal has a frequency which is i times of the frequency of the memory clock signal. The control signal generator of the buffer receives the buffer clock signal and the multiple buffer clock signal to generate the correct sequence control signal.  
         [0043]    [0043]FIG. 9 and FIG. 10 show the connections of another two embodiments of the invention. In the embodiment shown in FIG. 8, in addition to sending the read/write control signal to the buffer  820 , the control chip set  800  also sends the read/write control signal to the memory modules  840 . In the third embodiment as shown in FIG. 9, the control chip set  800  outputs two different sets of read/write control signals to the buffer  820  and the memory modules  840 . In the fourth embodiment as shown in FIG. 10, the control chip set  800  does not output the read/write control signal to the memory modules  840  directly. Instead, a control signal is output to the memory modules  840  from the buffer  820 .  
         [0044]    Furthermore, the number of the memory module is not limited. In the fifth embodiment as shown in FIG. 11, only one memory module  940 , such as double data rate synchronous random access memory, is used in the invention. In this embodiment, both the memory module  940  and the control chip set  940  are coupled to the buffer  920 . The memory module  940  is divided 64 data bits into 8 sets of 8 data bits named DDQL 4 [7:0], DDQH 4 [15:8], DDQL 3 [23:16], DDQH 3 [31:24], DDQL 2 [39:32], DDQH 2 [47:40], DDQL 1 [55:48], and DDQH 1 [63:56]. The control chip set  900  has 32 data bits divided into 4 sets of 8 data bits named CDQ 4 [7:0], CDQ 3 [15:8], CDQ 2 [23:16], and CDQ 1 [31:24]. In the reading operation, the CDQ 4 [7:0] receives the data from either the DDQL 4 [7:0] or the DDQH[15:8] assembled by the buffer  920 , and so do the CDQ 3 [15:8], CDQ 2 [23:16], and CDQ 1 [31:24]. In the writing operation, the data in DDQL 4 [7:0] and DDQH 4 [15:8] receive the data from CDQ 4 [7:0] disassembled by the buffer  920 , so do the DDQL 3 [23:16], DDQH 3 [31:24], DDQL 2 [39:32], DDQH 2 [47:40], DDQL 1 [55:48], and DDQH 1 [63:56 ].  
         [0045]    As the actual amount of input/output data is the same, n, m, i and j also can meet the above requirement: i*n=m*j. In the fifth embodiment, the multiple of data access rate compares with the double data rate synchronous random access memory is 2, that is, i=2. The number of data bits of the memory modules can be 64, that is, m=64. The memory modules is one, that is, j=1. The number of data bits of the control chip set is 32, that is, n=32. In this way, not only the pin count of the control chip set  900  can be reduced but also the data access rate of the control chip set  900  can be increased 2 times higher than the data access rate of the memory module  940 . Other embodiments of the invention will appear to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples to be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.