Memory device with staggered data paths
AssigneeMicron Technology, Inc.
InventorTroy A. Manning
Life of this patent
Estimating the term…
Abstract
A memory device includes input and output data sequencers that transfer data between a memory array and a data bus where transfers between the data sequencers and the data bus are controlled by a first clock signal and transfers between a memory array and the data sequencers are controlled by a second clock signal of arbitrary phase relative to the first clock signal. Each data sequencer includes two or more sets of interim latches that each latch a portion of the data in a staggered fashion. One portion of the interim latches latch data while another portion transfers data to the data bus or the memory array. Because the data is segmented into portions and each portion is activated separately, the data can be transferred quickly without data collisions.
Claims33
A synchronous memory device responsive to a first clock signal, comprising:
- a memory array including a plurality of memory cells arranged in rows and columns;
- an I/O interface coupled to the memory array, the I/O interface including a plurality of inputs each coupled to a respective column or row and a plurality of I/O terminals;
- a first set of interim storage latches, each having a first activation input, a first latch output and a first latch input each first latch input being coupled to a respective I/O terminal, each interim storage latch in the first set being responsive to a first activation signal at the first activation input to latch data from the respective I/O terminal;
- a second set of interim storage latches, each having a second activation input, a second latch output and a second latch input, each second latch input being coupled to a respective I/O terminal, each interim storage latch in the second set being responsive to a second activation signal at the second activation input to latch data from the respective I/O terminal;
- a multiplexing circuit having a set of first multiplexer inputs each coupled to a respective first latch output and a set of second multiplexer inputs each coupled to a respective second latch output, the multiplexing circuit further including a plurality of multiplexer outputs, each multiplexer output being coupled to a respective device output terminal, the multiplexing circuit further including a control input terminal, the multiplexing circuit being responsive to a first control signal at the control input to couple the first multiplexer inputs to the multiplexer outputs and responsive to a second control signal at the control input to couple the second multiplexer inputs to the multiplexer outputs;
- and
- a timing control circuit having a clock input to which the first clock signal, a first activation output coupled to the first activation input a second activation output coupled to the second activation input, a control output coupled to the control input, the timing control circuit being responsive to the first clock signal to produce the first activation signal at the first activation output and the second activation signal at the second activation output, the timing control circuit further being responsive to the clock signal to provide the first control signal to the first control input during a first portion of a selected clock cycle and to provide the second control signal to the control input during a second portion of the selected clock cycle.
A synchronous memory device responsive to a data clock signal and an external clock signal having a phase shift relative to the data clock signal, comprising:
- a memory array including a plurality of memory cells arranged in rows and columns;
- an I/O interface coupled to the memory array, the I/O interface including a plurality of outputs each coupled to a respective column or row and a plurality of I/O terminals;
- a data bus;
- a multiplexing circuit having a set of multiplexer inputs each coupled to the data bus, a plurality of first multiplexer outputs, and a plurality of second multiplexer outputs, the multiplexing circuit further including a control input terminal, the multiplexing circuit being responsive to a first control signal at the control input to couple the multiplexer inputs to the first multiplexer outputs and responsive to a second control signal at the control input to couple the multiplexer inputs to the second multiplexer outputs;
- a first set of interim input storage latches, each having a first activation input, a first latch output and a first latch input, each first latch input being coupled to a respective first multiplexer output, each interim input storage latch in the first set being responsive to a first activation signal at the first activation input to latch data from the respective first multiplexer output;
- a second set of interim storage latches, each having a second activation input, a second latch output and a second latch input, each second latch input being coupled to a respective second multiplexer output, each interim storage latch in the second set being responsive to a second activation signal at the second activation input to latch data from the respective second multiplexer output;
- a first set of registers, each having a first load input, a first register input coupled to a respective first latch output and a first register output coupled to a respective I/O terminal, each register in the first set being responsive to a first load signal at the first load input to load data from the respective first latch output;
- a second set of registers, each having a load input, a first register input coupled to a respective first latch output and a first register output coupled to a respective I/O terminal, each register in the second set being responsive to a second load signal at the second load input to load data from the respective second latch output;
- and
- a timing control circuit having a first clock input to which the external clock signal, a second clock input to which the data clock signal may be applied, a first load output coupled to the first load inputs, a second load output coupled to the second load inputs, a first control output coupled to the first control inputs, a second control output coupled to the second control inputs, a first activation output coupled to the first activation input, and a second activation output coupled to the second activation input, the timing control signal being responsive to the data clock signal to produce the first and second activation signals, the timing control signal further being responsive to the external clock signal to produce the first and second load signals.
A synchronous memory device responsive to an externally supplied clock signal at a first phase, a data clock signal at any of a plurality of second phases different from the first phase, and externally supplied commands, comprising:
- a clock converter circuit responsive to the externally supplied clock signal to produce an internal clock signal;
- a memory array including a plurality of memory cells arranged in rows and columns;
- an I/O interface coupled to the memory array, the I/O interface including a plurality of inputs each coupled to a respective column or row of the array and a plurality of I/O output terminals including a first portion and a second portion, the I/O interface retrieving data from the memory array in response to a read command;
- data terminals that may be coupled to a data bus;
- a first output data path coupled between the first portion of the I/O terminals and the data terminals, the first output data path including a first switching control terminal and a first latching input, the first output data path being responsive to a first switching signal at the first switching control terminal to receive data from the first portion of the I/O terminals, the first output data path further being responsive to the data clock signal at the first latching input to transfer the data received from the first portion of the I/O terminals to the data terminals;
- a second output data path coupled between the second portion of the I/O terminals and the data terminals, the second output data path including a second switching control terminal and a second latching input, the second output data path being responsive to a second switching signal at the second switching control terminal to receive data from the second portion of the I/O terminals, the second output data path further being responsive to the data clock signal at the second latching input to transfer the data received from the second portion of the I/O terminals to the data terminals;
- a control circuit having a clock input coupled to the clock converter circuit, a first switching output coupled to the first switching control terminal, a second switching output coupled to the second switching control terminal, and a first control output coupled to the I/O interface, the control circuit being responsive to the commands and the internal clock signal to produce the first switching signal, the second switching signal and the read command signal;
- and
- a latch timing circuit including a clock input to which the data clock signal, may be applied a first latch output coupled to the first latching input and a second latch output coupled to the second latching input, the latch timing circuit being responsive to the data clock signal to provide the first and second latching signals in a predetermined sequence.
A data sequencing circuit for a synchronous memory device responsive to a first internal clock signal at a first phase, a data clock signal at any of a plurality of second phases different from the first phase, and externally supplied commands, comprising:
- a plurality of I/O input terminals including a first portion and a second portion;
- data terminals that may be coupled to a data bus;
- a first output data path coupled between the first portion of the I/O terminals and the data terminals, the first output data path including a first switching control terminal and a first latching input, the first output data path being responsive to a first edge of the first clock signal at the first switching control terminal to receive data from the first portion of the I/O terminals, the first output data path further being responsive to the data clock signal at the first latching input to transfer the data received from the first portion of the I/O terminals to the data terminals;
- and
- a second output data path coupled between the second portion of the I/O terminals and the data terminals, the second output data path including a second switching control terminal and a second latching input, the second output data path being responsive to a second edge of the internal clock signal at the second switching control terminal to receive data from the second portion of the I/O terminals, the second output data path further being responsive to the data clock signal at the second latching input to transfer the data received from the second portion of the I/O terminals to the data terminals.
A computer system comprising:
- a central processor;
- a data bus;
- a command bus;
- input devices coupled to the central processor;
- output devices coupled to the central processor;
- a data clock source coupled to the central processor producing a data clock signal;
- an external clock source coupled to the central processor and adapted to produce an external clock signal having a phase shift relative to the data clock signal;
- a memory device responsive to the data clock signal and the external clock signal, the memory device including:
- a memory array including a plurality of memory cells arranged in rows and columns;
- an I/O interface coupled to the memory array, the I/O interface including a plurality of outputs each coupled to a respective column or row and a plurality of I/O terminals;
- data terminals coupled to the data bus;
- a multiplexing circuit having a set of multiplexer inputs each coupled to a respective data terminal, a plurality of first multiplexer outputs, and a plurality of first multiplexer outputs, the multiplexing circuit further including a control input terminal, the multiplexing circuit being responsive to a first control signal at the control input to couple the multiplexer inputs to the first multiplexer outputs and responsive to a second control signal at the control input to couple the multiplexer inputs to the second multiplexer outputs;
- a first set of interim input storage latches, each having a first activation input, a first latch output and a first latch input, each first latch input being coupled to a respective first multiplexer output, each interim input storage latch in the first set being responsive to a first activation signal at the first activation input to latch data from the respective first multiplexer output;
- a second set of interim storage latches, each having a second activation input, a second latch output and a second latch input, each second latch input being coupled to a respective second multiplexer output, each interim storage latch in the second set being responsive to a second activation signal at the second activation input to latch data from the respective second multiplexer output;
- a first set of registers, each having a first load input, a first register input coupled to a respective first latch output and a first register output coupled to a respective I/O terminal, each register in the first set being responsive to a first load signal at the first load input to load data from the respective first latch output;
- a second set of registers, each having a load input, a first register input coupled to a respective first latch output and a first register output coupled to a respective I/O terminal, each register in the second set being responsive to a second load signal at the second load input to load data from the respective second latch output;
- and
- a timing control circuit having a first clock input to which the external clock signal may be applied, a second clock input to which the data clock signal may be applied, a first load output coupled to the first load inputs, a second load output coupled to the second load inputs, a first control output coupled to the first control inputs, a second control output coupled to the second control inputs, a first activation output coupled to the first activation input, and a second activation output coupled to the second activation input, the timing control signal being responsive to the data clock signal to produce the first and second activation signals, the timing control signal further being responsive to the external clock signal to produce the first and second load signals.
A method of transferring a byte of data having a first predetermined number of bits from a memory array to a data bus having a second predetermined number of lines, the method comprising the steps of:
- providing a first clock signal at a first frequency;
- dividing a selected clock cycle of the first clock signal into a plurality of cycle portions;
- dividing the data into a plurality of parts, each part including a plurality of the bits;
- at a first time transferring a first part of the data from the array to a first interim storage circuit;
- storing the first part in the first interim storage circuit;
- at substantially the first time, transferring a second part of the data from the array to a second interim storage circuit;
- storing the second part in the second interim storage circuit;
- during a first of the cycle portions, transferring the first part of the data from the first interim storage circuit to the data bus;
- and
- during a second of the cycle portions, transferring the second part of the data from the second interim storage circuit to the data bus.
A method of transferring a set of data from a set of I/O terminals including a first predetermined number of I/O terminals to a data bus having a second predetermined number of lines, the method comprising the steps of:
- supplying the data to the I/O terminals responsive to a first clock signal;
- dividing each clock cycle of the first clock signal into a plurality of cycle portions;
- during a first of the cycle portions, storing a first portion of the data from a first portion of the I/O terminals;
- during a second of the cycle portions, storing a second portion of the data from a second portion of the I/O terminals;
- providing a respective latching signal during each of a plurality of the clock cycles, the latching signal having a phase shift relative to the first clock signal;
- during the second of the cycle portions and responsive to the respective latching signal, transferring the first portion of the data to the data bus;
- and
- during a third of the cycle portions and responsive to the respective latching signal, transferring the second portion of the data to the data bus.
A method of transferring a set of data having a first predetermined number of bits from a data bus having a second predetermined number of lines less the predetermined number of bits to a memory array, the method comprising the steps of:
- providing a data clock signal at a first frequency;
- dividing a selected clock cycle of the data clock signal into a plurality of cycle portions;
- dividing the set of data into a plurality of parts, each part including a plurality of the bits;
- during a first of the cycle portions, storing a first part of the data in a first interim storage circuit;
- during a second of the cycle portions, storing a second part of the data in a second interim storage circuit;
- transferring the first part of the data from the first interim storage circuit to the array;
- and
- transferring the second part of the data from the second interim storage circuit to the array while transferring the first part of the data from the first interim storage circuit to the array.
A method of transferring a set of data from a data bus including a first predetermined number of lines to a set of I/O terminals having a second predetermined number of I/O terminals, wherein the data include the first predetermined number of bits, the method comprising the steps of:
- providing a first clock signal;
- providing a second clock signal, the second clock signal having a phase shift relative to the first clock signal;
- supplying the data to the data bus responsive to the first clock signal;
- at a first edge of the first clock signal, storing a first portion of the data from the data bus;
- at a second edge of the first clock signal, storing a second portion of the data from the data bus;
- dividing each clock cycle of the second clock signal into a plurality of cycle portions;
- providing a respective latching signal during each of a plurality of the clock cycles;
- during a first of the cycle portions and responsive to the respective latching signal, transferring the first portion to the I/O terminals;
- and
- during the first of the cycle portions and responsive to the respective latching signal, transferring the second portion of the data to the I/O terminals.
Dependencies are inferred from the claim text.