Synchronous dynamic random access memory

Abstract: A synchronous dynamic random-access memory has transparent latch circuits that latch address signals in synchronization with a clock signal. An X-address is latched following activation of a first control signal; a Y-address is latched following activation of a second control signal. Data selected by the latched X- and Y-addresses are held in a data latch and output through a tri-state output circuit in synchronization with the clock signal. Data output starts a certain number of clock cycles from activation of the first control signal. The data can be output for one clock cycle, the same data can be output for two or more consecutive clock cycles, or different data can be output in consecutive clock cycles in an order determined by certain bits in the X- and Y-addresses.

Description: BACKGROUND OF THE INVENTION This invention relates to a dynamic random-access memory (DRAM) that operates in synchronization with a clock signal, thus being suitable for integration into microcontrollers and application-specific integrated circuits. A microcontroller, for example, generally comprises a central processing unit, read-only memory, random-access memory, and other modules integrated onto a single semiconductor chip. Operations of all on-chip circuits are synchronized by a system clock signal. In the past, the random-access memory has generally been of the static type (SRAM), which has a simple control scheme permitting rapid access and can easily be synchronized to the system clock. For many purposes it would be desirable to use DRAM, which takes up less space and dissipates less power than SRAM, but the more complex control required by DRAM has been an obstacle. In prior-art DRAM, the timing of address input and data output is determined by a plurality of control signals. Even if these control signals are generated by the central processing unit in synchronization with the system clock, because of unavoidable fabrication variations in circuit elements, synchronization between the system clock and DRAM input and output operations will be inaccurate. Inaccurate synchronization must be allowed for by employing a low clock frequency, which of course limits the speed of the entire device. SUMMARY OF THE INVENTION It is accordingly an object of the present invention to synchronize DRAM address input accurately to a clock signal. Another object of the invention is to synchronize DRAM data output accurately to a clock signal. Yet another object of the invention is to output data in a single clock cycle selected in relation to a first control signal. Still another object is to enable data output to be extended for additional clock cycles responsive to a second control signal. A further object is to enable data from different memory cells to be output in consecutive clock cycles. A still further object is to enable the order of data output in consecutive clock cycles to be altered according to certain address bits. A synchronous dynamic random-access memory according to the invention as indicated in Claim 1. It has address input means for latching an address signal on a first transition of a clock signal to generate an X-address, and on a second transition of the clock signal to generate a Y-address. The first transition is selected by a first control signal; the second transition is selected by a second control signal. A decoding means selects one or more memory cells in a memory cell array according to the X-address and Y-address. An output means outputs data from the selected memory cells in synchronization with the clock signal. According to one embodiment of the invention, the output means comprises a data latch means, tri-state output means, and output control means. Data read from the memory cell array are held in the data latch means, and output by the tri-state output means in response to an output control signal from the output control means. The output control means activates the output control signal for one or more clock cycles, starting a certain number of clock cycles after activation of the first control signal. According to another embodiment of the invention, the output means comprises a multiple data latch means, a tri-state output means, and a consecutive output control means. The multiple data latch means latches and holds data read from a plurality of memory cells in the memory cell array. The consecutive output control means receives one or more address bits from the address input means, selects the data held in the multiple data latch means in an order determined from these one or more address bits, and supplies the selected data to the tri-state output means for external output. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a synchronous DRAM. Fig. 2 is a schematic diagram of a novel address input circuit. Fig. 3 is a timing diagram for Fig. 2. Fig. 4 is a schematic diagram of a modification of the address input circuit of Fig. 2. Fig. 5 is a timing diagram for Fig. 4. Fig. 6 is a block diagram of a synchronous DRAM with novel output means. Fig. 7 is a schematic diagram illustrating one configuration of the output control circuit in Fig. 6. Fig. 8 is a timing diagram for Fig. 6 and Fig. 7. Fig. 9 is a schematic diagram illustrating another configuration of the output control circuit in Fig. 6. Fig. 10 is a timing diagram for Fig. 6 and Fig. 9. Fig. 11 is a block diagram of a synchronous DRAM with another novel output means. Fig. 12 is a timing diagram for Fig. 11. Fig. 13 is a block diagram of a synchronous DRAM with yet another novel output means. Fig. 14 is a timing diagram for Fig. 13. Fig. 15 is a timing diagram for Fig. 13. DETAILED DESCRIPTION OF THE INVENTION A more detailed description of the invention will be given with reference to the drawings. These drawings are shown as illustrations of the invention but they do not restrict its scope as set forth in the appended claims. Referring to Fig. 1, the invented memory comprises an address input circuit 10 that receives n+1 address signals A0-An (n is a positive integer), a clock signal (CLK), a first control signal (conventionally designated RAS : row address strobe), and a second control signal ( CAS : column address strobe). Address input is multiplexed: both a row address (X-address) and column address (Y-address) are input on the same signal lines A0-An. The address input circuit latches the address signals on a first transition of CLK selected by RAS , the latched address becoming an X-address (AX0-AXn), then latches the address signals again on a second transition of CLK selected by CAS , the address latched this time becoming a Y-address (AY0-AYn). The X-address is supplied to an X-address decoder 20 and the Y-address to a Y-address decoder 30. These address decoding means decode the X-address and Y-address to select one or more memory cells in a memory cell array 40. A data input/output means 50 transfers data between the selected memory cell or cells and an external data bus (not shown) thereby either reading data out of the memory cells or writing data into the memory cells. Data output is synchronized with CLK. Fig. 2 is a schematic diagram of the address input circuit 10 in Fig. 1. The address signal A0-An is supplied to a first transparent latch circuit 17 and a second transparent latch circuit 18. The address input circuit also has a third transparent latch circuit 11 for latching RAS , and a fourth transparent latch circuit 12 for latching CAS . A transparent latch circuit is controlled by an enable signal, being transparent to its input when the enable signal is in a first state, latching its input when the enable signal changes to a second state, and continuing to output the latched value until the enable signal reverts to the first state. In Fig. 2 the first transparent latch circuit 17 is controlled by an X-address latch signal S13, the second transparent latch circuit 18 is controlled by a Y-address latch signal S14, and the third and fourth transparent latch circuits 11 and 12 are controlled by CLK. Specifically, the first transparent latch circuit 17 is enabled or made transparent when the X-address latch signal S13 low, and lathes the address signal A0-An upon low-to-high transition of the X-address latch signal. The second transparent latch circuit 18 is made transparent when the Y-address latch signal S14 is low, and latches the address signal A0-An via an input gate 16 upon low-to-high transition of the Y-address latch signal S14. The third and fourth transparent latch circuits 11 and 12 are made transparent when CLK is Low and latch the RAS or CAS upon low-to-high transition of CLK. The X-address latch signal S13 is output by an X-address latch signal generating circuit 13 comprising an inverter 13a that inverts RAS , a NAND gate 13b that performs the NOT AND logic operation on the output of the inverter 13a and CLK, and a set-reset flip-flop 13e comprising NAND gates 13c and 13d. The set-reset flip-flop 13e is set by the output of the NAND gate 13b and reset by the output of the inverter 13a; it therefore sets when RAS is low and CLK is high, and resets when RAS goes high. The X-address latch signal S13 is the output of the NAND gate 13c. The operation of the X-address latch signal generating circuit 13 is evident from the schematic. S13 is inactive (low) whenever RAS is inactive (high). If RAS becomes active (low) while CLK is low, at first there is no change in S13, but as soon as CLK goes high, the set-reset flip-flop 13e sets and S13 becomes active (high). Thereafter, S13 remains active (high) until RAS becomes inactive (high) again. The Y-address latch signal S14 is output by a Y-address latch signal generating circuit 14 similar in structure and operation to the X-address latch signal generating circuit 13, having an inverter 14a, a NAND gate 14b, and a set-reset flip-flop circuit 14e comprising NAND gates 14c, and 14d. The Y-address latch signal S14 is inactive (low) whenever CAS is inactive (high), becomes active (high) when CAS is active (low) and CLK is high, and remains active until CAS becomes inactive (high) again. To avoid unwanted changes in the output of the second transparent latch 18, this address input circuit also has a delay line 15 and a Y-address input gate 16. The delay line 15 comprises, for example, a D-type flip-flop that delays the output of the first transparent latch circuit 11 by a certain amount responsive to CLK, also inverting the output of the first transparent latch 11, thus producing a signal S15 that becomes active (high) at a certain transition of CLK after RAS has become active (low). The Y-address input gate 16 performs an AND logic operation on S15 and each of the address bits A0-An, thus feeding the address signal A-An to the second transparent latch circuit 18 when S15 is active and blocking the address signal A0-An when S15 is inactive. The operation of Fig. 2 will be explained with reference to Fig. 3, which is a timing diagram for Fig. 2. Cross-hatching in Fig. 3 indicates the don't-care state. RAS is driven active (low) by an external device such as a central processing unit at a time t1 after the fall of CLK, allowing a certain setup time Trs with respect to the next low-to-high transition of CLK. At about the same time, the central processing unit outputs an X-address on the address signal lines A0-An. As soon as it becomes valid, this address is passed through the first transparent latch circuit 17 to the X-address decoder 20 as the X-address AX0-AXn. Since the Y-address input gate 16 is closed, this address is not passed to the second transparent latch 18 or the Y-address decoder 30. At time t2 CLK goes high, the X-address latch signal S13 rises, and the first transparent latch circuit 17 closes. The first transparent latch circuit 17 thus continues to output the X-address AX0-Axn even after the address signal A0-An changes. At the next high-to-low transition of CLK the signal S15 goes high, opening the Y-address input gate 16. At time t3, following this high-to-low transition of CLK and allowing a certain setup time Tcs with respect to the next low-to-high transition of CLK, the central processing unit drives CAS active (low). At about the same time the central processing unit places a Y-address on the address signal lines A0-An. As soon as it becomes valid, this address is passed through the Y-address input gate 16 and the second transparent latch circuit 18 to the Y-address decoder 30 as the Y-address AY0-AYn. At time t4 CLK goes high, the Y-address latch signal S14 rises, and the second transparent latch circuit 18 closes, thus continuing to output the Y-address AY0-AYn even after the address signal A0-An changes. The address signal A0-An is synchronized with CLK, so by latching this signal at the CLK transitions at t2 and t4 it is easy to ensure that valid addresses are latched. In addition, since RAS and CAS are not used as latch triggers (as in the prior art), but only to determine the triggering edges of CLK, their timing requirements are relaxed. RAS and CAS can be driven active even prior to valid address output, as in Fig. 3. High clock rates are thus possible. Moreover, the use of transparent latch circuits 17 and 18 allows decoding of the X- and Y-addresses to begin even before the latch points at t2 and t4, resulting in an overall shortening of the memory cycle. Similar advantages apply to the latching of RAS and CAS by the transparent latch circuits 11 and 12, the outputs of which are furnished to other circuits such as data input and output timing circuits not shown in Fig. 2. The address input circuit 10 in Fig. 1 is not limited to the configuration shown in Fig. 2. For example, the third and fourth transparent latches 11 and 12, the delay line 15, and the Y-address input gate 16 can be omitted if not needed. The internal structure of the X- and Y-address latch signal generating circuits 13 and 14 can be modified. First and second control signals that are active high can be used instead of RAS and CAS . X- and Y-address buffer circuits may be added as output stages following the first and second transparent latch circuits 17 and 18. A modification of the address input circuit of Fig. 2 is shown in Fig. 4. The address input circuit of Fig. 4 differs from the address input circuit of Fig. 2 in that the input of the X- and Y-address latch signal generating circuits 13 and 14 are connected respectively to the outputs of the first and second transparent latch circuits 11 and 12. With this modification, the timing requirements of RAS and CAS further relaxed, as will be seen from Fig. 5. That is, if the RAS goes low at t1' before high-to-low transition of CLK, the X-address latch signal S13 does not go high until t2 because the output S11 of the transparent latch circuit 11 goes low at or slightly after (with the propagation delay) the high-to-low transition of CLK. The time at which the X-address is latched is therefore unaffected. Similarly, even if the CAS goes low at t3' before high-to-low transition of CLK, the Y-address latch signal S14 does not go high until t4 because the output S12 of the second transparent latch circuit 12 goes low at or slightly after (with the propagation delay) the high-to-low transition of CLK. The time at which the Y-address is latched is therefore unaffected. The remainder of the detailed description of the invention is concerned with the output section of the data input/output circuit 50 in Fig. 1, and will show several novel means of outputting memory data in synchronization with CLK. Fig. 6 is a block diagram showing one basic data output scheme. Elements common to Fig. 1 have the same reference numerals. The address input circuit 10 can be the circuit shown in Fig. 2 or a modification thereof as noted above. Output data from the memory cell array 40 are amplified by sense amplifiers (not explicitly shown) and placed on an internal data bus 51. After further amplification by an amplifier circuit 60, the data are sent to a data latch circuit 70 and held for output. Output takes place through a tri-state output circuit 80 capable of producing high or low output, or placing the output signal line or lines (Do in the drawing) in the high-impedance state. The output circuit is enabled and disabled by an output control signal S90 generated by an output control circuit 90. Also shown in Fig. 6 is a memory control signal generating circuit 100 comprising a latch circuit 101 and a signal generating circuit 102. The latch circuit 101 receives CLK and external control signals such as RAS , CAS , an output enable signal ( OE ), and a write enable signal ( WE ), and has the general function of latching the control signals and synchronizing the operation of the DRAM with CLK. The latch circuit 101 comprises, for example, circuits similar to those in Fig. 2. (The fourth transparent latch 12 in Fig. 2, which is not explicitly used for address input, can be considered as disposed in the latch circuit 101.) The signal generating circuit 102 receives the outputs of the latch circuit 101 and generates various types of memory control signals, such as a signal selecting read or write mode, which are not explicitly shown but will be familiar to those skilled in the art. The output control circuit 90 is adapted to drive the output control signal S90 to the active state for one clock cycle, starting a certain number of clocks after RAS becomes active: for example, S90 may be active during an interval from substantially the third rising edge of CLK after RAS becomes active until substantially the fourth rising edge. In order for S90 to be activated, CAS must become active after RAS becomes active, but it is not necessary for CAS to remain active. The output control circuit 90 can be realized in various ways, one of which is described next. Referring to Fig. 7, the output control circuit 90 comprises an inverter 91 for inverting RAS , a set-reset flip-flop 92-1 that is set by CAS and reset by the output of the inverter 91, and D-type flip-flops 92-2 to 92-5 connected in series and clocked by CLK. The output of the set-reset flip-flop 92-1 is fed to a further D-type flip-flop 93-1, which is also clocked by CLK. The first flip-flop 92-2 in the series of D-type flip-flops 92-2 to 92-5 receives the inverted RAS signal from the inverter 91, and passes this signal to the second flip-flop 92-3. From the second flip-flop 92-3, the signal enters the next-to-last flip-flop 92-4. The output S92-4 of the next-to-last flip-flop 92-4 is fed not only to the last flip-flop 92-5 but also to an AND gate 93-2 comprising a NAND gate followed by an inverter. The other input of the AND gate 93-2 is the output of the further flip-flop 93-1. The output of the AND gate 93-2 is fed to a one-shot pulse generating circuit 94-1 comprising an odd number of inverters and a NAND gate connected in series. The output of the last flip-flop 92-5 is fed to a similar one-shot pulse generating circuit 94-2. The outputs of the one-shot pulse generating circuits 94-1 and 94-2 are fed as set and reset inputs, respectively, to a set-reset flip-flop 92-6. The output of the set-reset flip-flop 92-6 is the output control signal S90. The purpose of the set-reset flip-flop 92-1, the further flip-flop 93-1, and the AND gate 93-2 is to ensure that the output control signal S90 does not go high unless CAS becomes active (low) beforehand. The operation of the memory in Fig. 6 and Fig. 7 will be explained with reference to Fig. 8. Address input is carried out as already described: an X-address is latched at the first rising edge of CLK after RAS becomes active, at time t11 in Fig. 8; a Y-address is latched at the first rising edge of CLK after CAS becomes active, at time t12 in Fig. 8. Decoding of the X- and Y-addresses begins even before t11 and t12, so data output from the memory cell array 40 starts promptly around time t12, permitting the data to be latched in the data latch circuit 70 before the next rising CLK edge at time t13. The lower eight waveforms in Fig. 8 illustrate the operation of the output control circuit 90 and tri-state output circuit 80. When CAS goes active (low) between times t11 and t12, the set-reset flip-flop 92-1 sets. The signal S92-1 goes high at this time and remains high regardless of the further behavior of CAS . The flip-flop 93-1 latches the signal S92-1 at time t12, causing the signal S93-1 to go high at substantially time t12. The fall of RAS before time t11 causes a high signal to be latched in the flip-flop 92-2 at time t11, in the flip-flop 92-3 at time t12, and in the flip-flop 92-4 at time t13. The signal S92-4 thus goes high substantially at time t13. Since S93-1 is already high, the output of the AND gate 93-2 changes from low to high, causing the one-shot pulse generating circuit 94-1 to output a brief low pulse S94-1 that sets the set-reset flip-flop 92-6. The output control signal S90 thus becomes active (high) at substantially time t13. At time t14 the signal S92-4 is latched in the flip-flop 92-5, the output of which thus changes from low to high, causing the one-shot pulse generating circuit 94-2 to produce a brief low pulse S94-2 that resets the set-reset flip-flop 92-6. The output control signal S90 therefore becomes inactive (low) at substantially time t14. The tri-state output circuit 80 is normally in the high-impedance state, but when the output control signal S90 is active, the tri-state output circuit 80 is enabled and outputs data Do. Data output thus takes place for one CLK cycle from substantially time t13 to substantially time t14, regardless of the active duration of CAS . The data can be read at or before time t14. Although not shown in the drawing, at an appropriate time RAS goes high to end the memory cycle. RAS can be driven high at any time after time t13, and the low-to-high transition of RAS need not be precisely synchronized with the time at which the output data are read. An advantage of the memory illustrated in Fig. 6 to Fig. 8 is that data output is accurately synchronized to CLK regardless of the precise timing of RAS and CAS . The same is true of the latching of address input. Operation of the memory can thus easily be synchronized with the operation of other circuits disposed, for example, on the same semiconductor chip and driven by the same clock signal CLK. Fig. 9 illustrates another possible configuration of the output control circuit 90. Elements common to Fig. 7 have the same reference numerals, except that the output of the set-reset flip-flop 92-6 is denoted S90A. Fig. 9 is identical to Fig. 7 except for the addition of an OR gate 93-3 and an output extending circuit 95. The output extending circuit 95 receives CLK, CAS , S92-4, and the output of the inverter 91 and produces an output extending signal S95. The OR gate 93-3, which comprises a NOR gate followed by an inverter, combines the signal S90A with the signal S95 by OR logic to produce the output control signal S90 sent to the tri-state output circuit 80 in Fig. 6. The output extending circuit 95 comprises a logic circuit 95a, a set-reset flip-flop 95b, and an inverter 95c. The logic circuit 95a comprises logic gates and a flip-flop (FF) that is triggered on rising edges of CLK. It can readily be verified from Fig. 9 that the set-reset flip-flop 95b resets, driving the signal S95 high, when CAS and RAS are both low and S92-4 is high, and sets, driving the signal S95 low, when CAS is high and CLK goes high, or when RAS is high, or when S92-4 is low. The operation of the output control circuit in Fig. 9 will be explained with reference to the timing diagram in Fig. 10, which illustrates two cases: a first case (a) in which CAS goes high before the output cycle begins at time t13, and a second case (b) in which CAS goes high after time t13. In case (a), the signal S95 output by the output extending circuit 95 remains low throughout the memory cycle, because S92-4 never becomes high while CAS is low. The operation is thus the same as in Fig. 8: data Do are output for one CLK cycle from substantially time t13 to substantially time t14. In case (b), CAS is still active (low) when S92-4 goes high at time t3, so the signal S95 becomes active (high) at this time. S95 remains active until t15, the first rising edge of CLK after CAS becomes inactive (high). The high input of S95 to the OR gate 93-3 in Fig. 9 extends the active (high) interval of the output control signal S90 until time t15. Data output thus continues for two CLK cycles from substantially time t13 to substantially time t15. The data can be read, for example, on the first rising edge of CLK after CAS becomes inactive. The output control circuit in Fig. 9 provides the same advantages as the output control circuit in Fig. 7, output being accurately synchronized to CLK regardless of the precise timing of CAS and RAS . A further advantage is that by holding CAS low, the central processing unit can prolong data output until it becomes convenient to read the data. Fig. 11 is a block diagram of a novel memory generally similar to the one in Fig. 6 but adapted for nibble-mode output. Elements common to Fig. 6 have the same reference numerals. Descriptions of the address input circuits will be omitted. The nibble output mode is a mode in which input of a single pair of X- and Y-addresses causes output in four consecutive clock cycles of data from, for example, memory cells in four different quadrants of the memory cell array. If the width of the output data Do is one bit, this operation causes one nibble (four bits) to be output in four clock cycles. For simplicity, the subsequent description will be confined to this case, but the invention is not limited to output of one bit at a time. The width of the output data Do may be eight bits, for example, in which case thirty-two bits are output in four clock cycles, eight bits at a time. Neither is the invention limited to just four clock cycles; the same inventive concept can be used to obtain data output in any desired number of consecutive clock cycles. The memory in Fig. 11 has a data bus group 51A comprising four data buses, each similar to the data bus 51 in Fig. 6. These carry data from separate memory cells in the memory cell array 40 to a multiple latch circuit 70A comprising, in this case, four one-bit latch circuits 70A-1 to 70A-4. The outputs from the multiple latch circuit 70A are sent to a consecutive output control circuit 110. The consecutive output control circuit 110 comprises a decoder 111, a shift register 112, and an output select circuit 113. The decoder 111 receives certain bits of the X-address AX0-AXn and the Y-address AY0-AYn from the address input circuit 10, such as the most significant address bits AXn and AYn, decodes these bits, and sends four resulting signals to the shift register 112. For any input to the decoder 111, just one of the signals output from the decoder is active, the others being inactive. Provided this condition is met, the invention is not limited to any particular decoding scheme. Nor is the invention limited to the use of the most significant address bits; the decoder 111 can decode any address bit or set of address bits as required by the application. The shift register 112 is well-known device that stores the outputs of the decoder 111 in four bit storage cells 112-1 to 112-4, and rotates the contents of these bit storage cells 112-1 to 112-4 in synchronization with the clock signal CLK. The rotation is from left to right, the contents of the last bit storage cell 112-4 being shifted into the first bit storage cell 112-1. The contents of the bit storage cells 112-1 to 112-4 are sent as outputs from the shift register 112 to the output select circuit 113. The output select circuit 113 comprises switches 113-1 to 113-4 that turn on and off in response to the outputs of the shift register. These switches connect the outputs of the one-bit latch circuits 70A-1 to 70A-4 to the output circuit 80. A circuit generally analogous to the output control circuit 90 in Fig. 6, but with additional D-type flip-flops following the flip-flop 92-5, is incorporated into the signal-generating circuit 102 in Fig. 11. Using this circuit, the signal-generating circuit 102 generates a signal S90B that enables the tri-state output circuit 80 for four consecutive CLK cycles starting, for example, with the second cycle after RAS becomes active. The operation of the memory in Fig. 11 will be explained with reference to Fig. 12. As before, the X-address is latched at the first rising edge of CLK after the fall of RAS (time t21) and the Y-address is latched at the first rising edge of CLK after the fall of CAS (time t22). The decoder 111 decodes the most significant address bits AXn and AYn. At time t22 the four decoded signals from the decoder 111 are stored in the shift register 112. Also at time t22, four bits of data D0, D1, D2, and D3 are sent from the memory cell array 40 via the data bus group 51A to the multiple data latch circuit 70A, and stored in the one-bit latch circuits 70A-1 to 70A-4. Since just one of the four decoded signals from the decoder 111 is active, a logic "1" is stored in just one of the four bit storage cells 112-1 to 112-4. Suppose, for example, that a logic "1" is stored in the bit storage cell 112-1 and a logic "0" in the bit storage cells 112-2 to 112-4. Then the switch 113-1 turns on while the switches 113-2 to 113-4 are off, and during the interval from substantially time t22 to time t23 the bit D1 stored in the one-bit latch circuit 70A-1 is sent to the tri-state output circuit 80 and output as the output data Do. When the clock signal CLK rises at time t23 the logic "1" is shifted from the bit storage cell 112-1 to the bit storage cell 112-2, causing the switch 113-1 to turn off and the switch 113-2 to turn on. During the interval from substantially time t23 to time t24 the bit D2 stored in the one-bit latch circuit 70A-2 is sent to the tri-state output circuit 80 and output as the output data Do. Similarly, at time t24 the logic "1" is shifted from the bit storage cell 112-2 to the bit storage cell 112-3 and the bit D3 stored in the one-bit latch circuit 70A-3 is output as the output data Do. At time t25 the logic "1" is shifted from the bit storage cell 112-3 to the bit storage cell 112-4 and the bit D4 stored in the one-bit latch circuit 70A-4 is output as the output data Do. An advantage of the memory described in Fig. 11 and Fig. 12 is that nibble-mode output is obtained at the rate of one bit per clock cycle. In the prior art, nibble-mode output was obtained by toggling CAS . If transitions of CAS are synchronized with, say, the falling edge of CLK, then two CLK cycles are needed to produce one cycle of CAS , so data can be output at only half the rate shown in Fig. 12. Fig. 13 shows a modification of the memory in Fig. 11. Elements common to Fig. 11 have the same reference numerals. The new element in Fig. 13 is a shift control circuit 114 that receives a shift control signal S111 from the decoder 111 and sends a corresponding signal to the shift register 112 to control the shift direction. When the shift control signal S111 is high, for example, the shift register 112 rotates from left to right, but when the shift control signal S111 is low the shift register 112 rotates from right to left. The decoder generates S111 by decoding the most significant address bits AXn and AYn. The operation of the memory in Fig. 13 will be described with reference to Fig. 14 and Fig. 15. Referring to Fig. 14, suppose that the most significant address bits AXn and AYn are decoded as in Fig. 12 so that the bit D1 stored in the one-bit latch circuit 70A-1 is output first, and suppose further that for this value of AXn and AYn, the shift control signal S111 is high. Then the output operation is identical to Fig. 12, data being output in the order D1, D2, D3, D4. Referring to Fig. 15, suppose that the most significant address bits AXn and AYn have different values, causing- the bit D2 stored in the one-bit latch circuit 70A-2 to be output first and the shift control signal S111 to be held low. Then the order of output is D2, D1, D4, D3. In some microcontroller designs it is convenient for the central processing unit to be able to receive nibble data in either the forward or reverse order, depending on the starting bit. The memory in Fig. 13 can easily be interfaced to such a central processing unit. The central processing unit can operate faster than in the prior art because it does not have to rearrange the data received from the memory. The memories in Fig. 6, Fig. 11, and Fig. 13 also have circuits for writing and refreshing data in the memory cell array 40. These circuits are well known and for the sake of simplicity and clarity were omitted from the drawings. The structures of the output control circuits in Fig. 7 and Fig. 9 and the consecutive output control circuits in Fig. 11 and Fig. 13 can be modified in various ways, and these circuits can be combined to provide, for example, both single-bit and nibble output modes in the same memory. These and other changes can be made without departing from the scope of the present invention, which should be determined solely from the appended claims.

