IP Library Granted Patent US 7,464,229
Granted Patent B1
US 7,464,229 · App. 11/031,367 · Granted Dec 9, 2008

Serial-write, random-access read, memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,464,229
App. No.
11/031,367
Granted
Dec 9, 2008
Kind
B1
Abstract

A serial-write, random-access read, memory addresses applications where the data in the memory may change more frequently than would make a PROM suitable, but that changes much less frequently than would require a RAM. This enables the circuit designer to optimize the memory for fast reads, and enables reads to be pipelined. One embodiment of the present invention provides a system that facilitates a serial-write, random-access read, memory. The system includes a plurality of memory cells and a serial access mechanism for writing data into the plurality of memory cells. The system also includes a parallel random-access mechanism for reading data from the plurality of memory cells.

Claims (42)

1. An apparatus that provides serial-write, random-access read, memory, comprising:

a plurality of memory cells;

a serial-write data path that serially couples the plurality of memory cells, wherein the serial-write data path enables writing data serially into the plurality of memory cells;

wherein the set of memory bits that form the plurality of memory cells are connected in a single serial chain of memory bits;

wherein writing a data word to the plurality of memory cells involves directly shifting the values for the bits of the data word into a first memory cell in the plurality of memory cells, where the first memory cell comprises a serial set of bits at the head of the single serial chain of memory bits;

wherein writing a bit value to the head of the single serial chain shifts the values stored in all of the memory cells; and

a parallel random-access read data path for reading data from the plurality of memory cells in parallel during a random-access read, wherein the random-access read involves selecting and returning the content of an individual memory cell in the plurality of memory cells;

wherein a random-access read data output port receives the content of the individual memory cell from the individual memory cell during the random-access read.

2. The apparatus of claim 1 , further comprising a plurality of shadow latches incorporated in the plurality of memory cells, wherein the plurality of shadow latches prevent an output from the plurality of memory cells from changing until a new set of data has been provided for the plurality of memory cells by the serial-write data path and a write signal has been applied that writes the data into the plurality of shadow latches.

3. The apparatus of claim 1 , wherein data is shifted into the serial-write data path using a synchronous clock signal.

4. The apparatus of claim 1 , wherein data is shifted into the serial-write data path using an asynchronous control mechanism.

5. The apparatus of claim 4 , wherein the asynchronous control mechanism is a GasP control mechanism.

6. The apparatus of claim 1 , further comprising a balanced multiplexer for reading the plurality of memory cells, wherein the balanced multiplexer provides substantially equal delay for each data path.

7. The apparatus of claim 1 , further comprising a plurality of multiplexers configured to provide a uniform load on address wires used to select a memory cell of the plurality of memory cells.

8. The apparatus of claim 7 , wherein the plurality of multiplexers is arranged so that the read address decoding is pipelined, wherein the pipeline is a clocked pipeline.

9. The apparatus of claim 7 , wherein the plurality of multiplexers is arranged so that the read address decoding is pipelined, wherein the pipeline is operated with asynchronous control.

10. A method to facilitate serial-write, random-access read, memory, comprising:

writing data to a plurality of memory cells through a serial-write data path that serially couples the memory cells in the plurality of memory cells;

wherein the set of memory bits that form the plurality of memory cells are connected in a single serial chain of memory bits;

wherein writing a data word to the plurality of memory cells involves directly shifting the values for the bits of the data word into a first memory cell in the plurality of memory cells, where the first memory cell comprises a serial set of bits at the head of the single serial chain of memory bits;

wherein writing a bit value to the head of the single serial chain shifts the values stored in all of the memory cells;

reading data from the plurality of memory cells in parallel through a parallel random-access read data path during a random-access read, wherein the random-access read involves selecting and returning the content of an individual memory cell in the plurality of memory cells; and

receiving the content of the individual memory cell at a random-access read data output port from the individual memory cell during the random-access read.

11. The method of claim 10 , wherein writing data to the plurality of memory cells involves writing data to a plurality of shadow latches incorporated in the plurality of memory cells, wherein the plurality of shadow latches prevent an output from the plurality of memory cells from changing until a new set of data has been provided for the plurality of memory cells by the serial-write data path and a write signal has been applied that writes the data into the plurality of shadow latches.

12. The method of claim 10 , further comprising shifting data into the serial-write data path using a synchronous clock signal.

13. The method of claim 10 , further comprising shifting data into the serial-write data path using an asynchronous control.

14. The method of claim 13 , wherein the asynchronous control mechanism is a GasP control mechanism.

15. The method of claim 10 , further comprising reading the plurality of memory cells using a balanced multiplexer that is configured to read the plurality of memory cells, wherein the balanced multiplexer provides substantially equal delay for each data path.

16. The method of claim 10 , further comprising reading the plurality of memory cells using a plurality of multiplexers to provide a uniform load on address wires used to select a memory cell of the plurality of memory cells.

17. The method of claim 16 , wherein the plurality of multiplexers is arranged so that the read address decoding is pipelined, wherein the pipeline is a clocked pipeline.

18. The method of claim 16 , wherein the plurality of multiplexers is arranged so that the read address decoding is pipelined, wherein the pipeline is operated with asynchronous control.

19. A computer system to facilitate serial-write, random-access read, memory, comprising:

a central processing unit;

a memory manager coupled to the central processing unit;

a plurality of memory cells;

a serial-write data path that serially couples the plurality of memory cells, wherein the serial-write data path enables writing data serially into the plurality of memory cells under control of the memory manager;

wherein the set of memory bits that form the plurality of memory cells are connected in a single serial chain of memory bits;

wherein writing a data word to the plurality of memory cells involves directly shifting the values for the bits of the data word into a first memory cell in the plurality of memory cells, where the first memory cell comprises a serial set of bits at the head of the single serial chain of memory bits;

wherein writing a bit value to the head of the single serial chain shifts the values stored in all of the memory cells; and

a parallel random-access read data path for reading data from the plurality of memory cells in parallel during a random-access read under control of the memory manager, wherein the random-access read involves selecting and returning the content of an individual memory cell in the plurality of memory cells;

wherein a random-access read data output port receives the content of the individual memory cell from the individual memory cell during the random-access read.

20. The computer system of claim 19 , further comprising a plurality of shadow latches incorporated in the plurality of memory cells, wherein the plurality of shadow latches prevent an output from the plurality of memory cells from changing until a new set of data has been provided for the plurality of memory cells by the serial-write data path and a write signal has been applied that writes the data into the plurality of shadow latches.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2005
From: JONES, IAN W.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 016163/0988 →