Separate byte control on fully synchronous pipelined SRAM
First Claim
1. A method for accessing a synchronous random access memory system, comprising:
- in a read operation, receiving a memory address in an nth clock cycle and outputting in an (n+1)th clock cycle data stored in the synchronous random access memory corresponding to the memory address received in the nth clock cycle, the data having at least two bytes each of which may be stored separately in the memory system; and
in a write operation, receiving in a kth clock cycle a memory address to which data is to be written, the data having at least two bytes, receiving in a kth clock cycle at least two control signals which control individually whether each of the bytes of the data are to be written, and receiving in a (k+1)th clock cycle data to be stored in the synchronous random access memory at the memory address received in the kth clock cycle, wherein the nth clock cycle can be a clock cycle immediately following the kth clock cycle with no clock cycles intervening between the nth clock cycle and the kth clock cycle.
0 Assignments
0 Petitions
Accused Products
Abstract
A memory system including a memory array, an input circuit and a logic circuit is presented. The input circuit is coupled to receive a memory address and a set of individual write controls for each byte of data word. During a write operation, the input circuit also receives the corresponding write data to be written into the SRAM. The logic circuit causes the write data and write control information to be stored in the input circuit for the duration of any sequential read operations immediately following the write operation and then to be read into memory during a subsequent write operation. During the read operation, data which is stored in the write data storage registers prior to being read into the memory can be read out from the memory system should the address of one or more read operations equal the address of the data to be written into the memory while temporarily stored in the write data storage registers. The logic circuit also detects which bytes of data are not to be written into the SRAM so that, during a read operation, those bytes not to be written into the SRAM are read from the SRAM in order to output a complete word corresponding to the value at the read address. No “bus turnaround” down time is experienced by the system thereby increasing the bandwidth of the system. The system can operate in a single pipeline mode or a dual pipeline mode.
180 Citations
17 Claims
-
1. A method for accessing a synchronous random access memory system, comprising:
-
in a read operation, receiving a memory address in an nth clock cycle and outputting in an (n+1)th clock cycle data stored in the synchronous random access memory corresponding to the memory address received in the nth clock cycle, the data having at least two bytes each of which may be stored separately in the memory system; and
in a write operation, receiving in a kth clock cycle a memory address to which data is to be written, the data having at least two bytes, receiving in a kth clock cycle at least two control signals which control individually whether each of the bytes of the data are to be written, and receiving in a (k+1)th clock cycle data to be stored in the synchronous random access memory at the memory address received in the kth clock cycle, wherein the nth clock cycle can be a clock cycle immediately following the kth clock cycle with no clock cycles intervening between the nth clock cycle and the kth clock cycle. - View Dependent Claims (2, 3)
storing data received in an rth write operation in a control circuit of the synchronous random access memory system; and
storing during a (r+1)th write operation in a memory of the synchronous random access memory system the data stored in the control circuit during the rth write operation.
-
-
3. The method of claim 2 further comprising:
-
comparing an address received in a jth read operation to an address corresponding to a write data word stored in the control circuit, the write data word having at least two bytes; and
outputting a read data word from the memory system corresponding to the address received in the jth read operation, the read data word having at least two bytes, each byte corresponding to a byte of the write data word, wherein the read data word is read from the memory when the address received in the jth read operation does not match the address corresponding to data stored in the control circuit and, if the address received in the read operation does match the address corresponding to data stored in the central circuit, the read data word consists of those bytes stored in the control circuit which are to be written into the memory as determined by the control signals and bytes from the memory if the corresponding bytes of the write data word stored in the control circuit are not to be written into the memory.
-
-
4. A method for accessing a synchronous random access memory, comprising:
-
in a read operation, receiving a memory address in an nth clock cycle and outputting in an (n+d)th clock cycle data stored in the synchronous random access memory corresponding to the memory address received in the nth clock cycle, the data having at least two bytes which may be separately stored in the synchronous random access memory; and
in a write operation, receiving in a kth clock cycle a memory address to which data is to be written, the data having at least two bytes, receiving in a kth clock cycle at least two control signals which control individually whether the bytes of the data are to be written, and receiving in a (k+d)th clock cycle data to be stored in the synchronous random access memory at the memory address received in the kth clock cycle, wherein the nth clock cycle can be a clock cycle immediately following the kth clock cycle with no clock cycles intervening between the nth clock cycle and the kth clock cycle, and wherein d is a selected integer. - View Dependent Claims (5, 6, 7)
-
-
8. A synchronous random access memory system, comprising:
-
in a read operation, means for receiving a memory address in an nth clock cycle and outputting in an (n+d)th clock cycle data stored in the synchronous random access memory system corresponding to the memory address received in the nth clock cycle, the data being comprised of at least two bytes which may be stored in separate areas of the memory system; and
in a write operation, means for receiving a memory address and at least two control signals in a kth clock cycle and for receiving in a (k+d)th clock cycle data to be stored in the synchronous random access memory system at the address received in the kth clock cycle, the data having at least two bytes which are separately written in response to the at least two control signals received in the kth clock cycle, wherein d equals any one of 1, 2, 3, 4, . . . N, where N is a selected integer. - View Dependent Claims (9, 10)
-
-
11. A memory system, comprising:
-
a memory;
an address array coupled to the memory;
a data array coupled to the memory, the data array storing data words having at least two bytes;
a control array coupled to the memory, the control array storing control signals indicating which of the at least two bytes of the data words are to be written into the memory; and
a control logic coupled to the memory, the address array, the data array and the control array, wherein in a write operation, write data is presented to the address array p clock cycles after a write address corresponding to the write data is presented to the address array and control signals indicating which bytes of the write data are to be written into the memory are presented to the control array, where p is a selected integer;
in a read operation, read data is presented by the memory system p clock cycles after the read address corresponding to the read data is presented to the address array, the read data comprising bytes of data read from the data array or read from the memory depending on the control signals. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A synchronous random access memory system, comprising:
-
a memory having an address port, a data-in port, a data-out port and a control port;
an address storage array having an input port, the input port being coupled to receive addresses, the address storage array being capable of storing at least two addresses;
a data storage array having an input port coupled to a data I/O port, the input port being coupled to receive input data, the data storage array being capable of storing at least one data to be written into the memory at a corresponding one of the at least two addresses stored in the address storage array;
a control storage array having an input port, the input port being coupled to receive control signals, the control storage array being capable of storing at least one set of control signals corresponding to the at least two addresses of the address storage array, the at least one set of control signals including byte write control signals that control which bytes of the at least one data are to be written into the memory;
a logic circuit coupled to the address port of the memory, the control port of the memory, the data-in port of the memory, the data-out port of the memory, the address storage array, the data storage array, the control storage array, and the data I/O port, the logic circuit controlling the writing of data into the memory and the reading of data from the memory system in response to the at least one set of control signals; and
wherein in double pipeline operation data to be written to the memory or data to be read from the memory system is presented to the data I/O port two clock cycles following the clock cycle in which the address is presented to the address terminal and in single pipeline operation data to be written to the memory or data to be read from the memory system is presented to the data I/O port one clock cycle following the clock cycle in which the address is presented to the input port of the address storage array. - View Dependent Claims (17)
-
Specification