Claims: A synchronous dynamic random-access memory that provides data output in response to multiplexed address signals (A o -A n ), a first control signal ( RAS ), a second control signal ( CAS ), and a clock signal (CLK), comprising: a memory cell array (40) having a plurality of memory cells; address input means (10) for latching said address signals on a first transition of said clock signal selected by said first control signal to generate an X-address, and on a second transition of said clock signal selected by said second control signal to generate a Y-address; decoding means (20,30) coupled to said memory cell array and said address input means, for selecting one or more memory cells in said memory cell array according to said X-address and said Y-address; and output means (50) coupled to said memory cell array, for outputting data from said memory cells in synchronization with said clock signal. The memory of claim 1, wherein said address input means comprises: X-address latch signal generating means (13) for generating an X-address latch signal that becomes active when said clock signal undergoes a certain transition while said first control signal is active, and remains active until said first control signal becomes inactive; Y-address latch signal generating means (14) for generating a Y-address latch signal that becomes active when said clock signal undergoes a certain transition while said second control signal is active, and remains active until said second control signal becomes inactive; first transparent latch means (17), for latching said address signal in response to said X-address latch signal; and second transparent latch means (18), for latching said address signal in response to said Y-address latch signal. The memory of claim 2, wherein said X-address latch signal generating means comprises: a first set-reset flip-flop circuit (13e) ; an first inverter (13a) for inverting said first control signal to generate a first inverted signal that resets said first set-reset flip-flop circuit; and a first logic gate circuit (13b) for combining the clock signal and the first inverted signal to generate a signal that sets said first set-reset flip-flop circuit. The memory of claim 2, wherein said Y-address latch signal generating means comprises: a second set-reset flip-flop circuit (14e); a second inverter (14a) for inverting said second control signal to generate a second inverted signal that resets said second set-reset flip-flop circuit; and a second logic gate circuit (14b) for combining the clock signal and the second inverted signal to generate a signal that sets said second set-reset flip-flop circuit. The memory of claim 2, also comprising: third transparent latch means (11) for latching said first control signal in response to said clock signal; and fourth transparent latch means (12) for latching said second control signal in response to said clock signal. The memory of claim 5, further comprising: delay means (15) coupled to said third transparent latch means, for delaying output of said third latch circuit responsive to said clock signal; and gating means (16) coupled to said second transparent latch means, for gating address input to said second transparent latch means responsive to output of said delay means. The memory of claim 1, wherein said output means comprises: data latch means (70) for latching data read from said memory cells; output control means (90) for generating an output control signal that becomes active for one cycle of said clock signal, starting a certain number of cycles of said clock signal after a cycle of said clock signal in which said first control signal becomes active; and tri-state output means (80), enabled and disabled by said output control signal, for external output of data held in said data latch means. The memory of claim 7, wherein said output control signal becomes active only if said second control signal becomes active after said first control signal becomes active. The memory of claim 7, wherein said output control signal remains active for just one clock cycle. The memory of claim 7, wherein said output control signal remains active for just one clock cycle if said second control signal becomes inactive before or during this clock cycle, but otherwise remains active for further clock cycles until said second control signal has become inactive. The memory of claim 7, wherein said output control means comprises: a series of flip-flop means (92-2, 92-3, 92-4) clocked by said clock signal, for delaying said first control signal; first one-shot pulse generating means (94-1), coupled to receive output of a next-to-last flip-flop means in said series, for generating a first pulse signal (S94-1) in response thereto; second one-shot pulse generating means (94-2), coupled to receive output of a last flip-flop means in said series, for generating a second pulse signal (S94-2) in response thereto; and first set-reset flip-flop means (92-6) set by said first pulse signal and reset by said second pulse signal. The memory of claim 11, wherein said output control means also comprises: second set-reset flip-flop means (92-1) set by said second control signal and reset by said first control signal; further flip-flop means (93-1), clocked by said clock signal, for latching output of said second set-reset flip-flop means; and gating means (93-2) for gating output of said next-to-last flip-flop means by output of said further flip-flop means. The memory of claim 11, wherein said output control means also comprises: output extending means (95) for generating an output extending signal (S95) that becomes active when said first control signal is active, said second control signal is active, and output of said next-to-last flip-flop is active, and becomes inactive if a certain transition of said clock signal occurs when said second control signal is inactive; and OR logic means (93-3) for modifying said output control signal according to said output extending signal, thereby causing said output control signal to remain active while said output extending signal is active. The memory of claim 1, wherein said output means comprises: multiple data latch means (70A) for simultaneously latching data read from a plurality of said memory cells; consecutive output control means (110) for selecting data latched in said multiple data latch means, different data being selected in different clock cycles; and tri-state output means (80) for externally outputting data selected by said consecutive output control means. The memory of claim 14, wherein said consecutive output control means selects data in a cyclic order starting from a point determined according to one or more bits of said X-address and said Y-address. The memory of claim 15, wherein said consecutive output control means selects data in either a forward cyclic order or a reverse cyclic order depending on said one or more bits of said X-address and said Y-address. The memory of claim 14, wherein said consecutive output control means comprises: decoder means (111) for decoding one or more bits of said X-address and said Y-address to produce decoded outputs; shift register means (112) for storing decoded outputs of said decoder, and rotating said decoded outputs responsive to said clock signal; and output selecting means (113) for selecting data stored in said multiple data latch means according to contents of said shift register means. The memory of claim 17, wherein said output selecting means comprises a plurality of switches (113-1 to 113-4), controlled by contents of said shift register means, for connecting said multiple data latch means to said tri-state output means. The memory of claim 17, wherein said decoder means also generates a shift control signal (S111), and said consecutive output control means also comprises shift control means (114) for commanding said shift register means to rotate right or left according to said shift control signal.

Inventors: TAKASUGI ATSUSHI C O OKI ELECT, TAKASUGI, ATSUSHI, C/O OKI ELECTRIC IND. CO., LTD.
Applicants: OKI ELECTRIC IND CO LTD, OKI ELECTRIC INDUSTRY CO., LTD.
Application year: 1991
Main classification: G11C11
IPC codes: G11C11