`Walck
`
`[11] Patent Number:
`[45] Date of Patent:
`
`4,967,397
`Oct. 30, 1990
`
`[56]
`
`[54] DYNAMIC RAM CONTROLLER
`[75]
`Inventor:
`Jeffrey A. Walck, Lebanon, N.J.
`[73] Assignee: Unisys Corporation, Blue Bell, Pa.
`[21] Appl. No.: 351,883
`[22] Filed:
`May 15, 1989
`Int. a.s ......................... GllC 7/00; GllC 8/00;
`[51]
`G06F 9/00
`[52] U.S. a ................................ 365/222; 365/230.03;
`364/900
`[58] Field of Search ........................... 365/222, 230.03;
`364/200 MS File, 900 MS File
`References Cited
`U.S. PATENT DOCUMENTS
`4,601,018 7/1986 Baum et al ...................... 365/222 X
`4,649,511 3/1987 Goula .............................. 365/222 X
`4,663,735 5/1987 Novak et al ........................ 364/900
`4,691,303 9/1987 Churchward et al ......... 365/230.03
`4,725,945 2/1988 K.ronstadt et al .............. 365/230.03
`4,796,232 1/1989 Hoase ......................... 365/230.05 X
`4,797,850 111989 Amitai ................................. 364/900
`4,803,621 2/1989 Kelly .............................. 365/230.03
`4,823,324 4/1989 Taylor et al ................... 365/230.03
`4,870,622 9/1989 Aria et al ....................... 365/230.03
`4,887,240 12/1989 Garverick et al ................... 365/222
`Primary Examiner-Joseph A. Popek
`Assistant Examiner-Michael A. Whitfield
`
`Attorney, Agent, or Firm-Albert B. Cooper; Mark T.
`Starr
`
`[57]
`ABSTRACT
`A DRAM controller wherein the outputs of a 74F538
`integrated circuit provides RAS signals to the banks of
`a DRAM array, respectively, where the 74F538 is lo(cid:173)
`cated at the array. A microprocessor utilizing the array
`provides appropriate memory address signals, a refresh
`request signal and a RAS timing signal. A PAL16L8B
`responsive to the memory address, refresh request sig(cid:173)
`nal and RAS timing signal encodes the memory address
`into a digital RAS signal having fewer bits than the
`number of memory banks. The digital RAS signal rep(cid:173)
`resents the selected bank for a memory access cycle.
`The digital RAS signal is conveyed in parallel on a bus
`coupling the PAL to the 538. The PAL generates an
`enable signal in response to the RAS timing signal to
`enable the 538 during memory access cycles. During
`memory access cycles, the 538 decodes the digital RAS
`signal to enable one of the outputs thereof in accor(cid:173)
`dance therewith. The P input of the 538 receives a
`refresh pulse generated by the PAL in response"to the
`refresh request signal. When the refresh pulse is active
`and the 538 is disabled, all of the outputs thereof switch
`polarity so as to effect a refresh cycle.
`
`16 OaiJDS, 3 Drawing Sheets
`
`FROM
`MICROPROCESSOR
`(PLUS OPTION AL
`ASSOCIATED
`CIRCUITRY)
`
`READ/WRITE
`13
`RAS TIMING
`
`31
`
`MICROPROCESSOR
`MEMORY
`ADDRESS
`
`11
`
`REFRESH REQUEST
`
`15
`
`32
`
`13
`
`READ/WRITE
`
`ROW/COLUMN
`30
`
`18
`
`OUT 5
`
`IN1
`
`IN 2
`TO
`INs
`
`LOGIC' 1"
`35
`
`31
`
`LOGIC"O"
`
`I N9
`
`OUT 4
`OUT3
`OUT 2
`33
`OUT 1 REFRESH PULSE
`JD
`p AL
`)
`16 L 8 B
`
`34
`
`E4
`E3
`/E1
`
`IE2
`/OE1
`/OE2
`
`A2
`Ai
`Ao
`
`07
`
`Os
`
`05
`
`04
`
`03
`
`02
`
`01
`
`Oo
`7 4 F 538
`
`MICRON-1006.0001
`
`
`
`~
`rf1
`•
`~
`"'*' ~
`"'*'
`
`0
`fl
`w
`!=>
`1--l
`~
`
`r.n =-fl
`s,
`w
`
`1--l
`
`~ \c
`°' -...J w
`
`\C
`-...J
`
`READ/WRITE
`
`ROW /COLUMN
`19
`
`RAS N
`
`ll
`
`10
`}
`
`• 18
`•
`•
`•
`
`•
`•
`•
`
`•
`•
`•
`
`•
`•
`LOGICAL ~!
`"0 R"
`FUNCTIONS
`RAS2
`ll
`
`RAS 1
`
`18
`
`DRAM
`BANK 2
`
`-18
`
`ll
`
`21
`
`lJ/
`
`18
`
`RAS 0
`
`DRAM
`BANK 1
`
`DRAM
`BANK 0
`
`FI G .1.
`PRIOR ART
`
`1!
`
`TIMING
`REFERENCE
`SIGNALS>
`f
`14
`
`I
`
`DECODING
`TIMING
`ANO
`BANK
`SELECT ION
`LOGIC
`
`READ/ WRITE
`
`13
`
`MEMORY
`ADDRESSES
`
`FROM
`MICROPROCESSOR
`(PLUS OPTIONAL
`ASSOCIATED
`Cl RCUITRYl
`
`18
`
`11
`
`(
`BANK SELECT N
`•
`REFRESH
`PULSE
`•
`•
`•
`•
`BANK SELECT 2
`
`BANK SELECT 1
`
`BANK SELECT 0
`
`11
`RAS PULSE
`
`10
`
`REFRESH REQUEST
`
`15
`
`-20
`
`MICRON-1006.0002
`
`
`
`L13
`
`READ/WRITE
`
`ROW/COLUMN
`JO-
`
`I
`
`18
`
`~
`[./'1
`•
`
`10 I
`
`~ a
`I I / I a
`
`RAS 7 I _
`
`I
`
`FI G.2.
`
`I
`
`READ/WRITE I
`.J3
`RAS TIMING
`
`Jl
`
`MICROPROCESSOR
`MEMORY
`
`FROM i ADDRESS
`
`MICROPROCESSOR
`(PLUS OPTION AL
`ASSOCIATED
`CIRCUITRY)
`
`11
`
`IN1
`I
`
`I I
`
`OUT 5
`
`IN2
`TO
`I Ng
`
`OUT4
`
`LOGIG" 1"
`35
`EN ABLE
`
`31
`
`LOGIC"O"
`
`JJ
`
`0 n
`:""'"
`w
`0
`'"
`~
`\0
`\0
`0
`
`r:.n
`:r
`a
`
`~
`
`N
`0
`~
`w
`
`31
`
`31
`
`RAS 6
`
`RAS 5
`
`I
`
`"'~
`
`RAS 4
`
`RAS 3
`
`E4
`E3
`/E1
`
`I E2
`
`/OE1
`/OE2
`A2
`
`Ai
`
`07
`
`05
`
`04
`
`03
`
`02
`
`Ao
`p
`
`RAS 2
`
`RAS 1
`
`01
`oon I
`74 F 538
`~1 RASO ~ ~ _,.
`\C
`0--..
`-.J
`t..J
`\C
`-.J
`
`OUT3
`33
`I IN9 OUT 2
`JJ
`OUT1 RE FRESH PULSE
`I
`Jo
`PAL
`3 2__,,,-- I 16 L 8 B
`)
`
`34
`
`REFRESH REQUEST
`
`15
`
`MICRON-1006.0003
`
`
`
`U.S. Patent Oct. 30, 1990
`
`Sheet 3 of 3
`
`4,967,397
`
`READ/WRITE CYCLE
`
`RERESH CYCLE
`
`RAS 1
`TIM ING o
`
`ENABLE l
`0
`
`ROW
`ADDRESS
`
`READ/ 1
`WRITE o
`
`REFRESH 11-----------1--(cid:173)
`P UL SE 0
`
`(
`
`40
`
`FIG.3.
`
`(
`41
`
`MICRON-1006.0004
`
`
`
`1
`
`DYNAMIC RAM CONTROLLER
`
`4,967,397
`
`10
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The invention relates to dynamic random access
`memories (DRAM), particularly with respect to the
`controller circuitry therefor.
`2. Description of the Prior Art
`DRAM technology is commonly utilized to imple(cid:173)
`ment the memory requirements for present day digital
`computers such as microprocessors. Generally, such
`memories are arranged in banks wherein a word loca(cid:173)
`tion in a bank is accessed during a memory read or write 15
`cycle by row and column address signals. Thus, when
`addressing a memory location, the microprocessor pro(cid:173)
`vides a memory address that selects a memory bank as
`well as providing the row and column addresses for the
`desired location. In conventional DRAM design, the 20
`microprocessor provides the row address followed by
`the column address to a single address port serving the
`DRAM arrays. The row address is entered into the
`memory circuitry by a Row Address Strobe (RAS)
`issued by the microprocessor and similarly the column 25
`address is entered by a Column Address Strobe (CAS).
`Each bank of the memory has a RAS line input for
`strobing the row address signals therein. The bank se(cid:173)
`lection portion of the memory address determines to·
`which bank the RAS pulse is directed. DRAM arrays 30
`tend to be extensive having numerous memory banks
`requiring a large number of RAS lines.
`The data stored in a DRAM cell requires periodic
`refreshing in order to maintain the data. A row of cells
`is refreshed by applying the row address to the memory 35
`address port while activating the RAS line. Tradition(cid:173)
`ally, during a refresh cycle of a DRAM memory, corre(cid:173)
`sponding rows in all of the banks are simultaneously
`refreshed by inputting the appropriate row address and
`simultaneously enabling all of the RAS lines. The rows 40
`of the banks are sequentially refreshed during sequen(cid:173)
`tially performed refresh cycles by inputting sequential
`row addresses while simultaneously enabling the RAS
`lines for each row address. Thus, it is appreciated that
`for read/write memory access cycles, one of the plural- 45
`ity of RAS lines is enabled in order to access the appro(cid:173)
`priate bank. During memory refresh cycles, all of the
`RAS lines are simultaneously enabled.
`In the configuration of the prior are invention de(cid:173)
`scribed herein, the microprocessor provides the time 50
`multiplexed row and column addresses, the RAS and
`CAS pulses as well as a refresh request signal. In alter(cid:173)
`native microprocessor configurations, additional multi(cid:173)
`plexing and timing circuitry is utilized to provide some
`or all of these signals.
`In order to perform the above-described functions, a
`DRAM controller is utilized. The controller includes
`decoding and bank selection logic that decodes the
`memory address into one of a plurality of bank selection
`lines which in turn provide the RAS signals, respec- 60
`tively. The bank selection lines are passed through re(cid:173)
`fresh generating circuitry comprising logical OR func(cid:173)
`tions responsive to the refresh request and RAS pulse
`usually derived from the microprocessor timing signals
`in order to individually energize the RAS lines during 65
`read/write memory access cycles and simultaneously
`energize the RAS lines during refresh cycles. In the
`prior art arrangement, a RAS signal bus containing one
`
`55
`
`2
`RAS line for each memory bank connects the DRAM
`controller to the DRAM bank array.
`Thus, it is appreciated that circuitry for controlling
`the large amounts of dynamic RAM has traditionally
`involved the switching of a large number of RAS sig(cid:173)
`nals by the DRAM controller circuitry for the purpose
`of operating multiple banks of DRAM, one at a time.
`The RAS signals are mutually exclusive during read/(cid:173)
`write cycles enabling only one memory bank for any
`given memory read or write operation. However, for
`the periodically required refresh operation, all banks, or
`alternatively large groups of banks, are simultaneously
`enabled. Thus, DRAM circuits traditionally require
`that the RAS signals be driven individually one at a
`time, or that all be driven simultaneously. A consider(cid:173)
`able amount of circuitry and a large number of RAS
`signal conductors on the RAS signal bus connecting the
`controller to the memory array are required to perform
`these functions. Because of the large number of compo(cid:173)
`nents required and the excess size of the electrical bus
`carrying the RAS signals that connects the memory
`array with the controller circuitry, a concomitant disad(cid:173)
`vantage of excess cost and physical space required for
`the circuit is also suffered. The cost of the individual
`circuits may also be excessive because of the requisite
`large number of electrical interconnections or 1/0 pins
`from any integrated circuit designed to drive the
`DRAMs. The excessive number of circuits required in
`the prior art to perform the described functions also
`adversely impacts the speed of the circuit because the
`critical timing signals experience excessive propagation
`delays.
`
`SUMMARY OF THE INVENTION
`The shortcomings of the prior art are overcome by a
`DRAM controller having an encoder that encodes the
`plurality of RAS lines into a digital signal having a
`number of bits smaller than the number of RAS lines. A
`RAS signal bus transmits the digital signal to a decoder
`circuit that reconverts the digital signal into the selec(cid:173)
`tively energizable plurality of RAS lines. The RAS lines
`are applied, respectively, to enable the banks of the
`memory. The decoder circuit includes a polarity input
`that controls the polarity of the decoder circuit outputs.
`The polarity input is normally utilized to control the
`circuit to implement positive or negative logic. The
`refresh pulse is applied from the encoder along the bus
`to the polarity input of the decoder circuit in order to
`effect a refresh cycle. Preferably, a 538 type integrated
`circuit chip is utilized for the decoder circuit.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a schematic block diagram of a prior art
`architecture for implementing a DRAM controller.
`FIG. 2 is a schematic block diagram of the DRAM
`controller architecture implemented in accordance with
`the present invention.
`FIG. 3 is a waveform timing diagram illustrating
`control signals for the read/write memory access cycle
`and refresh cycle of the DRAM controller of FIG. 2.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`Referring to FIG. l, a prior art DRAM controller
`is
`illustrated. A microprocessor (not
`architecture
`shown) utilizes a DRAM array 10 organized into N + 1
`DRAM banks 0, 1, 2, ... , N. The microprocessor
`provides memory addresses on a bus 11 to decoding,
`
`MICRON-1006.0005
`
`
`
`4,967,397
`
`3
`timing and bank selection logic circuits 12. The memory
`address on the bus 11 denotes the desired memory bank
`as well as the desired row and column address therein.
`The microprocessor also applies a read/write (R/W)
`signal on a line 13 to the circuits 12 to control the read(cid:173)
`ing and writing operations with respect to memory
`access cycles. Timing signals for memory access are
`provided by the microprocessor to the circuits 12 via a
`bus 14. With respect to the refresh cycles, the micro(cid:173)
`processor supplies a refresh request on a line 15 and a 10
`RAS pulse to effect the refresh timing on a line 16.
`The circuits 12 apply the R/W signal on the line 13 to
`the banks of the memory array 10 to control the access
`cycles with respect to reading and writing. The circuits
`12 also decode the memory addresses on the bus 11 to 15
`provide N + 1 bank select signals 17 for enabling the
`respective N + 1 banks of the memory array 10. In addi(cid:173)
`tion, the circuits 12 apply the appropriate row and col(cid:173)
`umn addresses to the memory array 10 via a bus 18.
`The bank select lines 17 are applied to a refresh gen- 20
`erating circuit 19 implemented by logical OR functions.
`The refresh request on the line 15 and the RAS pulse on
`the line 16 are combined in an AND function 20 to
`provide a refresh pulse on a line 21. The refresh pulse on
`the line 21 is applied with each of the bank select lines 25
`17 to a logical OR function to provide N + 1 RAS lines
`22, respectively. The RAS lines 22 are denoted as RAS
`0, RAS l, RAS 2, ... , RAS N. The N + 1 signal lines
`22 collectively comprise a RAS signal bus 23. The ele(cid:173)
`ments 11-21 comprise the RAS control circuitry of the 30
`DRAM controller of the system. It is appreciated that
`the functionality represented by the elements 11-21 are
`located at the DRAM controller which is connected to
`the DRAM array 10 by the bus 23.
`During a memory access cycle, the memory address 35
`on the bus 11 is decoded by the circuits 12 to energize
`the appropriate one of the bank select lines 17 and to
`apply the appropriate row and column addresses via the
`bus 18 to the array 10. The energized bank select line is
`transmitted through the refresh generating circuit 19 to 40
`energize the corresponding one of the RAS lines 22.
`During a refresh cycle, the refresh pulse on the line 21
`is transmitted through the refresh generating circuit 19
`and applied to all of the RAS lines 22 via the logical OR
`functions.
`Referring to FIG. 2, in which like reference numerals
`indicate like elements with respect to FIG. 1, a DRAM
`controller implemented in accordance with the archi(cid:173)
`tecture of the present invention is illustrated. The archi(cid:173)
`tecture of the present invention utilizes modifications to 50
`the prior art architecture of FIG. 1 to overcome the
`disadvantages of the prior art. In the present invention,
`the refresh generating function is located at the memory
`array 10 rather than at the DRAM controller. The
`refresh generating function is implemented by an inte- 55
`grated circuit 30, in a manner to be explained. The
`integrated circuit 30 is preferably of the 538 type and
`specifically a 74F538. The embodiment of FIG. 2 is
`illustrated controlling eight DRAM banks 0-7. The
`outputs 00-07 of the 74F538 integrated circuit 30 pro- 60
`vide RAS lines 31 denoted as RAS 0-RAS 7 to the eight
`banks of dynamic RAM, respectively. It is appreciated
`that the RAS lines 31 are relatively short since the
`integrated circuit 30 is located at the memory array 10.
`A further modification to the prior art architecture of 65
`FIG. 1 is the inclusion of RAS encoding circuitry at the
`DRAM controller and RAS decoding circuitry at the
`DRAM array 10. The RAS decoding circuitry is in-
`
`45
`
`4
`eluded in the 74F538 integrated circuit 30 and the RAS
`encoding circuitry is included in a programmable array
`logic (PAL) integrated circuit 32, in a manner to be
`explained. The PAL integrated circuit 32 is preferably
`implemented by a PAL16L8B integrated circuit. The
`RAS encoder circuitry in the PAL 32 in effect encodes
`bank select signals into a
`the one out of N + 1
`log2(N + 1) bit digital signal in a conventional manner.
`The RAS decoding circuitry in the 74F538 converts, in
`a conventional manner, the log2(N + 1) bit digital signal
`back into the N + 1 RAS lines required to drive the
`DRAM array 10. The log2(N + 1) encoded RAS bits are
`transmitted from the PAL 32 to the integrated circuit 30
`on lines 33 of a RAS signal bus 34. Thus, the addition of
`the RAS encoding and decoding circuitry in the PAL
`32 and the integrated circuit 30 reduces the number of
`signal lines connected between the DRAM controller
`and the DRAM array 10. Whereas N + 1 signal lines
`were previously required with respect to the prior art
`architecture of FIG. 1, the architecture of the present
`invention requires [log2(N + I)+ 2] lines for the inter(cid:173)
`connecting bus. The two additional lines comprise an
`enable line 35 utilized to control the 74F538 and the
`refresh pulse signal, which is now routed to the DRAM
`array 10, on a line 36. The circuit of FIG. 2 is illustrated
`controlling eight banks of dynamic RAM. The number
`of signals associated with the RAS function is reduced
`from N+ 1=8 to (log28)+2=5. More significant de(cid:173)
`creases in the size of the bus 34 is achieved for larger
`arrays. For example, 16 signals are reduced to 6, 32
`signals are reduced to 7, etc. It is appreciated that a
`significant cost reduction is effected by the architecture
`of the present invention since all of the DRAM control(cid:173)
`ler circuitry is packaged into the single integrated cir(cid:173)
`cuit 32 while all of the circuitry at the DRAM array 10,
`except for the memory itself, is combined into the single
`integrated circuit 30.
`The PAL 32 includes nine inputs IN1-N9 and five
`outputs OUT1-0UT5. The bank selection portion of
`the microprocessor memory addresses on the bus 11 is
`applied to IN2-IN8 and the refresh request signal on the
`line 15 is applied to IN9. A RAS timing signal from the
`microprocessor is applied on a line 37 to INl. The row
`and column address portion of the memory addresses on
`the bus 11 are applied by the bus 18 to the memory array
`10. The R/W signal from the microprocessor is also
`applied to the memory array 10 on the line 13.
`The output OUTl from the PAL 32 provides the
`refresh pulse on the line 36 in response to the refresh
`request on the line 15 and the RAS timing signal on the
`line 37. AND gate logic such as that described with
`respect to FIG. 1 may be implemented in the PAL 32 to
`this effect. This function will be further described with
`respect to the waveform timing diagram of FIG. 3. The
`output OUTS of the PAL 32 provides the enable signal
`on the line 35 when the microprocessor requests a mem(cid:173)
`ory access cycle. The timing of the enable signal from
`the PAL 32 is illustrated and will be described further
`with respect to FIG. 3.
`The PAL 32 is configured to implement the RAS
`encoding function for converting the bank selection
`portion of the microprocessor memory addresses ap(cid:173)
`plied to IN2-IN8 into the encoded RAS signals on the
`lines 33. As described above, the RAS signal bus 34
`carries log2(N + l) encoded RAS signals rather than the
`N + 1 RAS signals otherwise required in the prior art. In
`a conventional manner, the PAL 32 includes latches to
`store the state of OUT2-0UT4 after the address line
`
`MICRON-1006.0006
`
`
`
`4,967,397
`
`5
`inputs to IN2-IN8 have changed state. The PAL 32 also
`includes conventional logic to generate the appropri(cid:173)
`ately timed enable and refresh signals on the lines 35 and
`36 to be further described with respect to FIG. 3. The
`PAL 32 may also be utilized to perform conventional
`address translation from the bank selection address on
`the bus 11 to selection of the physical memory bank.
`For example, translation of the location of each bank of
`memory to non-consecutive areas of the microproces(cid:173)
`sor address space may be implemented if desired. Thus, 10
`the PAL 32 may be utilized to qualify and translate the
`physical address space of the DRAM array 10 within
`the virtual address space of the microprocessor.
`It is appreciated that the functionality driving the bus
`34 is well suited to implementation with PAL logic. 15
`Thus, the PAL 32 functions as the encoder for the
`latched and encoded RAS signals on the lines 33, as
`latches to store the state of the signals after the address
`line inputs have changed state, and as logic which gen(cid:173)
`erates appropriately timed refresh and enable signals for 20
`the lines 35 and 36.
`As described above, the 74F538 is applied to imple(cid:173)
`ment the RAS decoding and refresh-generating func(cid:173)
`tion for the circuit. The 74F538 includes a polarity
`control input P, inputs A0-A2, and enabling inputs 25
`/OE2,/0El,/E2,/El,E3 and E4. Enabling inputs E3
`and E4 are permanently connected to logic level "1"
`while enabling inputs /OEl and /OE2 are permanently
`connected to logic level "O". The enable signal on the
`line 35 is applied to the /El input for enabling and 30
`disabling the integrated circuit 30. In one embodiment
`of the invention, the /E2 input is permanently con(cid:173)
`nected to logic level "O" and in another embodiment,
`/E2 is connected to receive the RAS timing signal on
`the line 37 for reasons to be discussed. The refresh pulse 35
`on the line 36 is applied to the P input of the integrated
`circuit 30 and the encoded RAS signals on the lines 33
`from OUT2-0UT4 of the PAL 32 are applied to the
`inputs AO-A2, respectively, of the 74F538.
`The 74F538 comprises an integrated circuit decoder 40
`with outputs 00-07 selectable by the P input to per(cid:173)
`form positive or negative logic. When the circuit 30 is
`disabled, the outputs 00-07 are inactive. When the
`circuit 30 is enabled, the output corresponding to the
`digital signal input at AO-A2 is rendered active. In the 45
`embodiment of the invention, where /E2 is connected
`to logic level "O" rather than to the RAS timing line 37,
`the 74F538 is enabled by applying logic level "O" to /El
`and disabled by applying logic level "1" thereto. In the
`embodiment of the invention where /E2 is connected to 50
`the RAS timing line 37 rather than to logic level "O",
`the 74F538 is enabled only when both the enable line 35
`and the RAS timing line 37 are at logic level "O". When
`the polarity control input P of the circuit 30 is at logic
`level "O'', the inactive state of the outputs 00-07 is 55
`logic level "O''. When the P input to the circuit 30 is at
`logic level level "I", the inactive state of the outputs
`00-07 are at logic level "1''. The inactive state of the
`RAS lines with respect to the banks of the memory
`array 10 is logic level "1" while the active state thereof 60
`is logic level "O".
`During a memory access cycle, the 74F538 is enabled
`and the refresh pulse input on the line 36 is at logic level
`"l". The inactive outputs 00-07 are at logic level "1"
`with one of the outputs being driven to the active state 65
`of logic level "O" in accordance with the encoded digi-
`tal RAS signal on the lines 33. Accordingly, an appro(cid:173)
`priate one of the memory array banks is selected for
`
`6
`accessing. During a refresh cycle, the circuit 30 is dis(cid:173)
`abled and the refresh pulse on the line 36 is at logic level
`"O" driving all of the outputs 00-07 to logic level "O'',
`thereby enabling the RAS lines RASO-RAS7 to per(cid:173)
`form the refresh operation on the row in each of the
`banks of the array 10 selected by the row address on the
`bus 18.
`Thus, it is appreciated that the 74F538 implements
`the RAS decoding function and the refresh-generating
`function for the circuit. The polarity control P of the
`74F538 which, when activated by logic level "O", while
`the integrated circuit 30 is disabled (/El=logic level
`"l"), causes all output signals (RASO-RAS7) to be
`driven to logic level "O". Thus, the normal use of the
`polarity control causes the 74F538 to perform the re(cid:173)
`fresh function.
`As described above, in one embodiment of the inven(cid:173)
`tion, the /E2 input of the 74F538 is permanently con(cid:173)
`nected to logic level "O" and the RAS timing signal on
`the line 37 is not applied thereto. In this embodiment,
`the propagation delay of a RAS signal on a line 31 from
`the input to the PAL 32 is the delay of the PAL 32 plus
`the delay of the 74F538. This propagation delay is ap(cid:173)
`proximately 25 nanoseconds when activating a RAS
`line 31 in a memory access cycle. In the described alter(cid:173)
`native embodiment of the invention, the /E2 input of
`the 74F538 is not connected to logic level "O". but is
`instead connected to receive the RAS timing on the line
`37. Although this embodiment increases the number of
`signals to the 74F538 by one thus requiring an addi(cid:173)
`tional conductor on the bus 34, this embodiment de(cid:173)
`creases the RAS delay to approximately 10 nanosecond.
`This is because in the one embodiment, the RAS timing
`signal on the line 37 is utilized in the PAL 32 to generate
`the enable signal on the line 35 which in turn enables
`and disables the 74F538. In this embodiment, the propa(cid:173)
`gation delays are additive. In the alternative embodi(cid:173)
`ment, the RAS timing signal on the line 37 in combina(cid:173)
`tion with the enable signal on the line 35 enables and
`disables the 74F538 directly thereby eliminating the
`propagation delay of the PAL 32. Additionally, the
`RAS timing signal on the line 37 directly provides rising
`and falling edges to the 74F538 for accurate generation
`of the RAS strobes on the lines 31 during memory ac(cid:173)
`cess cycles.
`Although the invention was explained in terms of a
`PAL for implementing the functionality at the input to
`the bus 34 and a 538 integrated circuit for implementing
`the functionality at the output of the bus 34, alternative
`arrangements may be utilized in practicing the inven(cid:173)
`tion. For example, discrete logic may be utilized instead
`of the PAL 32 in implementing the functionality. In
`addition, instead of the integrated circuit 30, a decoder
`may be utilized responsive to the encoded RAS signal
`on the lines 33 as well as the enable signal on the line 35.
`The outputs of the decoder provide the bank select
`signals that are in turn applied to a refresh generating
`circuit such as the circuit 19 of FIG. 1. The refresh
`generating circuit is also responsive to the refresh pulse
`on the line 36. The output of the refresh generating
`circuit then provides the RAS lines 31.
`With respect to the arrangement utilizing the separate
`decoder and refresh generating circuit instead of the
`integrated circuit 30, a further embodiment of the in(cid:173)
`vention may be realized. In this embodiment, it is possi(cid:173)
`ble to eliminate the refresh pulse line 36 from the bus 34
`by utilizing one of the states of the encoded RAS signals
`on the lines 33 for generating the refresh pulse instead of
`
`MICRON-1006.0007
`
`
`
`4,967,397
`
`7
`for bank selection. This state, in combination with a
`valid enable signal, is utilized to indicate a refresh con(cid:173)
`dition. The bank selection line from the decoder corre(cid:173)
`sponding to the state is applied to all of the OR func(cid:173)
`tions in the refresh generating circuit so as to provide
`the refresh operation to the DRAM array 10. This alter(cid:173)
`native embodiment may be useful in controlling a num(cid:173)
`ber of RAS lines not equal to an integral power of 2.
`Referring to FIG. 3, a timing diagram illustrating
`waveforms appearing in FIG. 2 is illustrated. FIG. 3 10
`illustrates a read/write or memory access cycle 40 and
`a refresh cycle 41. During a memory access cycle 40,
`the row address is applied by the microprocessor and
`when the address signals have settled, the enable pulse
`is activated in response to the RAS timing signal. An 15
`appropriate read or write signal is generated and the
`RAS pulse on the RAS line 31 corresponding to the
`row address is generated. During the memory access
`cycle 40, the refresh pulse remains inactive. In the em(cid:173)
`bodiment of the invention, where the RAS timing line 20
`37 is connected to the /E2 input of the 74F538, the
`edges of the RAS timing pulse provides the timing for
`the RAS strobe generated on the selected line 31. Since
`both the enable signal and the RAS timing signal are
`active during the memory access cycle 40, the 74F538 is 25
`enabled during the time when both of these signals are
`active.
`During the memory access cycle for the embodiment
`of the invention illustrated, the read-not/write signal is
`logic "O" during read and logic "l" during write. This 30
`signal should be logic "O" (read state) during refresh. It
`is appreciated that alternatively the read/write signal
`polarity may be reversed from that described to the
`same effect.
`During a refresh cycle 41, the row address of the 35
`rows to be refreshed is provided by the microprocessor.
`When the row address signals have settled, the refresh
`pulse is rendered active simultaneously enabling all of
`the RAS lines 31 to effect the refresh operation. The
`enable signal remains inactive and therefore the 74F538 40
`remains disabled during the refresh cycle 41. The tog(cid:173)
`gling of the RAS timing signal has no effect on the
`74F538 during the refresh cycle, because the enable
`signal is inactive.
`The present invention provides RAS bank select 45
`signals for large arrays of DRAM at low cost. The
`invention provides a DRAM controller architecture
`that minimizes the number of electrical signals con(cid:173)
`nected between the memory controller circuit and the
`DRAM array. This architecture advantageously de- 50
`creases circuit cost by decreasing the number of electri(cid:173)
`cal interconnections or I/O pins from an integrated
`circuit designed to drive the DRAMs and by decreasing
`the size; i.e., the number of signals, of the electrical bus
`connecting the memory array with the controller cir- 55
`cuitry. Additionally, the architecture of the present
`invention may be implemented with fewer components
`than conventional designs resulting in lower cost and
`less physical space required for the circuit. The PAL 32
`and the integrated circuit 30 replaces the functionality 60
`provided by numerous separate integrated circuits
`when using conventional architecture. The invention
`provides very fast propagation delay of the critical
`timing signals. Thus, the architecture of the present
`invention is particularly suitable for high speed circuits. 65
`The present invention is described in terms of refresh(cid:173)
`ing the DRAM array 10 by sequential rows which is the
`usual arrangement. It is appreciated, however, that
`
`8
`other refresh configurations may also be utilized in
`practicing the invention. For example, the memory
`array may be refreshed by a technique referred to as
`"CAS-before-RAS" in which the refresh cycle com(cid:173)
`prises a CAS pulse followed by a RAS pulse. Typically,
`both pulses are provided to all banks or to large groups
`of banks. In this refresh mode, a refresh address is not
`generated. The DRAMs internally generate the appro(cid:173)
`priate sequential addresses with each refresh cycle.
`While the invention has been described in its pre(cid:173)
`ferred embodiment, it is to be understood that the words
`which have been used are words of description rather
`than limitation and that changes may be made within
`the purview of the appended claims without departing
`from the true scope and spirit of the invention in its
`broader aspects.
`I claim:
`1. DRAM controller apparatus for use with a DRAM
`array having a plurality of banks, each said bank having
`a coordinate address strobe input, said controller being
`responsive to a memory address signal for selecting one
`of said banks, said memory being operative in a memory
`access cycle wherein one of said banks is selected by
`selectively actuating said coordinate address strobe
`input thereof and a refresh cycle for refreshing said
`DRAM array in response to a refresh request signal by
`simultaneously actuating said coordinate address strobe
`inputs of all said banks, comprising
`first circuit means including encoding means respon(cid:173)
`sive to said memory address signal for providing an
`encoded digital coordinate address strobe signal
`representative of said selected bank and having a
`number of bits smaller than the number of said
`banks,
`second circuit means including decoding means and
`polarity inverting means, and
`bus means for coupling said encoded digital coordi(cid:173)
`nate address strobe signal from said first circuit
`means to said second circuit means,
`said decoding means comprising means having a plu(cid:173)
`rality of outputs coupled respectively to