Randomly accessible memory having time overlapping memory accesses
DCFirst Claim
1. An integrated circuit, comprising:
- an address bank decoder for decoding an address bank signal to provide a first one of a plurality of bank enable signals, the address bank decoder having an input for receiving the address bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the plurality of bank enable signals;
an input data decoder for decoding an input data bank signal to provide a first one of a plurality of input enable signals, the input data decoder having an input for receiving the input data bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the input enable signals;
an output data decoder for decoding an output data bank signal to provide a first one of a plurality of output enable signals, the output data decoder having an input for receiving the output data bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the output enable signals; and
a plurality of memory banks wherein each of the plurality of memory banks is concurrently accessible, each of the plurality of memory banks, comprising;
a first latch for selectively storing a first address value in response to a first enable signal;
a second latch for selectively storing a first data value in response to a second enable signal;
a third latch for selectively storing a second data value in response to a third enable signal;
a fourth latch for selectively storing a first control value in response to a fourth enable signal;
logic means for selectively asserting the first enable signal, the second enable signal, the third enable signal, and the fourth enable signal when a corresponding one of the plurality of bank enable signals is in a predetermined logic state, the logic means being coupled to each of the first latch, the second latch, the third latch, and the fourth latch; and
an array of memory storage elements for selectively communicating a digital information value, the array of memory storage elements being coupled to each of the first latch, the second latch, the third latch, and the fourth latch;
wherein a first one of the plurality of memory banks executes a first data communication operation subsequent to latching the first address value, the first control value, and one of the first and second data values and a second one of the plurality of memory banks executes a second data communication operation subsequent to latching a second address value, a second control value, and a third data value, the second one of the plurality of memory banks executing the second data communication operation concurrently with the first one of the plurality of memory banks executing the first data communication operation.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A memory device (28) executes memory access operations of two or more storage locations concurrently. The memory device (28) is comprised of a plurality of memory bank decode logic circuits (30, 32, 56) and a plurality of memory banks (34, 52). Each of the decode logic circuits decodes a first information and control signal set to enable a first memory bank to begin and complete a memory access operation. Each memory bank is comprised of a plurality of latch circuits (39,40, 42, 50) to store a predetermined information and control signal set necessary to perform the memory access operation. A second control signal and information set may, therefore, enable a second memory bank within the memory device (28) to perform a second memory access operation concurrently in time with the first memory access operation.
73 Citations
11 Claims
-
1. An integrated circuit, comprising:
-
an address bank decoder for decoding an address bank signal to provide a first one of a plurality of bank enable signals, the address bank decoder having an input for receiving the address bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the plurality of bank enable signals; an input data decoder for decoding an input data bank signal to provide a first one of a plurality of input enable signals, the input data decoder having an input for receiving the input data bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the input enable signals; an output data decoder for decoding an output data bank signal to provide a first one of a plurality of output enable signals, the output data decoder having an input for receiving the output data bank signal and a plurality of outputs wherein each of the plurality of outputs provides a respective one of the output enable signals; and a plurality of memory banks wherein each of the plurality of memory banks is concurrently accessible, each of the plurality of memory banks, comprising; a first latch for selectively storing a first address value in response to a first enable signal; a second latch for selectively storing a first data value in response to a second enable signal; a third latch for selectively storing a second data value in response to a third enable signal; a fourth latch for selectively storing a first control value in response to a fourth enable signal; logic means for selectively asserting the first enable signal, the second enable signal, the third enable signal, and the fourth enable signal when a corresponding one of the plurality of bank enable signals is in a predetermined logic state, the logic means being coupled to each of the first latch, the second latch, the third latch, and the fourth latch; and an array of memory storage elements for selectively communicating a digital information value, the array of memory storage elements being coupled to each of the first latch, the second latch, the third latch, and the fourth latch; wherein a first one of the plurality of memory banks executes a first data communication operation subsequent to latching the first address value, the first control value, and one of the first and second data values and a second one of the plurality of memory banks executes a second data communication operation subsequent to latching a second address value, a second control value, and a third data value, the second one of the plurality of memory banks executing the second data communication operation concurrently with the first one of the plurality of memory banks executing the first data communication operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for accessing a memory in an integrated circuit, comprising the steps of:
-
receiving a first instruction for executing a first memory operation, the first instruction indicating a first memory location; decoding the first instruction to indicate a first one of a plurality of memory banks to be accessed during execution of the first memory operation; storing a first address value in a first latch circuit in the first one of the plurality of memory banks, the first address value corresponding to a first memory location in the first one of the plurality of memory banks; storing a first control value in a second latch circuit in the first one of the plurality of memory banks, the first control value indicating a type of memory operation to be executed, the type of memory operation being one of a read memory operation and a write memory operation; receiving a second instruction for executing a second memory operation, the second instruction indicating a second memory location to be accessed; decoding the second instruction to indicate a second one of the plurality of memory banks to be accessed during execution of the second memory operation; storing a second address value in a first latch circuit in the second one of the plurality of memory banks, the second address value corresponding to a second memory location in the second one of the plurality of memory banks; storing a second control value in a second latch circuit in the second one of the plurality of memory banks, the second control information value indicating the type of memory operation to be executed; and concurrently executing the first memory operation in the first one of the plurality of memory banks and the second memory operation in the second one of the plurality of memory banks. - View Dependent Claims (10, 11)
-
Specification