EP0207504A2 - Computer memory apparatus - Google Patents

Computer memory apparatus Download PDF

Info

Publication number
EP0207504A2
EP0207504A2 EP86108985A EP86108985A EP0207504A2 EP 0207504 A2 EP0207504 A2 EP 0207504A2 EP 86108985 A EP86108985 A EP 86108985A EP 86108985 A EP86108985 A EP 86108985A EP 0207504 A2 EP0207504 A2 EP 0207504A2
Authority
EP
European Patent Office
Prior art keywords
memory
blocks
timing
subsystem
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP86108985A
Other languages
German (de)
French (fr)
Other versions
EP0207504B1 (en
EP0207504A3 (en
Inventor
Alvan W. Ng
Edwin P. Fisher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
Bull HN Information Systems Inc
Honeywell Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US06/751,179 external-priority patent/US4761730A/en
Application filed by Honeywell Information Systems Italia SpA, Bull HN Information Systems Inc, Honeywell Information Systems Inc filed Critical Honeywell Information Systems Italia SpA
Publication of EP0207504A2 publication Critical patent/EP0207504A2/en
Publication of EP0207504A3 publication Critical patent/EP0207504A3/en
Application granted granted Critical
Publication of EP0207504B1 publication Critical patent/EP0207504B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Definitions

  • This invention relates to memory systems containing semiconductor memory elements including those in which stored information must be periodically refreshed to preserve the integrity of such information.
  • double word fetch access refers to the capability of being able to access a pair of words at a time from a memory system during a cycle of operation. This type of system is described in U.S. Patent No. 4,236,203, assigned to the same assignee as named herein.
  • the memory system connects to an asynchronously operated single word wide bus.
  • a request for multiple words is made in a single bus cycle and the requested information words are delivered to the bus over a cycle of operation which consists of a series of response cycles.
  • the low order bits of the address provided with the memory request specify the storage location being accessed while the high order bits specify which row of RAM chips is being selected.
  • the address arrangement includes a primary address register which also served as a counter and two parallel secondary address registers.
  • the initial address was loaded into the primary address register and then stored in the appropriate secondary address register.
  • the memory subsystem after signalling it was busy, incremented the initial address contents of the primary address register by one and the resulting address was then stored in the other secondary address register.
  • the memory timing circuits included circuits for generating two sets of clocking signals and for steering the sets of clocking signals to the appropriate memory module units. This was necessary to enable the read out of the pair of words into the subsystem data output registers in time for transfer to the bus.
  • the above and other objects are achieved in a preferred embodiment of the memory subsystem of the present invention which couples to a bus in common with a central processing unit and processes memory requests received therefrom.
  • the subsystem includes a number of addressable memory module units or stacks which operatively couple to the bus.
  • the stacks are organized into one of two subsystem configurations.
  • the configurations include a common stack arrangement which provides double the normal amount of density and an adjacent stack arrangement which provides the normal amount of density.
  • Each stack includes a number of word blocks of random access memory (RAM) chips mounted on a single circuit board which connect to a pair of subsystem data registers through a single word wide interface.
  • the subsystem utilizes chip select decode apparatus which preselects two blocks of RAM chips from the common stack or a pair of adjacent stacks as a function of an input density signal.
  • timing circuits provide a plurality of column address timing signals within an interval defined by a row address timing signal also generated by the timing circuits. Additionally, selection circuits are connected to apply each of the column timing signals to a different set of word blocks of RAM chips of a common stack or adjacent stacks for reading out in tandem a plurality of words from the common stack or the adjacent stacks into the corresponding number of data registers. Each of the data registers is connected to be conditioned by a different predetermined one of column address timing signals to store a different one of the number of words in the same sequence for each memory read request. That is, the first word accessed is always stored in a first one of the registers, the second word in a second one of the registers, etc.
  • the data registers are conditioned to transfer the plurality of words to a central processing unit over a corresponding number of successive bus cycles of operation.
  • the subsystem of the present invention can be constructed at low cost and with a minimum of circuit complexity without any loss of performance. That is, only a single word wide interface is required to provide the required memory capacity allowing for memory expansion. This facilitates maintenance and increases system reliability. Also, the subsystem can be easily configured to be compatible with older designs which provide the same functionality.
  • FIG. 1 shows the organization of a memory subsystem 10 according to the present invention.
  • the subsystem 10 includes a mother board which contains the memory control and bus interface circuits.
  • the bottom part of the board includes a number of connectors which plug into a bus network over which requests and data are transmitted and received.
  • the mother board can contain up to four memory stacks 10-A through 10-D mounted on small daughter boards which directly plug into the mother board via a number of stack connectors as shown. All of the daughter boards connect in common to a single bus, also as shown.
  • all stack connectors connect in common to a single bus.
  • this arrangement allows the memory subsystem 10 to be organized into one of two configurations.
  • the first configuration is a common stack arrangement which provides double the normal density corresponding to stacks containing four blocks of memory.
  • the second configuration is an adjacent stack arrangement which provides the normal density corresponding to stacks containing two blocks of memory.
  • the particular configuration is defined by the state of an input density signal received from a pin common to the daughter board connectors. The input density signal is applied via the single bus to circuits within the mother board as explained herein.
  • Figure 2 shows in block diagram form, a first configuration of memory subsystem 10 constructed according to the principles of the present invention.
  • the configuration is a common stack arrangement in which the subsystem 10 can have up to four memory stacks, all of which connect in common to a single bus. Each stack has double the normal density (i.e., four blocks).
  • the subsystem 10 includes memory module units or stacks 10-2A and 10-2B, a programmable logic circuit of block 10-4A, a column timing select circuit 10-6, an output word sequencer 10-8, the timing circuits of block 10-10 and a pair of data registers 10-12 and 10-14.
  • Each of the memory stacks 10-2A and 10-2B includes four word blocks of 256K dynamic MOS RAM chips mounted on the single printed circuit daughter board. Each word is 22 bits.
  • the programmable logic array (PLA) circuit of block 10-4A in response to a double density signal MDDBEX+00, least significant bit address signals ADDLSB and ADDLSB+1 and most significant bit address signals LSAD01 and LSAD02 of the memory address of each memory request enable the selection of a pair of words from two of the memory blocks.
  • the circuits include a programmable logic array constructed from standard integrated circuit chips such as the 16L8A manufactured by Advanced Micro Devices, Inc.
  • the PLA circuit 10-4A generates a different one of the eight row address strobe signals DRASO through DRAS7 which are applied to the 256K DRAM chips of a corresponding one of the word blocks of stacks 10-2A and 10-2B.
  • each of the stacks of each of the signals DRASO through DRAS3 and DRAS4 through DRAS7 are logically ANDed with a memory row address timing signal MEMRAS from timing circuits 10-10 and applied to the row address strobe (RAS) input terminals of the 256K DRAM chips.
  • MEMRAS row address strobe
  • the PLA circuit 10-4A generates the row address strobe signals DRASO through DRAS7 as outputs on pins 12 through 19 in accordance with the following Boolean equations:
  • Another PLA circuit 10-4B generates a similar set of row address strobe signals in response to the same input signals as outputs on pins 12 through 19 in accordance with the following Boolean equations:
  • each of the memory stacks 10-2A and 10-2B receives early column timing and late column timing signals from pairs of selector circuits 10-6A, 10-6B and 10-6C, 10-6D in response to least significant address bit signal ADDLSB and double density signal MDDBEX-00.
  • double density signal MDDBEX-00 is a binary ZERO
  • the selector circuits 10-6A through 10-6D switch between input positions 0 and 1 ignoring positions 2 and 3.
  • the least significant bit address signal ADDLSB determines which block is to receive the early and late column pulses.
  • the "0' inputs (early and late column pulses) are selected to be applied as outputs for selector circuits 10-6A and 10-6C and circuits 10-6B and 10-6D respectively.
  • the "1" inputs (late and early column pulses) are selected as outputs for circuits 10-6A and 10-6C and circuits lO-6B and 10-6D respectively.
  • the early column and late column timing signals are applied to the column address strobe (CAS) input terminals of the 256K DRAM chips. It will be noted that one selector output is applied to the chips of blocks 0 and 2 while the other output is applied to the chips of blocks 1 and 3.
  • the circuits 10-6A through 10-6D are constructed from selector circuits such as those designated as 74S253 manufactured by Texas Instruments Incorporated.
  • the memory words read out from stacks 10-2A and 10-2B are stored in the first word and second word registers 10-12 and 10-14 in response to latch timing signals from the circuits 10-10.
  • the circuits of the output word sequencer 10-8 controls the transfer of the contents of the registers 10-12 and 10-14 in response to timing signals from circuits 10-10 and from bus interface logic circuits, not shown.
  • Figure 3 shows in block diagram form, a second configuration of memory subsystem 10.
  • the configuration is an adjacent stack arrangement in which subsystem 10 has at least a pair of memory stacks and up to a maximum of two pairs of memory stacks, all of which connect in common to a single bus.
  • Each stack has a normal density of chips (i.e., two blocks).
  • each of the selector circuits 10-6B and 10-6D have their enable input terminals E connected to receive double density signal MDDBEX-00.
  • signal MDDBEX-00 is a binary ONE indicating a single density configuration
  • the circuits 10-6B and 10-6D are switched to a tristate condition effectively disconnecting them from the subsystem compensating for the disparity in pin numbers.
  • Figure 4 shows in greater detail, the first and second word registers 10-12 and 10-14 and associated control and timing circuits. Both registers are constructed from D-type transparent latch circuits, such as those designated as SN74S373, manufactured by Texas Instruments Incorporated. As shown, the registers 10-12 and 10-14 have their data input terminals connected in common to receive the 22-bit word from memory stack 10-2. Their output terminals connect in common to bus interface circuits via error detection and correction logic circuits, conventional in design as, for example, such as those in U.S. Patent No. 4,072,853.
  • each of the registers 10-12 and 10-14 has a latch enabling terminal (LE) and output enabling terminal (OE).
  • LE latch enabling terminal
  • OE output enabling terminal
  • the signals applied to the LE and OE input terminals of registers 10-12 and 10-14 are provided by 'the associated control and timing circuits of bloces 10-8 and 10-10, respectively.
  • the portion of the txing circuits shown generate the first and second word lztch signals which load registers 10-12 and 10-14 in a predetermined desired sequence.
  • the timing circuits include an input inverter 10-lC: and a pair of AND gates 10-102 and 10-104 conneced as shown.
  • an inhibit data latch signal is a binary ZERO
  • the partially conditioned AND gates 10-102 and 10-104 apply first and second word CAS timing signals, respectively, to the LE terminzls of the registers 10-12 and 10-14. This permits first and second data words to be latched into registers 10-12 and 10-14, respectively.
  • both AND gates 10-102 and 10-104 are disabled preventing any latching action from taking place.
  • the control circuits are the output word sequencer 10-8 which includes a pair of input NAND gates 10-80 and 10-82, an inverter 10-81, a D-type flip-flop 10-84 and a pair of output OR gates 10-86 and 10-88 connected as shown.
  • the NAND gate 10-80 in response to timing signals DLYINN+00 and DLY060+00 generates a negative going 60 nanosecond pulse. This pulse is applied to a preset input terminal of flip-flop 10-84 which results in it being switched to a binary ONE state.
  • flip-flop 10-84 forces SECOND WORD DISABLE signal to a binary ONE and a FIRST WORD DISABLE signal to a binary ZERO.
  • the binary ZERO signal is applied via OR gate 10-88 to the output enable (OE) terminal of register 10-12. This enables the first word to be transferred to the bus interface via error detection and correction logic circuits of block 10-16.
  • NAND gate 10-82 At the end of sending out the first word, NAND gate 10-82; in response to signals MEMORY DATA COMING and BUS DATA COMING being forced to binary ZEROS, produces a positive going signal at a clock input terminal CK which resets flip-flop 10-84 to a binary ZERO. This forces the SECOND DOUBLE WORD DISABLE signal to a binary ZERO.
  • the binary ZERO signal is applied via OR gate 10-86 to the output enabel (OE) terminal of register 10-14. Thereafter, in the case of a double word fetch, this enables a second word to be transferred to the bus interface.
  • word sequencer 10-8 allows address ID information to be received from the bus interface during a read operation. At that time, signal READ I.D. is forced to a binary ONE which causes sequencer 10-8 to force both the first and second output control signals to binary ONES preventing any signals from being applied to the interface by registers 10-12 and 10-14.
  • Both the control and timing circuits are constructed from conventional integrated circuits, such as those designated in Figure 4 (e.g. 74500, 74574, 74S08, 74S32, etc.), manufactured by Texas Instruments Inc.
  • FIG. 5 shows in greater detail, the remaining circuits of block 10-10.
  • these circuits include delay line generator circuits 10-110, row address strobe (RAS) timing circuits 10-120 and column address strobe (CAS) timing circuits 10-130.
  • the circuits 10-110 include an AND gate amplifier circuit 10-112, an inverter circuit 10-114 and a pair of connected 200 nanosecond delay lines 10-116 and 10-118 which are resistively terminated at one end by a resistor 10-119.
  • the generator circuits 10-110 generate a sequence of timing pulses DLYINN+00 through DLY400+00 in response to a memory cycle signal MEMCYC+00 which are applied to a series of output taps labeled 0 through 400, respectively.
  • signal DLY200+00 When signal DLY200+00 is generated at an output tap, it is also applied to inverter 10-114.
  • the inverted signal DLYWOI-10 is fed back by inverter 10-114 to amplifier 10-112 forcing signal DLYINN+00 to a binary ZERO. In this manner, inverter 10-114 establishes a 230 nanosecond width for signal DLYINN+00.
  • Timing signal DLYINN+00 along with signal DLY160+00 are applied to the RAS timing circuits 10-120.
  • These circuits include gates 10-122 through 10-124, 10-127 and 10-129, in addition to a D-type flip-flop 10-125 which are connected as shown.
  • the NAND gate 10-122 forces its output signal ADDRESS BOUND to a binary ZERO when both low order address signals ADDLSB and ADDLSB+1 are binary ONES. This inhibits AND gate 10-123 from switching flip-flop 10-125 to a binary ONE when clocked by a MEMORY ACKNOWLEDGE signal. In the absence of an address boundary condition AND gate 10-123 switches flip-flop 10-125 to a binary ONE in response to a double fetch/pull memory read request (i.e.
  • the NOR gate 10-124 forces or clears flip-flop 10-125 to a binary ZERO state during an internal refresh or write cycle of operation (i.e., when signal INTERNAL REFRESH or WRITE is a binary ONE).
  • the STRETCH RAS TIMING signal conditions OR gate 10-129 to extend the length of time that its output signal is a binary ONE.
  • the MEMORY RAS TIMING signal in addition to being applied to the 256K DRAM chips of stack 10-2 is also applied to the CAS timing circuits 10-130. These circuits also receive the STRETCH RAS TIMING signal from the circuits 10-120, timing signals DLYINN+00 and DLY80+00 from circuits 10-110 and MEMORY REFRESH signal from the refresh control circuits.
  • the circuits 10-130 include series connected inverters 10-132 and 10-136 and AND gates 10-134 and 10-138. In the absence of a memory refresh cycle (i.e., when signal MEMORY REFRESH is a ZERO), AND gate 10-134 forces FIRST WORD CAS TIMING signal to a binary ONE in response to timing signals DLYINN+00 and DLY80+00.
  • the first word CAS timing signal is inverted by inverter 10-136 and applied as inhibiting input to AND gate 10-138.
  • AND gate 10-138 forces the SECOND WORD CAS TIMING signal to a binary ONE in response to signals STRETCH RAS TIMING and MEMORY RAS TIMING.
  • the SECOND WORD CAS TIMING signal is applied to circuits 10-104 and 10-6.
  • Both the RAS and CAS timing circuits 10-120 and 10-130 are constructed tram conventional integrated circuits such as those designated in Figure 3 (e.g. 74500, 74Sll, 74S74, etc.) manufactured by Texas Instruments Inc.
  • the subsystem also receives address signals ADDLSB, ADDLSB+1, LSAD01 and LSAD02 from the bus interface which corresponds to the least significant and most significant address bits of the memory address portion of the request.
  • the interface circuits can be considered conventional in design and for example are similar to those circuits disclosed in U.S. Patent No. 4,185,323.
  • a refresh command signal REFCOM-00 and an initialization signal INITM-00 are also applied but for the purpose of the present invention can be considered binary ONES so as to have no effect.
  • the double density signal MDDBEX+00 is applied from the stack connector and defines which one of two configurations the memory subsystem 10 is so organized. It is first assumed that subsystem 10 is organized in a common stack configuration as shown in Figure 2 in which case signal MDDBEX+00 is a binary ONE.
  • Figure 6 illustrates diagrammatically the relationships between the different timing signals generated by the circuits of the present invention for processing double fetch memory read requests.
  • PLA circuit 10-4A operates to select word blocks 0 and 1 by forcing signals DRASO and DRASl to binary ZEROS. These are the two blocks of memory which are to receive early and late column (CAS) timing signals.
  • CAS early and late column
  • the state of least significant address bit ADDLSB determines the order in which the timing signals are applied to the preselected word blocks.
  • the timing circuits 10-120 of Figure 3 in response to the memory request, generate memory RAS timing signal which corresponds to waveform A or A'. That is, upon receipt of the request, a memory cycle is initiated by forcing memory cycle signal MEMCYC+00 to a binary ONE. This causes the delay line timing circuits 10-110 to generate a sequence of timing signals including DLYINN+00, DLY060+00, DLY80+00 and DLY160+00.
  • address signals ADDLSB and ADDLSB+1 are not both binary ONES, there is no address boundary condition. Hence, two words will be transferred to the bus interface. That is, the request causes flip-flop 10-125 to be set to a binary ONE which results in the generation of the stretched RAS timing signal of waveform A'.
  • the MEMORY RAS TIMING signal is forced to a binary ONE by RAS timing OR gate 10-129 in response to timing signal DLYINN+00.
  • the CAS timing AND gate 10-134 is conditioned by timing signal DLY80+00 to generate the FIRST WORD CAS TIMING signal which corresponds to waveform B I of Figure 6.
  • the EARLY COLUMN CAS TIMING signal is applied selector circuit 10-6A and to AND gate 10-102 of Figure 4.
  • the selector circuit 10-6A is conditioned by signal ADDLSB to apply the CAS timing signal to the 256K DRAM chips of both blocks 0 and 2.
  • signals DLYINN+00 and DLY060+00 applied to the output word sequencer 10-8 at the start of the memory cycle preset flip-flop 10-84 to a binary ONE as illustrated by waveform F of Figure 6.
  • This causes OR gate 10-88 to force the FIRST WORD OUTPUT CONTROL signal applied to the OE terminal of register 10-12 to a binary ZERO as shown by waveform G .
  • OR gate 10-86 is conditioned to force the SECOND WORD OUTPUT CONTROL signal applied to register 10-14 to a binary ONE as shown by waveform H.
  • the bus interface circuits make a bus request to send the first word to the unit which initiated the memory request. This results in the generation of waveform C of Figure 6.
  • the bus interface circuits Upon receipt of an acknowledgement from the initiating unit, the bus interface circuits operate to generate waveform D of Figure 6 which defines the interval during which the first data word is applied to the bus interface.
  • the termination of the FIRST WORD CAS TIMING signal permits CAS timing AND gate 10-138 to generate a SECOND WORD CAS TIMING signal in response to the STRETCH RAS TIMING signal as shown by waveform E. Additionally, the STRETCH RAS TIMING signal also operates to extend the interval of the MEMORY RAS TIMING signal from 230 nanoseconds to 400 nanoseconds as shown by waveform A' (i.e., sums timing signals DL Y160+00 and DLYINN+00).
  • the SECOND WORD CAS TIMING signal is applied to AND gate 10-104 and to selector circuit 10-6B.
  • the selector circuit 10-6B in turn applies the late column timing signal to the 256K DRAM chips of blocks 1 and 3. However, since only block 1 was previously selected, the contents of the location in that block specified by the block/row and column addresses are read out from the stack. This second word is latched into register 10-14 at the end of the SECOND WORD CAS TIMING signal as shown by waveform E.
  • the MEMORY RAS TIMING signal is prevented from being stretched and the generation of a second CAS timing signal is not permitted to take place. Accordingly, only the first word read out from stack 10-2A is transferred to the requesting unit. The unit is also informed that a second word is not being transferred because of the address boundary condition. As seen from the first series of blocks of stack 0 of Figure 7a, block selection proceeds as shown as a function of the least significant address bit signals. The blocks of remaining stacks 1 through 3 are in turn sequenced through in the same fashion as stack 0 in response to changes in both the least significant and most significant bit address signals.
  • Figure 6 also illustrates the timing for the adjacent stack configuration of memory subsystem 10 shown in Figure 3.
  • memory double density signal MDDBEX+00 is a binary ZERO.
  • memory address signals ADDLSB and ADDLSB+1 are binary ZEROS
  • PLA circuit 10-4A operates to select blocks 0 and 4 from adjacent stack 0 and stack 1.
  • the binary ONE state of signal MDDBEX-00 disables selector circuits 10-6B and 10-6D.
  • the early and late column timing signals are applied to the CAS input terminals of blocks 0 and 4 via selector circuits 10-6A and lQ-6C.
  • the words from the adjacent stacks are loaded into registers 10-12 and 10-14 in the same manner as described above.
  • block selection proceeds through adjacent stacks 0 and 1 as shown.
  • the next pair of stacks 2 and 3 are selected when most significant address bit LSAD02 switches to a binary ONE.
  • block selection proceeds through adjacent stacks 2 and 3 as shown in Figure 7b.
  • signal LSAD02 serves as a stack selection signal.
  • the state of the double density signal defines whether or not the pair of words come from a common stack or are distributed between two adjacent stacks.
  • the signal in turn conditions the PLA circuit 10-4A to cause block selection to take place within a single stack or between two adjacent stacks as a function of the configuration.

Abstract

A memory subsystem couples to a bus in common with a central processing unit and processes memory requests received therefrom. The subsystem includes a number of addressable memory module units or stacks each having a number of word blocks of random access memory (RAM) chips arranged in one of two subsystem configurations and mounted on a single circuit board which connects to the remainder of the subsystem through a single word wide interface. The configurations correspond to a common stack arrangement which provides double the normal amount of density and an adjacent stack arrangement of normal density. As a function of an input density signal, chip select circuits preselect a pair of blocks of RAM chips from a common stack or pair of adjacent stacks. Timing circuits generate a plurality of column address pulses which are selectively applied to the preselected blocks of chips within an interval defined by a row address pulse. This results in the read out of a pair of words from the preselected blocks of a single stack or adjacent stacks in tandem into a pair of subsystem data registers. For each memory read request, the words from each preselected peir of blocks are read out into the data registers in the same sequence providing a double fetch capability without any loss in performance.

Description

    BACKGROUND OF THE INVENTION field of Use
  • This invention relates to memory systems containing semiconductor memory elements including those in which stored information must be periodically refreshed to preserve the integrity of such information.
  • Prior Art
  • It is well known to construct memory systems from a number of memory modules. In certain prior art systems, memory modules are paired together to provide a double word fetch access capability. The term double word fetch access as used herein refers to the capability of being able to access a pair of words at a time from a memory system during a cycle of operation. This type of system is described in U.S. Patent No. 4,236,203, assigned to the same assignee as named herein.
  • In the above prior art system, the memory system connects to an asynchronously operated single word wide bus. In the arrangement, a request for multiple words is made in a single bus cycle and the requested information words are delivered to the bus over a cycle of operation which consists of a series of response cycles.
  • It will be noted that in such doable word fetch memory module systems, it is necessary to generate and decode even and odd addresses for accessing both memory modules. Such an arrangement for accomplishing the required address generation/decoding is described in U.S. Patent No. 4,185,323 which is assigned to the same assignee as named herein.
  • In the above arrangement, the low order bits of the address provided with the memory request specify the storage location being accessed while the high order bits specify which row of RAM chips is being selected.
  • The address arrangement includes a primary address register which also served as a counter and two parallel secondary address registers. In carrying out a double fetch operation, the initial address was loaded into the primary address register and then stored in the appropriate secondary address register. Then the memory subsystem, after signalling it was busy, incremented the initial address contents of the primary address register by one and the resulting address was then stored in the other secondary address register. Because of the additional time required to generate the second address, the memory timing circuits included circuits for generating two sets of clocking signals and for steering the sets of clocking signals to the appropriate memory module units. This was necessary to enable the read out of the pair of words into the subsystem data output registers in time for transfer to the bus.
  • To reduce this additional time, another arrangement employed sequential chip select decode apparatus which would provide a pair of decodes according to the least significant address bits for simultaneously accessing a pair of words from even and odd memories. A system which utilizes this arrangement is disclosed in U. S. Patent No. 4,323,965 which is also assigned to the same assignee as named herein. While the system provided a double fetch capability with less circuits than the prior art, it still required circuits for accessing at least a pair of memories.
  • Moreover, as the capacities of these memories become more dense, it becomes desirable to provide the same amount of memory in smaller increments. However, this is not possible in those prior art systems which provide a double fetch capability. Another consideration is that it becomes paritcularly desirable to provide the same functionality in both the earlier and later memory system designs. This is sometimes referred to as backward compatibility which results in reductions in manufacturing, inventory and maintenance costs.
  • Accordingly, it is a primary object of the present invention to provide a low cost memory subsystem which incorporates a double fetch capability.
  • It is a further object of the present invention to provide a double fetch memory subsystem which can be implemented with a minimum of circuits and is compatible with old and new designs.
  • SUMMARY OF THE INVENTION
  • The above and other objects are achieved in a preferred embodiment of the memory subsystem of the present invention which couples to a bus in common with a central processing unit and processes memory requests received therefrom. The subsystem includes a number of addressable memory module units or stacks which operatively couple to the bus. The stacks are organized into one of two subsystem configurations. The configurations include a common stack arrangement which provides double the normal amount of density and an adjacent stack arrangement which provides the normal amount of density. Each stack includes a number of word blocks of random access memory (RAM) chips mounted on a single circuit board which connect to a pair of subsystem data registers through a single word wide interface. The subsystem utilizes chip select decode apparatus which preselects two blocks of RAM chips from the common stack or a pair of adjacent stacks as a function of an input density signal.
  • According to the present invention, timing circuits provide a plurality of column address timing signals within an interval defined by a row address timing signal also generated by the timing circuits. Additionally, selection circuits are connected to apply each of the column timing signals to a different set of word blocks of RAM chips of a common stack or adjacent stacks for reading out in tandem a plurality of words from the common stack or the adjacent stacks into the corresponding number of data registers. Each of the data registers is connected to be conditioned by a different predetermined one of column address timing signals to store a different one of the number of words in the same sequence for each memory read request. That is, the first word accessed is always stored in a first one of the registers, the second word in a second one of the registers, etc. Accordingly, there is no need to include additional logic circuits for selecting which data register is to receive the first word, second word, etc. Thereafter, under the control of the timing circuits, the data registers are conditioned to transfer the plurality of words to a central processing unit over a corresponding number of successive bus cycles of operation.
  • The result is that the subsystem of the present invention can be constructed at low cost and with a minimum of circuit complexity without any loss of performance. That is, only a single word wide interface is required to provide the required memory capacity allowing for memory expansion. This facilitates maintenance and increases system reliability. Also, the subsystem can be easily configured to be compatible with older designs which provide the same functionality.
  • The novel features which are believed to be characteristic of the invention both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying drawings. It is to be expressly understood, however, that each of the drawings are given for the purpose of illustration and description only and are not intended as a definition of the limits of the present invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
    • Figure 1 shows in diagrammatic form a memory subsystem which incorporates the principles of the present invention.
    • Figures 2 and 3, respectively, show in greater detail the memory subsystem of Figure 1 in first and second configurations.
    • Figures 4 and 5 show in greater detail, portions of the subsystem of Figure 1.
    • Figure 6 is a timing diagram used in describing the operation of the present invention.
    • Figures 7a and 7b, respectively, are used in describing the operation of the subsystem configurations of Figures 2 and 3.
    DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Figure 1 shows the organization of a memory subsystem 10 according to the present invention. As seen, the subsystem 10 includes a mother board which contains the memory control and bus interface circuits. The bottom part of the board includes a number of connectors which plug into a bus network over which requests and data are transmitted and received. The mother board can contain up to four memory stacks 10-A through 10-D mounted on small daughter boards which directly plug into the mother board via a number of stack connectors as shown. All of the daughter boards connect in common to a single bus, also as shown.
  • According to the teachings of the present invention, all stack connectors connect in common to a single bus. As explained herein, this arrangement allows the memory subsystem 10 to be organized into one of two configurations. The first configuration is a common stack arrangement which provides double the normal density corresponding to stacks containing four blocks of memory. The second configuration is an adjacent stack arrangement which provides the normal density corresponding to stacks containing two blocks of memory. The particular configuration is defined by the state of an input density signal received from a pin common to the daughter board connectors. The input density signal is applied via the single bus to circuits within the mother board as explained herein.
  • Figure 2 shows in block diagram form, a first configuration of memory subsystem 10 constructed according to the principles of the present invention. The configuration is a common stack arrangement in which the subsystem 10 can have up to four memory stacks, all of which connect in common to a single bus. Each stack has double the normal density (i.e., four blocks). As seen from Figure 2, the subsystem 10 includes memory module units or stacks 10-2A and 10-2B, a programmable logic circuit of block 10-4A, a column timing select circuit 10-6, an output word sequencer 10-8, the timing circuits of block 10-10 and a pair of data registers 10-12 and 10-14. Each of the memory stacks 10-2A and 10-2B includes four word blocks of 256K dynamic MOS RAM chips mounted on the single printed circuit daughter board. Each word is 22 bits.
  • The programmable logic array (PLA) circuit of block 10-4A in response to a double density signal MDDBEX+00, least significant bit address signals ADDLSB and ADDLSB+1 and most significant bit address signals LSAD01 and LSAD02 of the memory address of each memory request enable the selection of a pair of words from two of the memory blocks. The circuits include a programmable logic array constructed from standard integrated circuit chips such as the 16L8A manufactured by Advanced Micro Devices, Inc. The PLA circuit 10-4A generates a different one of the eight row address strobe signals DRASO through DRAS7 which are applied to the 256K DRAM chips of a corresponding one of the word blocks of stacks 10-2A and 10-2B. Within each of the stacks of each of the signals DRASO through DRAS3 and DRAS4 through DRAS7 are logically ANDed with a memory row address timing signal MEMRAS from timing circuits 10-10 and applied to the row address strobe (RAS) input terminals of the 256K DRAM chips.
  • The PLA circuit 10-4A generates the row address strobe signals DRASO through DRAS7 as outputs on pins 12 through 19 in accordance with the following Boolean equations:
    Figure imgb0001
  • In the above equations, the symbols +, * and / have the following meanings:
    Figure imgb0002
  • Another PLA circuit 10-4B, not shown, generates a similar set of row address strobe signals in response to the same input signals as outputs on pins 12 through 19 in accordance with the following Boolean equations:
    Figure imgb0003
  • Additionally, each of the memory stacks 10-2A and 10-2B receives early column timing and late column timing signals from pairs of selector circuits 10-6A, 10-6B and 10-6C, 10-6D in response to least significant address bit signal ADDLSB and double density signal MDDBEX-00. When double density signal MDDBEX-00 is a binary ZERO, the selector circuits 10-6A through 10-6D switch between input positions 0 and 1 ignoring positions 2 and 3. The least significant bit address signal ADDLSB determines which block is to receive the early and late column pulses. That is, when ADDLSB is a binary ZERO, the "0' inputs (early and late column pulses) are selected to be applied as outputs for selector circuits 10-6A and 10-6C and circuits 10-6B and 10-6D respectively. When signal ADDLSB is a binary ONE, the "1" inputs (late and early column pulses) are selected as outputs for circuits 10-6A and 10-6C and circuits lO-6B and 10-6D respectively. The early column and late column timing signals are applied to the column address strobe (CAS) input terminals of the 256K DRAM chips. It will be noted that one selector output is applied to the chips of blocks 0 and 2 while the other output is applied to the chips of blocks 1 and 3. The circuits 10-6A through 10-6D are constructed from selector circuits such as those designated as 74S253 manufactured by Texas Instruments Incorporated.
  • The memory words read out from stacks 10-2A and 10-2B are stored in the first word and second word registers 10-12 and 10-14 in response to latch timing signals from the circuits 10-10. The circuits of the output word sequencer 10-8 controls the transfer of the contents of the registers 10-12 and 10-14 in response to timing signals from circuits 10-10 and from bus interface logic circuits, not shown.
  • Figure 3 shows in block diagram form, a second configuration of memory subsystem 10. The configuration is an adjacent stack arrangement in which subsystem 10 has at least a pair of memory stacks and up to a maximum of two pairs of memory stacks, all of which connect in common to a single bus. Each stack has a normal density of chips (i.e., two blocks).
  • As seen from Figure 3, this configuration is constructed in a fashion which is similar to Figure 2 with the exception of the column address strobe (CAS) input terminals of the 256K DRAM chips being connected in common. To accommodate the common CAS connection and differences in connector pin assignments, each of the selector circuits 10-6B and 10-6D have their enable input terminals E connected to receive double density signal MDDBEX-00. When signal MDDBEX-00 is a binary ONE indicating a single density configuration, the circuits 10-6B and 10-6D are switched to a tristate condition effectively disconnecting them from the subsystem compensating for the disparity in pin numbers.
  • Figure 4 shows in greater detail, the first and second word registers 10-12 and 10-14 and associated control and timing circuits. Both registers are constructed from D-type transparent latch circuits, such as those designated as SN74S373, manufactured by Texas Instruments Incorporated. As shown, the registers 10-12 and 10-14 have their data input terminals connected in common to receive the 22-bit word from memory stack 10-2. Their output terminals connect in common to bus interface circuits via error detection and correction logic circuits, conventional in design as, for example, such as those in U.S. Patent No. 4,072,853.
  • Additionally, each of the registers 10-12 and 10-14 has a latch enabling terminal (LE) and output enabling terminal (OE). When terminal LE is forced to a binary ONE, this enables the signals at the data input terminals to be latched into the register. When terminal OE is forced to a binary ZERO, this allows the latched signals to be applied to the output terminals of the register. This operation is independent of the latching action of the register flip-flops.
  • At shown, the signals applied to the LE and OE input terminals of registers 10-12 and 10-14 are provided by 'the associated control and timing circuits of bloces 10-8 and 10-10, respectively. The portion of the txing circuits shown generate the first and second word lztch signals which load registers 10-12 and 10-14 in a predetermined desired sequence. In greater detail the timing circuits include an input inverter 10-lC: and a pair of AND gates 10-102 and 10-104 conneced as shown.
  • During a read memory cycle, when an inhibit data latch signal is a binary ZERO, the partially conditioned AND gates 10-102 and 10-104 apply first and second word CAS timing signals, respectively, to the LE terminzls of the registers 10-12 and 10-14. This permits first and second data words to be latched into registers 10-12 and 10-14, respectively. In those instances when the INHIBIT DATA LATCH signal is a binary ONE, both AND gates 10-102 and 10-104 are disabled preventing any latching action from taking place.
  • The control circuits are the output word sequencer 10-8 which includes a pair of input NAND gates 10-80 and 10-82, an inverter 10-81, a D-type flip-flop 10-84 and a pair of output OR gates 10-86 and 10-88 connected as shown. The NAND gate 10-80 in response to timing signals DLYINN+00 and DLY060+00 generates a negative going 60 nanosecond pulse. This pulse is applied to a preset input terminal of flip-flop 10-84 which results in it being switched to a binary ONE state. When preset, flip-flop 10-84 forces SECOND WORD DISABLE signal to a binary ONE and a FIRST WORD DISABLE signal to a binary ZERO. The binary ZERO signal is applied via OR gate 10-88 to the output enable (OE) terminal of register 10-12. This enables the first word to be transferred to the bus interface via error detection and correction logic circuits of block 10-16. At the end of sending out the first word, NAND gate 10-82; in response to signals MEMORY DATA COMING and BUS DATA COMING being forced to binary ZEROS, produces a positive going signal at a clock input terminal CK which resets flip-flop 10-84 to a binary ZERO. This forces the SECOND DOUBLE WORD DISABLE signal to a binary ZERO. The binary ZERO signal is applied via OR gate 10-86 to the output enabel (OE) terminal of register 10-14. Thereafter, in the case of a double word fetch, this enables a second word to be transferred to the bus interface.
  • Additionally, the word sequencer 10-8 allows address ID information to be received from the bus interface during a read operation. At that time, signal READ I.D. is forced to a binary ONE which causes sequencer 10-8 to force both the first and second output control signals to binary ONES preventing any signals from being applied to the interface by registers 10-12 and 10-14.
  • Both the control and timing circuits are constructed from conventional integrated circuits, such as those designated in Figure 4 (e.g. 74500, 74574, 74S08, 74S32, etc.), manufactured by Texas Instruments Inc.
  • Figure 5 shows in greater detail, the remaining circuits of block 10-10. As seen from the Figure, these circuits include delay line generator circuits 10-110, row address strobe (RAS) timing circuits 10-120 and column address strobe (CAS) timing circuits 10-130. The circuits 10-110 include an AND gate amplifier circuit 10-112, an inverter circuit 10-114 and a pair of connected 200 nanosecond delay lines 10-116 and 10-118 which are resistively terminated at one end by a resistor 10-119. The generator circuits 10-110 generate a sequence of timing pulses DLYINN+00 through DLY400+00 in response to a memory cycle signal MEMCYC+00 which are applied to a series of output taps labeled 0 through 400, respectively.
  • When signal DLY200+00 is generated at an output tap, it is also applied to inverter 10-114. The inverted signal DLYWOI-10 is fed back by inverter 10-114 to amplifier 10-112 forcing signal DLYINN+00 to a binary ZERO. In this manner, inverter 10-114 establishes a 230 nanosecond width for signal DLYINN+00.
  • Timing signal DLYINN+00 along with signal DLY160+00 are applied to the RAS timing circuits 10-120. These circuits include gates 10-122 through 10-124, 10-127 and 10-129, in addition to a D-type flip-flop 10-125 which are connected as shown. The NAND gate 10-122 forces its output signal ADDRESS BOUND to a binary ZERO when both low order address signals ADDLSB and ADDLSB+1 are binary ONES. This inhibits AND gate 10-123 from switching flip-flop 10-125 to a binary ONE when clocked by a MEMORY ACKNOWLEDGE signal. In the absence of an address boundary condition AND gate 10-123 switches flip-flop 10-125 to a binary ONE in response to a double fetch/pull memory read request (i.e.i, when both signals DOUBLEPULL and READ are ONES) when the MEMORY ACKNOWLEDGE signal goes positive. The NOR gate 10-124 forces or clears flip-flop 10-125 to a binary ZERO state during an internal refresh or write cycle of operation (i.e., when signal INTERNAL REFRESH or WRITE is a binary ONE).
  • The binary ONE output signal TWO WORDS RESPOND condition AND gate 10-127 to force output signal STRETCH RAS TIMING to a binary ONE in response to timing signal DLY160+00 when the subsystem is not operating under battery power (i.e., when signal NOT BATTERY MODE is a binary ONE). The STRETCH RAS TIMING signal conditions OR gate 10-129 to extend the length of time that its output signal is a binary ONE.
  • The MEMORY RAS TIMING signal in addition to being applied to the 256K DRAM chips of stack 10-2 is also applied to the CAS timing circuits 10-130. These circuits also receive the STRETCH RAS TIMING signal from the circuits 10-120, timing signals DLYINN+00 and DLY80+00 from circuits 10-110 and MEMORY REFRESH signal from the refresh control circuits. The circuits 10-130 include series connected inverters 10-132 and 10-136 and AND gates 10-134 and 10-138. In the absence of a memory refresh cycle (i.e., when signal MEMORY REFRESH is a ZERO), AND gate 10-134 forces FIRST WORD CAS TIMING signal to a binary ONE in response to timing signals DLYINN+00 and DLY80+00. In addition to being applied to circuits 10-102 and 10-6, the first word CAS timing signal is inverted by inverter 10-136 and applied as inhibiting input to AND gate 10-138.
  • At the termination of the FIRST WORD CAS TIMING signal, AND gate 10-138 forces the SECOND WORD CAS TIMING signal to a binary ONE in response to signals STRETCH RAS TIMING and MEMORY RAS TIMING. The SECOND WORD CAS TIMING signal is applied to circuits 10-104 and 10-6. Both the RAS and CAS timing circuits 10-120 and 10-130 are constructed tram conventional integrated circuits such as those designated in Figure 3 (e.g. 74500, 74Sll, 74S74, etc.) manufactured by Texas Instruments Inc.
  • DESCRIPTION OF OPERATION
  • With reference to the timing diagram of Figure 6 and the diagram of Figures 7a and 7b, the operation of the preferred embodiment of the present invention disclosed in Figures 1 through 5 will now be described. It will be understood that the configurations of memory subsystem 10 shown in Figures 2 and 3 can process a variety of memory requests including both single word and double word fetch requests. When a single or double word fetch request is received, this causes the bus interface circuits to generate a number of signals in the desired sequence required for processing that type of request. These signals include the control signals READ I.D., MEMCYC+00, DOUBLE PULL (double fetch only), READ and MEMORY ACKNOWLEDGE, MEMORY DATA COMING and BUS DATA COMING.
  • In addition to the interface signals mentioned, the subsystem also receives address signals ADDLSB, ADDLSB+1, LSAD01 and LSAD02 from the bus interface which corresponds to the least significant and most significant address bits of the memory address portion of the request. For the purposes of the present invention, the interface circuits can be considered conventional in design and for example are similar to those circuits disclosed in U.S. Patent No. 4,185,323. A refresh command signal REFCOM-00 and an initialization signal INITM-00 are also applied but for the purpose of the present invention can be considered binary ONES so as to have no effect.
  • The double density signal MDDBEX+00 is applied from the stack connector and defines which one of two configurations the memory subsystem 10 is so organized. It is first assumed that subsystem 10 is organized in a common stack configuration as shown in Figure 2 in which case signal MDDBEX+00 is a binary ONE.
  • Figure 6 illustrates diagrammatically the relationships between the different timing signals generated by the circuits of the present invention for processing double fetch memory read requests. When double density signal MDDBEX+00 is a binary ONE and the memory address signals ADDLSB and ADDLSB+1 have the value "00", PLA circuit 10-4A operates to select word blocks 0 and 1 by forcing signals DRASO and DRASl to binary ZEROS. These are the two blocks of memory which are to receive early and late column (CAS) timing signals. The state of least significant address bit ADDLSB determines the order in which the timing signals are applied to the preselected word blocks.
  • As seen from Figure 6, in response to the memory request, the timing circuits 10-120 of Figure 3 generate memory RAS timing signal which corresponds to waveform A or A'. That is, upon receipt of the request, a memory cycle is initiated by forcing memory cycle signal MEMCYC+00 to a binary ONE. This causes the delay line timing circuits 10-110 to generate a sequence of timing signals including DLYINN+00, DLY060+00, DLY80+00 and DLY160+00.
  • As seen from Figure 5, since address signals ADDLSB and ADDLSB+1 are not both binary ONES, there is no address boundary condition. Hence, two words will be transferred to the bus interface. That is, the request causes flip-flop 10-125 to be set to a binary ONE which results in the generation of the stretched RAS timing signal of waveform A'.
  • As seen from Figure 5, the MEMORY RAS TIMING signal is forced to a binary ONE by RAS timing OR gate 10-129 in response to timing signal DLYINN+00. Eighty nanoseconds after the start of signal DLYINN+00, the CAS timing AND gate 10-134 is conditioned by timing signal DLY80+00 to generate the FIRST WORD CAS TIMING signal which corresponds to waveform BI of Figure 6. As seen from Figure 2, the EARLY COLUMN CAS TIMING signal is applied selector circuit 10-6A and to AND gate 10-102 of Figure 4. The selector circuit 10-6A is conditioned by signal ADDLSB to apply the CAS timing signal to the 256K DRAM chips of both blocks 0 and 2. However, since only the chips of block 0 were previously selected, the contents of a first word location specified by the block (row) and column memory addresses which were loaded into the chips in response to the RAS and CAS timing signals i.e., waveform A' and B') are selected. As seen from waveform B' of Figure 6, the data word contents accessed from the specified location are valid at 210 nanoseconds from the start of the memory cycle.
  • It will be noted that signals DLYINN+00 and DLY060+00 applied to the output word sequencer 10-8 at the start of the memory cycle, preset flip-flop 10-84 to a binary ONE as illustrated by waveform F of Figure 6. This causes OR gate 10-88 to force the FIRST WORD OUTPUT CONTROL signal applied to the OE terminal of register 10-12 to a binary ZERO as shown by waveform G. At the same time, OR gate 10-86 is conditioned to force the SECOND WORD OUTPUT CONTROL signal applied to register 10-14 to a binary ONE as shown by waveform H.
  • When the circuits 10-110 switch timing signal DLYINN+00 to a binary ZERO, this in turn causes CAS timing AND gate 10-134 to switch the FIRST WORD CAS TIMING signal to a binary ZERO. As seen from waveform B', this conditions the first word register 10-12 to latch the data contents of the selected word location. Since the register 10-12 has already been enabled, the first word contents appear at the register output terminals.
  • Soon after the start of the memory cycle (i.e., at approximately 280 nanoseconds into the cycle), the bus interface circuits make a bus request to send the first word to the unit which initiated the memory request. This results in the generation of waveform C of Figure 6. Upon receipt of an acknowledgement from the initiating unit, the bus interface circuits operate to generate waveform D of Figure 6 which defines the interval during which the first data word is applied to the bus interface.
  • The termination of the FIRST WORD CAS TIMING signal permits CAS timing AND gate 10-138 to generate a SECOND WORD CAS TIMING signal in response to the STRETCH RAS TIMING signal as shown by waveform E. Additionally, the STRETCH RAS TIMING signal also operates to extend the interval of the MEMORY RAS TIMING signal from 230 nanoseconds to 400 nanoseconds as shown by waveform A' (i.e., sums timing signals DLY160+00 and DLYINN+00). The SECOND WORD CAS TIMING signal is applied to AND gate 10-104 and to selector circuit 10-6B.
  • The selector circuit 10-6B in turn applies the late column timing signal to the 256K DRAM chips of blocks 1 and 3. However, since only block 1 was previously selected, the contents of the location in that block specified by the block/row and column addresses are read out from the stack. This second word is latched into register 10-14 at the end of the SECOND WORD CAS TIMING signal as shown by waveform E.
  • When the subsystem completes sending the first word to the interface, signals MEMORY DATA COMING and BUS DATA COMING are forced to binary ONES. As seen from Figure 5, this causes NAND gate 10-82 to switch sequencer flip-flop 10-84 to a binary ZERO. As seen from waveforms G and H of Figure 6, this switches the FIRST WORD and SECOND WORD OUTPUT CONTROL signals to a binary ONE and a binary ZERO, respectively. Thereafter, the second word latched in register 10-14 is transferred to the requesting unit in the same manner as described above.
  • It can be seen that when the least significant address bit signals ADDLSB and ADDLSB+1 are binary ONES, this causes RAS timing NAND gate 10-122 of Figure 5 to force signal ADDRESS BOUND to a binary ZERO. This inhibits the setting of flip-flop 10-125 to a binary ONE which prevents the generation of the STRETCH RAS TIMING signal. Similarly, a memory read request for a single word (i.e., DOUBLE PULL is a ZERO) prevents the generation of a second CAS timing signal by inhibiting the setting of flip-flop 10-125 to a binary ONE.
  • In both instances, the MEMORY RAS TIMING signal is prevented from being stretched and the generation of a second CAS timing signal is not permitted to take place. Accordingly, only the first word read out from stack 10-2A is transferred to the requesting unit. The unit is also informed that a second word is not being transferred because of the address boundary condition. As seen from the first series of blocks of stack 0 of Figure 7a, block selection proceeds as shown as a function of the least significant address bit signals. The blocks of remaining stacks 1 through 3 are in turn sequenced through in the same fashion as stack 0 in response to changes in both the least significant and most significant bit address signals.
  • Figure 6 also illustrates the timing for the adjacent stack configuration of memory subsystem 10 shown in Figure 3. In this instance, memory double density signal MDDBEX+00 is a binary ZERO. When double density signal MDDBEX+00 is a binary ZERO, and memory address signals ADDLSB and ADDLSB+1 are binary ZEROS, PLA circuit 10-4A operates to select blocks 0 and 4 from adjacent stack 0 and stack 1. The binary ONE state of signal MDDBEX-00 disables selector circuits 10-6B and 10-6D. Thus, the early and late column timing signals are applied to the CAS input terminals of blocks 0 and 4 via selector circuits 10-6A and lQ-6C. The words from the adjacent stacks are loaded into registers 10-12 and 10-14 in the same manner as described above.
  • As seen from Figure 7b, block selection proceeds through adjacent stacks 0 and 1 as shown. The next pair of stacks 2 and 3 are selected when most significant address bit LSAD02 switches to a binary ONE. At that point, block selection proceeds through adjacent stacks 2 and 3 as shown in Figure 7b. Thus, signal LSAD02 serves as a stack selection signal.
  • It is seen that the state of the double density signal defines whether or not the pair of words come from a common stack or are distributed between two adjacent stacks. The signal in turn conditions the PLA circuit 10-4A to cause block selection to take place within a single stack or between two adjacent stacks as a function of the configuration.
  • It has been found that in the case of the present embodiment it is more efficient to handle 75 percent of double word fetches rather than introducing delay into each memory cycle to satisfy a larger percentage of double word fetches. Moreover, it will be appreciated as the number of word blocks increases, there is a corresponding increase in efficiency.
  • From the above, it is seen how the apparatus of the present invention, without any loss of performance, is able to provide a double word fetch capability for both new and old memory designs. In fact, in certain cases, system performance will increase as a result shortening the overall memory cycle except for double word fetches. This simplicity in interface construction and operation permits the utilization of smaller increments of memory at lower cost and facilitates expansion.
  • Many changes may be made to the preferred embodiment without departing from the teachings of the present invention. For example, the number of word blocks may be increased, the types of circuits changed, etc.
  • While in accordance with the provisions and statutes there has been illustrated and described the best form of the invention, certain changes may be made without departing from the spirit of the invention as set forth in the appended claims and that in some cases, certain features of the invention may be used to advantage without a corresponding use of other features.

Claims (10)

1. A memory subsystem for use in a system in which said subsystem couples to a single word bus for receiving memory requests and for transferring information words to said bus during bus transfer cycles of operation, said memory requests including a multibit address and certain ones of said requests being coded to specify a predetermined type of memory read operation requiring a transfer of a plurality of words over successive bus cycles of operation, said memory subsystem comprising:
a number of addressable single word wide memory stacks, each including a plurality of word blocks of random access memory chips mounted on a single circuit board;
decode means coupled to said plurality of blocks of chips of said number of stacks and to said bus to receive a number of least significant and most significant bits of each said address and an input density signal, said decode means being operative to generate a plurality of select signals for preselecting a corresponding plurality of word blocks from a common stack or from at least a pair of adjacent stacks as a function of said input density signal;
selection means coupled to said plurality of blocks of chips of said number of stacks and to receive at least one of said number of least significant bits and said input density signal;
a plurality of registers coupled in common to said number of stacks; and,
timing means for generating a sequence of timing signals for each predetermined read type of read operation, said timing means being coupled to said number of memory stacks, to said selection means and to said plurality of registers, said sequence of timing signals including a first timing signal having a duration for defining a first interval and a plurality of timing signals which occur during said first interval, said preselected blocks of chips being conditioned by said first timing signal for access, said plurality of timing signals being applied selectively by said selection means to different groups of blocks of chips within said single stack or said pair of adjacent stacks for read out of a plurality of words in tandem from said preselected blocks within said common stack or distributed between said pair of adjacent stacks.
2. The subsystem of claim 1 wherein said decode means includes a number of programmable logic array (PLA) circuits, corresponding in number to one-half of said number of addressable memory stacks, each of said number of PLA circuits being programmed to generate said number of sets of select signals, each set being applied to a different predetermined one of said number of addressable memory stacks.
3 . The memory subsystem of claim 1 wherein said input density signal when in a first state conditions said decode means and said selection means to condition in turn each one of said number of stacks to read out said plurality of words in tandem from said each stack.
4, The memory subsystem of claim 1 wherein said input density signal when in a second state conditions said decode means and said selection means to condition in turn a different pair of adjacent stacks to read out said plurality of words in tandem from said different pair of said adjacent stacks.
5. A memory subsystem for use in a system which couples to a single word bus and receives memory requests, each request including a multibit address having first and second address portions, said subsystem comprising:
a number of addressable single word wide modules connected in common to an internal bus, each including a plurality of word blocks of random access memory chips
control means coupled to said modules and to said single bus for receiving a plurality of bits of each address and an input control signal, said address bits coded to preselect a group of blocks within said plurality of blocks of one of said modules or from adjacent ones of said modules as a function of the state of said input control signal;
selector means coupled to said number of modules and to said bus for receiving at least a least significant bit of each address;
a plurality of registers coupled in common to said internal bus; and,
timing means for generating a sequence of timing signals in response to each predetermined type of request; said timing means being coupled to said tandem from only said preselected group of blocks within said one module or said adjacent modules in a predetermined sequence to said plurality of registers.
6. A memory subsystem for use in a system in which said subsystem couples to a single word bus for receiving memory requests and for transferring information words to said bus during bus transfer cycles of operation, said memory requests including a multibit address and certain ones of said requests being coded to specify a predetermined type of memory read operation requiring a transfer of a plurality of words over successive bus cycles of operation, said memory subsystem comprising:
an addressable single word wide memory array including a plurality of word blocks of random access memory chips mounted on a single circuit board;
decode means coupled to said plurality of blocks of chips and to said bus to receive a number of least significant bits of each said address, said decode means being operative to generate a plurality of select signals for preselecting a corresponding plurality of word blocks in response to said number of least significant bits;
selection means coupled to said plurality of blocks of chips and to receive at least one of said number of least significant bits;
a plurality of registers coupled in common to said single word wide memory array; and,
timing means for generating a sequence of timing signals for each predetermined read type of read operation, said timing means being coupled to said memory array, to said selection means and to said plurality of registers, said sequence of timing signals including a first timing signal having a duration for defining a first interval and a plurality of timing signals which occur during said first interval, said preselected blocks of chips being conditioned by said first timing signal for access, said plurality of timing signals being applied selectively by said selection means to different groups of blocks of chips for read out of a plurality of words in succession only from said preselected blocks of said array and said plurality of registers being conditioned by said plurality of signals to store said plurality of words in a predetermined sequence.
7. The subsystem of claim 1 wherein said timing means includes first logic circuit means coupled to receive said number of least significant address bits, and a signal from said bus indicative of said predetermined type of read operation, said logic circuit means being operative to generate an output signal when said number of least significant address bits have a value indicating a boundary condition, said output signal conditioning said timing means to inhibit extending said duration of said first timing signal and to inhibit the generation of certain ones of said plurality of timing signals which are generated during the extension of said first timing signal.
8. The subsystem of claim 2 wherein said first logic circuit means is operative to generate said output signal when said bus signal does not indicate said predetermined type of read operation.
9. The subsystem of claim 3 wherein said predetermined type of read operation causes the fetching of- at least a pair of words from word locations within said preselected word blocks.
10. A memory subsystem for use in a system in which said subsystem couples to a single word bus and receives memory requests, each request including a multibit address having first and second address portions, said subsystem comprising:
an addressable single word wide module including a plurality of word blocks of random access memory chips;
decode means coupled to said module and to said bus for receiving a plurality of least signficant bits of each address coded to preselect a group of blocks within said plurality of blocks;
selector means coupled to said module and to said bus for receiving at least a least signficant bit of each address;
a plurality of registers coupled in common to said module; and,
timing means for generating a sequence of timing signals in response to each predetermined type of request, said timing means being coupled to said module, to said selector means and to said plurality of registers, a first one of said timing signals conditioning said chips of said preselected group of blocks to store said first address portion and second and third ones of said timing signals conditioning said selector means to cause each of said plurality of blocks to store said second address portion for read out of words from only said preselected group of blocks in a predetermined sequence to said plurality of registers.
EP86108985A 1985-07-02 1986-07-02 Computer memory apparatus Expired - Lifetime EP0207504B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US06/751,179 US4761730A (en) 1985-07-02 1985-07-02 Computer memory apparatus
US751179 1985-07-02
US06/793,047 US4739473A (en) 1985-07-02 1985-10-30 Computer memory apparatus
US793047 1985-10-30

Publications (3)

Publication Number Publication Date
EP0207504A2 true EP0207504A2 (en) 1987-01-07
EP0207504A3 EP0207504A3 (en) 1988-10-12
EP0207504B1 EP0207504B1 (en) 1990-11-22

Family

ID=27115381

Family Applications (1)

Application Number Title Priority Date Filing Date
EP86108985A Expired - Lifetime EP0207504B1 (en) 1985-07-02 1986-07-02 Computer memory apparatus

Country Status (7)

Country Link
US (1) US4739473A (en)
EP (1) EP0207504B1 (en)
KR (1) KR930009668B1 (en)
AU (1) AU580427B2 (en)
CA (1) CA1262492A (en)
DE (1) DE3675699D1 (en)
ES (1) ES8801462A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568651A (en) * 1994-11-03 1996-10-22 Digital Equipment Corporation Method for detection of configuration types and addressing modes of a dynamic RAM
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US6109929A (en) * 1998-07-29 2000-08-29 Agilent Technologies, Inc. High speed stackable memory system and device
ATE394755T1 (en) * 2000-06-20 2008-05-15 Nxp Bv DATA PROCESSING DEVICE
US7916574B1 (en) 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US8154901B1 (en) 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
US8516185B2 (en) 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
WO2012061633A2 (en) 2010-11-03 2012-05-10 Netlist, Inc. Method and apparatus for optimizing driver load in a memory package

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3796996A (en) * 1972-10-05 1974-03-12 Honeywell Inf Systems Main memory reconfiguration
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
US4138720A (en) * 1977-04-04 1979-02-06 Burroughs Corporation Time-shared, multi-phase memory accessing system
US4323965A (en) * 1980-01-08 1982-04-06 Honeywell Information Systems Inc. Sequential chip select decode apparatus and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4174537A (en) * 1977-04-04 1979-11-13 Burroughs Corporation Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4563736A (en) * 1983-06-29 1986-01-07 Honeywell Information Systems Inc. Memory architecture for facilitating optimum replaceable unit (ORU) detection and diagnosis
US4628489A (en) * 1983-10-03 1986-12-09 Honeywell Information Systems Inc. Dual address RAM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3796996A (en) * 1972-10-05 1974-03-12 Honeywell Inf Systems Main memory reconfiguration
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
US4138720A (en) * 1977-04-04 1979-02-06 Burroughs Corporation Time-shared, multi-phase memory accessing system
US4323965A (en) * 1980-01-08 1982-04-06 Honeywell Information Systems Inc. Sequential chip select decode apparatus and method

Also Published As

Publication number Publication date
EP0207504B1 (en) 1990-11-22
ES556687A0 (en) 1987-12-16
KR870001518A (en) 1987-03-14
AU580427B2 (en) 1989-01-12
KR930009668B1 (en) 1993-10-08
DE3675699D1 (en) 1991-01-03
CA1262492A (en) 1989-10-24
ES8801462A1 (en) 1987-12-16
AU5939586A (en) 1987-01-08
EP0207504A3 (en) 1988-10-12
US4739473A (en) 1988-04-19

Similar Documents

Publication Publication Date Title
US4545010A (en) Memory identification apparatus and method
US6414868B1 (en) Memory expansion module including multiple memory banks and a bank control circuit
US4507730A (en) Memory system with automatic memory configuration
US4908789A (en) Method and system for automatically assigning memory modules of different predetermined capacities to contiguous segments of a linear address range
US4323965A (en) Sequential chip select decode apparatus and method
US4571676A (en) Memory module selection and reconfiguration apparatus in a data processing system
US4888687A (en) Memory control system
US4366538A (en) Memory controller with queue control apparatus
KR910000589B1 (en) Memory system providing a continuous address space
US4951248A (en) Self configuring memory system
US4523313A (en) Partial defective chip memory support system
KR880001171B1 (en) Sequential word aligned addressing apparatus
US4473877A (en) Parasitic memory expansion for computers
EP0207504B1 (en) Computer memory apparatus
US4796222A (en) Memory structure for nonsequential storage of block bytes in multi-bit chips
US5243701A (en) Method of and system for processing data having bit length variable with modes of operation
US4639894A (en) Data transferring method
US4376972A (en) Sequential word aligned address apparatus
US4319324A (en) Double word fetch system
EP0200198B1 (en) An arrangement for expanding memory capacity
US4575826A (en) Refresh generator system for a dynamic memory
CA1145856A (en) Row selection circuits for memory circuits
US4992979A (en) Memory structure for nonsequential storage of block bytes in multi bit chips
US4761730A (en) Computer memory apparatus
EP0032136B1 (en) Memory system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT SE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: HONEYWELL BULL INC.

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT SE

17P Request for examination filed

Effective date: 19890403

17Q First examination report despatched

Effective date: 19890626

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: BULL HN INFORMATION SYSTEMS INC.

ITF It: translation for a ep patent filed

Owner name: BARZANO' E ZANARDO ROMA S.P.A.

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT SE

REF Corresponds to:

Ref document number: 3675699

Country of ref document: DE

Date of ref document: 19910103

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 19930702

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19940622

Year of fee payment: 9

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19940703

ITTA It: last paid annual fee
EUG Se: european patent has lapsed

Ref document number: 86108985.2

Effective date: 19950210

EUG Se: european patent has lapsed

Ref document number: 86108985.2

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19950717

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19960227

Year of fee payment: 10

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19960430

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19960702

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19960702

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19970402

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050702