Method and apparatus for loading/storing multiple data...

Electrical computers and digital processing systems: memory – Storage accessing and control – Shared memory area

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S154000

Reexamination Certificate

active

06694410

ABSTRACT:

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable.
REFERENCE TO A MICROFICHE APPENDIX
Not Applicable.
BACKGROUND OF THE INVENTION
The present invention relates to shared memory units and more particularly to a system for managing access to a shared memory by a plurality of independent data access devices.
As their name implies, application specific integrated circuits, or ASICs, are essentially integrated circuits implemented on a chip designed for a specific use or application. ASICs are used for numerous applications. For instance, ASICs are used for machine-to-machine communications for the space shuttle, for DVD processing, for advanced digital signal processing, for trans-oceanic cables, etc. Such special purpose processors can be embedded in essentially any equipment to enhance and control its functions.
Typically an ASIC includes one or more core processors, including digital signal processors (DSPs), memory and other functional devices on a single semiconductor chip. Having the devices on the same chip allows data to be easily and quickly transferred between the various devices on the chip. The memory used in ASICs may be shared memory, which allows the various core processors and other devices to work with the same sets of data or transfer data by writing and reading from the same memory addresses.
While the use of shared memory has a number of advantages, it may also slow down the overall system operation. Standard memory and bus protocols require that each device reading from or writing to a memory, i.e. masters, must request a transaction and then wait until the memory, i.e. the slave, has completed the transaction before requesting another transaction. In shared memory, this can cause delays because the memory can process only one request at a time and other devices may have priority. For example, if a digital signal processor (DSP) is one of the devices using the shared memory, it may be given the highest priority for access to the memory. For a single master accessing shared memory through a dedicated port, the memory may be provided with a request queue which allows the master to proceed with other operations while its memory transaction requests are pending in the queue.
Since there are a limited number of access ports for a shared memory unit, multiple cores, DSPs, and other independent access devices may need to share a single memory port. In this case, use of a queue causes a problem, because transaction requests from more than one master will be placed in the queue in the order in which received. However, when each transaction is completed there is no way for the multiple masters to know which one requested the transaction and should, for example, read the data being provided by the memory. If a queue is not used, then not only must the requesting master wait for completion of its request, but other master requests cannot be made until the pending transaction is completed.
It would be desirable to be able to use an input queue in a shared memory port and also allow multiple devices to share the same input port.
BRIEF SUMMARY OF THE INVENTION
In accordance with the present invention, a system is provided for receiving memory transaction requests from a plurality of masters, coupling the requests to a port of a shared memory having an input queue, identifying each request with the requesting device and identifying each memory response with the proper requesting device. The system includes a request controller for receiving requests from the plurality of masters and selectively forwarding the requests to the shared memory. It also includes a first-in-first-out memory for storing an identifier of the source of each request coupled to the shared memory and for providing source identifier information to route each memory response to the master which made the request corresponding to the response.


REFERENCES:
patent: 4682284 (1987-07-01), Schrofer
patent: 4829471 (1989-05-01), Banerjee et al.
patent: 5155816 (1992-10-01), Kohn
patent: 5715425 (1998-02-01), Goldman et al.
patent: 5835741 (1998-11-01), Elkhoury et al.
patent: 5949799 (1999-09-01), Grivna et al.
patent: 6058461 (2000-05-01), Lewchuk et al.
patent: 6173369 (2001-01-01), Nguyen et al.
patent: 6219769 (2001-04-01), Strongin et al.
patent: 6295586 (2001-09-01), Novak et al.
patent: 6311257 (2001-10-01), Fitzgerald et al.
patent: 6393531 (2002-05-01), Novak et al.
patent: 6393534 (2002-05-01), Chen et al.
patent: 6490661 (2002-12-01), Keller et al.
patent: 6532505 (2003-03-01), Stracovsky et al.
patent: 6546439 (2003-04-01), Strongin et al.
US2002/0078163A1—Author(s)—Thomas A. Gregg.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for loading/storing multiple data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for loading/storing multiple data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for loading/storing multiple data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3306357

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.