Electrical computers and digital processing systems: memory – Storage accessing and control – Shared memory area
Reexamination Certificate
1998-06-17
2002-06-04
Yoo, Do Hyun (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Shared memory area
C711S141000, C711S149000, C710S240000
Reexamination Certificate
active
06401176
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to the shared usage of synchronous memory by a plurality of agents, i.e., processors.
2. Background of Related Art
With the ever-increasing speeds of today's processors, memory designs have attempted to meet the required speed requirements. For instance, synchronous memory such as static random access memory (SRAM) and dynamic random access memory (DRAM) are commonly available synchronous types of memory.
Synchronous memory technology is currently used in a wide variety of applications to close the gap between the needs of high-speed processors and the access time of asynchronous memory such as dynamic random access memory (DRAM). Synchronous memory, e.g., SDRAM technology, combines industry advances in fast dynamic random access memory (DRAM) with a high-speed interface.
Functionally, an SDRAM resembles a conventional DRAM, i.e., it is dynamic and must be refreshed. However, the SDRAM architecture has improvements over standard DRAM. For instance, an SDRAM uses internal pipelining to improve throughput and on-chip interleaving between separate memory banks to eliminate gaps in output data.
The idea of using a SDRAM synchronously (as opposed to using a DRAM asynchronously) emerged in light of increasing data transfer demands of high-end processors. SDRAM circuit designs are based on state machine operation instead of being level/pulse width driven as in conventional asynchronous memory devices. In addition, synchronous memory access techniques improve the margin to system noise because inputs are not level driven. Instead, the inputs are latched by the system clock. Since all timing is based on the same synchronous clock, designers can achieve better specification margins. Moreover, since the SDRAM access is programmable, designers can improve bus utilization because the processor can be synchronized to the SDRAM output.
The core of an SDRAM device is a standard DRAM with the important addition of synchronous control logic. By synchronizing all address, data and control signals with a single clock signal, SDRAM technology enhances performance, simplifies design and provides faster data transfer.
Similar advantages hold for other types of synchronous memory, e.g., synchronous SRAM (SSRAM) or even synchronous read only memory (ROM).
Synchronous memory requires a clock signal from the accessing agent to allow fully synchronous operation with respect to the accessing agent. If more than one agent is given access to a shared synchronous memory, each agent must conventionally supply its own clock signal to the synchronous memory. Unfortunately, the clock signals from separate agents are not conventionally synchronous or in phase with one another. Therefore, as the synchronous memory shifts from the use of one clock signal to another, delays or wait states must be added before the new agent's clock signal can be used to access the synchronous memory. Moreover, arbitration schemes between a plurality of agents for conventional memory systems evidences that the performance of one agent may suffer more than another agent sharing the same memory, particularly if the memory accesses are disproportionately distributed among the accessing agents.
Some synchronous memory devices have the capability to provide burst input/output (I/O), particularly for the optimization of cache memory fills at the system frequency. Advanced features such as programmable burst mode and burst length improve memory system performance and flexibility in conventional synchronous memories, and eliminate the need to insert wait states, e.g., dormant clock cycles, between individual accesses in the burst.
Conventional SDRAM devices include independent, fixed memory sections that can be accessed individually or in an interleaved fashion. For instance, two independent banks in an SDRAM device allow that device to have two different rows active at the same time. This means that data can be read from or written to one bank while the other bank is being precharged. The setup normally associated with precharging and activating a row can be hidden by interleaving the bank accesses.
FIG. 11
shows a conventional synchronous memory system having only one agent
100
and a synchronous memory, e.g., SDRAM
502
. The single agent
100
communicates with the synchronous memory using appropriate address, data and control buses (ADC)
506
, and one or more clock signals
504
. Because the synchronous memory
502
has only the single accessing agent
100
, the synchronous memory
302
need only contend with access from a single source.
Conventional processing systems utilizing a plurality of agents have separate memory for each agent. However, depending upon the particular application, it is likely that all memory will not be used by all agents, and thus wasted memory resources may result in each of the separate memories.
There is thus a need for synchronous memory systems which allow efficient use of synchronous memory resources by a plurality of agents.
SUMMARY OF THE INVENTION
In accordance with the principles of the present invention, a memory system comprises a multi-port shared synchronous memory, an arbiter, and a plurality of agents adapted to access the multi-port shared synchronous memory under the control of the arbiter.
A method of arbitrating a plurality of agents for access to a shared synchronous memory in accordance with the principles of the present invention comprises submitting a first memory access request signal based a first clock frequency to an arbiter. A second memory access request signal based on a second clock frequency is submitted substantially simultaneously to the arbiter. One of the first and second memory access request signals are selected for access to the shared synchronous memory. A memory access request signal of a currently owning agent having access to the shared synchronous memory is monitored, and the selected one of the first and second memory access request signals is allowed to access the shared synchronous memory.
REFERENCES:
patent: 4449183 (1984-05-01), Flahive et al.
patent: 4780812 (1988-10-01), Freestone et al.
patent: 5408627 (1995-04-01), Stirk et al.
patent: 5495190 (1996-02-01), Abe et al.
patent: 5515523 (1996-05-01), Kalkunte et al.
patent: 5557783 (1996-09-01), Oktay et al.
patent: 5612923 (1997-03-01), Gibson et al.
patent: 5671393 (1997-09-01), Yamaki et al.
patent: 5737569 (1998-04-01), Nadir et al.
patent: 5784582 (1998-07-01), Hughes
patent: 5790609 (1998-08-01), Swoboda
patent: 5822768 (1998-10-01), Shakkarwar
patent: 5999197 (1999-12-01), Satoh et al.
patent: 6032232 (2000-02-01), Lindeborg et al.
Fadavi-Ardekani Jalil
Soto Walter G.
Bollman William H.
Moazzami Nasser
Yoo Do Hyun
LandOfFree
Multiple agent use of a multi-ported shared memory does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Multiple agent use of a multi-ported shared memory, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multiple agent use of a multi-ported shared memory will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2961771