An apparatus and method for enabling multiple sense amps in a burst read memory is described. The sense amps are divided into two sets which are then enabled at slightly different times. The time difference is set so that a maximum power consumption experienced when the sense amps are enabled is reduced significantly, but the effect on the total time needed to read the data is not increased.
Description
BACKGROUND OF THE INVENTION 1. Field of the Invention The invention relates to a method and apparatus for sending enable signals to sense amplifiers ("amps") in a computer memory. More particularly, the invention provides for the delay of a portion of those enable signals so that the peak power consumed by the sense amps enabled by the enable signals at any one time is minimized. 2. Prior Art To read data from a memory circuit array, sense amps located at the ends of sense lines are generally utilized. When a read request is received by the memory circuit, a storage element is coupled to a sense line and the sense amp located at the end of the sense line is enabled to detect the voltage on the sense line, and to drive a corresponding logic signal onto the output line. With the introduction of systems that utilize burst mode read operations from memory and wide data words of 64 bits or larger, sense amplifier induced supply noise can reach excessive levels. Typically, in a burst read operation, data is sensed for all words in the burst simultaneously. When sense amps are enabled they typically have an initial period of increased power consumption as they begin to drive the capacitive loads on their outputs. When multiple sense amps are enabled simultaneously, as in a burst read operation, the power surge that occurs can introduce undesirable supply noise into the system. This supply noise problem in wide word burst memories has reached the point where a new system is desired. BRIEF SUMMARY OF THE INVENTION An objective of the invention is to provide a method and apparatus for enabling multiple sense amps in a burst read memory circuit while minimizing the power surge that occurs as a result. When the invention is incorporated into a memory, the peak power consumption that results from a read cycle is reduced. This overall reduction allows individual sense amps to be larger, providing the benefit of reducing the response time of the memory circuit. Additionally, the size of the power busing area which provides power to the memory circuit may be reduced. In a preferred embodiment, the invention includes a multiplexer circuit in combination with a delay element. The sense lines used to read out the various memory locations are divided into two groups, called "chunks," each having a set of sense enable lines. When a read request is detected the memory circuit determines which chunk should be sensed first, and based on this determination, signals a multiplexor to introduce a delay into the enable signal sent to the set of sense amps which sense the other chunk. This method allows the chunk burst order to be different from one read access to the next. The two enable signals are then distributed using a synchronization circuit so that one set of sense amps is enabled slightly before the other. The result is that the peak power consumed by the circuit at any one time is reduced as compared to a circuit which enables all sense amps simultaneously. In accordance with another aspect of the invention, a computer system is provided having a microprocessor, a memory, and input/output devices coupled to a system bus. A cache memory circuit is coupled to the microprocessor and is located within the same package as the microprocessor. The cache memory circuit includes sense amps and multiplexer circuits as set forth above.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a computer system incorporating a preferred embodiment of the invention. FIG. 2 is a block diagram of a sense enable timing circuit. FIG. 3 is a circuit diagram of a preferred embodiment of the sense enable timing circuit.
DETAILED DESCRIPTION OF THE INVENTION FIG. 1 is a schematic representation of a computer system incorporating a preferred embodiment of the invention. Cache memory 10 and microprocessor 11 are shown encapsulated together within package 16. The microprocessor is coupled to a system bus 18, through which it can communicate to other system components including memory 13 and input/output device 15. The microprocessor 11 and cache memory 10 are coupled together by address bus 20 and data bus 12. Within cache memory 10 only a single bank of memory is illustrated. Multiple banks are incorporated in an actual embodiment, the technique for which is well known in the art. When a read request is made by microprocessor 11 on address bus 20 to cache memory 10, decoding circuit 22 determines the order that the data should be read back to the microprocessor on data bus 12. Based on the determination made by decoding circuit 22, sense enable timing circuit 24 is placed in one of two states by select signals sent through select lines 100 and 101. Decoding circuit 22 also causes address lines 50, which run horizontally through the memory array 26, to couple the proper memory storage elements located within the memory storage array 26 to sense lines 60. Then, sense enable timing circuit 24 enables sense amps 65a and 65b through sense enable lines 30 and 31 causing sense amps 5a and 65b to sense the data on sense lines 60 and to drive that data onto data bus 12. If configured in accordance with prior art techniques, sense enable lines 30 and 31 would be coupled together as a single sense enable line. Thus, the enable signal would be received simultaneously by sense amps 65a and 65b to drive all data bits onto data bus 12 simultaneously. In a system where the number of sense amps being enabled is large, as with wide data buses or burst mode read and writes, a power surge that occurs as a result of simultaneous operation of the sense amps introduces supply noise into the system which can interrupt normal operation. The number of sense amps used in the system incorporating a preferred embodiment of the invention is 1,152. When configured in accordance with a preferred embodiment of the invention, the sense amp enable from sense enable lines 30 and 31 are offset slightly so that sense amps 65a and 65b are not enabled at the same time. Since sense amps require the greatest amount of power during the first 300 picoseconds (ps), a delay of only this much time is sufficient to reduce the overall power surge substantially without affecting the time it takes to read the data, which can take several nano-seconds in a standard cache memory. During normal operation of the cache memory a "master" enable signal is transmitted through line 90 to the sense enable timing circuit 24. This master enable is sent as soon as possible after the memory storage circuits have been coupled to the sense lines 60 so that the read is accomplished as quickly as possible. The select signals applied through lines 100 and 101 determine whether the enable signal sent through line 30 or line 31 is delayed. The selection could also be accomplished with a single select line instead of the two lines 100 and 101 shown. However, for various reasons not relevant to the invention two signal lines are used in the preferred embodiment. In response to the master enable signal and the two select signals, two sense enable signals are generated by sense enable timing circuit 24 and then transmitted from lines 30 and 31 to a first set of sense amps 65a and to a second set of sense amps 65b. FIG. 2 is a block diagram of the sense enable timing circuit 24 shown in FIG. 1. The sense enable timing circuit 24 generates two enable signals offset in time from each other and, based on select signals, transmits those signals in one of two ways on outputs 30 and 31. During normal operation a master enable signal is transmitted through line 90 to a first delay circuit 110, and a second delay circuit 111. In a preferred embodiment the delay circuits are inverters. The output from the second delay circuit 111 is transmitted to two inputs of a four-to-two multiplexor 120. The output of first delay circuit 110 is transmitted to third delay circuit 112, and then to the other two inputs of multiplexor 120. Thus, the signal from third delay circuit 112 is delayed with respect to the signal from delay element 111. Lines 100 and 101 transmit select signals into the select inputs of multiplexor 120. The outputs of the second and third delay circuits are coupled to the inputs of multiplexor 120 as shown, so that the delayed signal is transmitted through either output O.sub.1 or O.sub.2 depending on the state of the multiplexor select signals transmitted on lines 100 and 101. This allows one set of sense amps to be enabled before the other depending on the burst order of the read request detected by decoding circuit 22. FIG. 3 is a circuit diagram of a preferred embodiment of the sense enable timing circuit 24. The master enable signal is transmitted through line 90 into first delay circuit 110, providing a delay of amount "delay-1", and second delay circuit 111, providing a delay of amount "delay-2". The output of first delay circuit 110 is fed into third delay circuit 112, which provides a delay of amount "delay-2". The two signals from the second and third delay elements 111 and 112 are then transmitted to buffers 75 and then to multiplexor 120 which is shown to be comprised of six NAND gates 80, and four inverters 85. Outputs 30 and 31 from multiplexor 120 transmit the first and second enable signals which are offset by an amount "delay-1" from each other, which in a preferred embodiment is 300 ps. Depending on the read burst order requested by the microprocessor, select signals are placed on lines 100 and 101 so that the delayed signal is output from either line 30 or 31. The signals on line 30 and 31 are then distributed to different sets of sense amps each comprising one half, or 576, of the total number of sense amps 1152. In a preferred embodiment of the invention, the sense enable signals output on lines 30 and 31 are distributed throughout cache memory 10 using various buffers, dividers, and driving circuits. The use of such distribution circuitry is common in cache memories. Because, however, the time at which sense amps 65a and 65b are enabled is important, the circuitry used in preferred embodiments of the invention to distribute the two sense enable signals are matched as closely as possible so that the delay introduced by sense enable timing circuitry 24 is still present after both signals have gone through the distribution circuitry. Those skilled in the art will recognize various alternative methods for implementing the described invention. These include, but are not limited to, providing different delay periods, dividing the sense enable signals into more than two groups, and using alternative logic designs. In general, the exemplary embodiments described herein are merely illustrative of the invention and should not be taken as limiting the scope of the invention.
Claims
1. An apparatus comprising:
(a) first circuitry for providing a first set of data on a first set of sense lines while providing a second set of data on a second set of sense lines;
(b) a bus having a first set of bus lines and having a second set of bus lines;
(c) a first set of sense amplifiers, coupled to the first set of sense lines and to the first set of bus lines, for outputting the first set of data onto the first set of bus lines;
(d) a second set of sense amplifiers, coupled to the second set of sense lines and to the second set of bus lines, for outputting the second set of data onto the second set of bus lines; and
(e) second circuitry coupled to the first set of sense amplifiers for enabling the first set of sense amplifiers to output the first set of data onto the first set of bus lines,
the second circuitry coupled to the second set of sense amplifiers for enabling the second set of sense amplifiers at a predetermined delay with respect to the enabling of the first set of sense amplifiers such that the second set of data is output onto the second set of bus lines while the first set of data is output onto the first set of bus lines.
2. The apparatus of claim 1, wherein the predetermined delay is approximately 300 picoseconds.
3. The apparatus of claim 1, wherein the first circuitry comprises:
(i) memory circuitry for storing the first set of data and the second set of data, and
(ii) decode circuitry, coupled to the memory circuitry, for addressing the memory circuitry in response to a read request to provide the first set of data onto the first set of sense lines and to provide the second set of data onto the second set of sense lines.
4. The apparatus of claim 1, wherein the second circuitry comprises:
(i) an input for receiving an enable signal,
(ii) delay circuitry, coupled to the input, for delaying the enable signal for the predetermined delay to produce a delayed enable signal, and
(iii) output circuitry, coupled to the input and to the delay circuitry, for outputting the enable signal to the first set of sense amplifiers and for outputting the delayed enable signal to the second set of sense amplifiers.
5. The apparatus of claim 4, wherein the delay circuitry comprises inverters.
6. The apparatus of claim 1, the second circuitry for enabling the second set of sense amplifiers to output onto the second set of bus lines a third set of data received from the second set of sense lines, and
the second circuitry for enabling the first set of sense amplifiers at the predetermined delay with respect to the enabling of the second set of sense amplifiers such that a fourth set of data received from the first set of sense lines is output onto the first set of bus lines while the third set of data is output onto the second set of bus lines.
7. The apparatus of claim 6, the second circuitry for enabling the first set of sense amplifiers before or after the second set of sense amplifiers based on a burst order of a read request.
8. The apparatus of claim 6, wherein the second circuitry comprises:
(i) an input for receiving an enable signal,
(ii) delay circuitry, coupled to the input, for delaying the enable signal for the predetermined delay to produce a delayed enable signal, and
(iii) output circuitry coupled to the input and to the delay circuitry, the output circuitry for outputting the enable signal to the first set of sense amplifiers and the delayed enable signal to the second set of sense amplifiers when in a first state, and the output circuitry for outputting the delayed enable signal to the first set of sense amplifiers and the enable signal to the second set of sense amplifiers when in a second state.
9. The apparatus of claim 8, wherein the first circuitry is coupled to the output circuitry, and wherein the first circuitry is responsive to a read request of a first type for placing the output circuitry in the first state and is responsive to a read request of a second type for placing the output circuitry in the second state.
10. The apparatus of claim 8, wherein the output circuitry comprises a multiplexer.
11. An apparatus comprising:
(a) first means for providing a first set of data on a first set of sense lines while providing a second set of data on a second set of sense lines;
(b) a bus having a first set of bus lines and having a second set of bus lines;
(c) a first set of sense amplifiers, coupled to the first set of sense lines and to the first set of bus lines, for outputting the first set of data onto the first set of bus lines;
(d) a second set of sense amplifiers, coupled to the second set of sense lines and to the second set of bus lines, for outputting the second set of data onto the second set of bus lines; and
(e) second means coupled to the first set of sense amplifiers for enabling the first set of sense amplifiers to output the first set of data onto the first set of bus lines,
the second means coupled to the second set of sense amplifiers for enabling the second set of sense amplifiers at a predetermined delay with respect to the enabling of the first set of sense amplifiers such that the second set of data is output onto the second set of bus lines while the first set of data is output onto the first set of bus lines.
12. The apparatus of claim 11, wherein the predetermined delay is approximately 300 picoseconds.
13. The apparatus of claim 11, wherein the first means comprises:
(i) memory means for storing the first set of data and the second set of data, and
(ii) decode means, coupled to the memory means, for addressing the memory means in response to a read request to provide the first set of data onto the first set of sense lines and to provide the second set of data onto the second set of sense lines.
14. The apparatus of claim 11, wherein the second means comprises:
(i) input means for receiving an enable signal,
(ii) delay means, coupled to the input means, for delaying the enable signal for the predetermined delay to produce a delayed enable signal, and
(iii) output means, coupled to the input means and to the delay means, for outputting the enable signal to the first set of sense amplifiers and for outputting the delayed enable signal to the second set of sense amplifiers.
15. The apparatus of claim 14, wherein the delay means comprises inverters.
16. The apparatus of claim 11, the second means for enabling the second set of sense amplifiers to output onto the second set of bus lines a third set of data received from the second set of sense lines, and
the second means for enabling the first set of sense amplifiers at the predetermined delay with respect to the enabling of the second set of sense amplifiers such that a fourth set of data received from the first set of sense lines is output onto the first set of bus lines while the third set of data is output onto the second set of bus lines.
17. The apparatus of claim 16, the second means for enabling the first set of sense amplifiers before or after the second set of sense amplifiers based on a burst order of a read request.
18. The apparatus of claim 16, wherein the second means comprises:
(i) input means for receiving an enable signal,
(ii) delay means, coupled to the input means, for delaying the enable signal for the predetermined delay to produce a delayed enable signal, and
(iii) output means coupled to the input means and to the delay means, the output means for outputting the enable signal to the first set of sense amplifiers and the delayed enable signal to the second set of sense amplifiers when in a first state, and the output means for outputting the delayed enable signal to the first set of sense amplifiers and the enable signal to the second set of sense amplifiers when in a second state.
19. The apparatus of claim 18, wherein the first means is coupled to the output means, and wherein the first means is responsive to a read request of a first type for placing the output means in the first state and is responsive to a read request of a second type for placing the output means in the second state.
20. The apparatus of claim 18, wherein the output means comprises a multiplexer.
21. A method for outputting data onto a bus, comprising the steps of:
(a) providing a first set of data on a first set of sense lines while providing a second set of data on a second set of sense lines;
(b) receiving the first set of data by a first set of sense amplifiers for output onto a first set of bus lines of the bus;
(c) receiving the second set of data by a second set of sense amplifiers for output onto a second set of bus lines of the bus;
(d) enabling the first set of sense amplifiers to output the first set of data onto the first set of bus lines; and
(e) enabling the second set of sense amplifiers at a predetermined delay with respect to the enabling of the first set of sense amplifiers such that the second set of data is output onto the second set of bus lines while the first set of data is output onto the first set of bus lines.
22. The method of claim 21, wherein the predetermined delay is approximately 300 picoseconds.
23. The method of claim 21, wherein the providing step (a) includes the step of addressing a memory circuit in response to a read request to provide the first set of data onto the first set of sense lines and to provide the second set of data onto the second set of sense lines.
24. The method of claim 21, wherein the enabling step (d) and the enabling step (e) comprise the steps of:
(i) receiving an enable signal,
(ii) delaying the enable signal for the predetermined delay to produce a delayed enable signal,
(iii) outputting the enable signal to the first set of sense amplifiers, and
(iv) outputting the delayed enable signal to the second set of sense amplifiers.
25. The method of claim 24, wherein the delaying step includes the step of using inverters to delay the enable signal.
26. The method of claim 21, comprising the steps of:
(f) enabling the second set of sense amplifiers to output onto the second set of bus lines a third set of data received from the second set of sense lines, and
(g) enabling the first set of sense amplifiers at the predetermined delay with respect to the enabling of the second set of sense amplifiers such that a fourth set of data received from the first set of sense lines is output onto the first set of bus lines while the third set of data is output onto the second set of bus lines.
27. The method of claim 26, wherein the first set of sense amplifiers are enabled before or after the second set of sense amplifiers based on a burst order of a read request.
28. The method of claim 26, wherein the enabling step (d) and the enabling step (e) comprise the steps of:
(i) receiving an enable signal,
(ii) delaying the enable signal for the predetermined delay to produce a delayed enable signal, and
(iii) outputting by output circuitry the enable signal to the first set of sense amplifiers and the delayed enable signal to the second set of sense amplifiers when the output circuitry is in a first state; and
wherein the enabling step (f) and the enabling step (g) comprise the step of outputting by the output circuitry the delayed enable signal to the first set of sense amplifiers and the enable signal to the second set of sense amplifiers when the output circuitry is in a second state.
29. The method of claim 28, comprising the steps of placing the output circuitry in the first state in response to a read request of a first type and placing the output circuitry in the second state in response to a read request of a second type.
30. The method of claim 28, wherein the output circuitry includes a multiplexer.