DRAM arbiter for video decoder
First Claim
1. Apparatus for controlling access to a memory via a memory interface by a plurality of client processes, comprising:
- an arbiter for providing access opportunities to said memory by said client processes in a predetermined client process sequence for data transfer between the memory and the client processes; and
a controller for addressing said memory according to the client process which is currently provided access;
wherein;
the client processes are granted access opportunities to said memory for a predetermined number of access periods; and
access to the memory is granted to a current client process that requests access for up to the predetermined number of access periods, but access to the memory is terminated before the predetermined number of access periods have elapsed if the current client process no longer requires access to said memory, and is granted instead to the client process requesting access which follows the current client process in the client process sequence for at least a portion of a remainder of the predetermined number of access periods.
5 Assignments
0 Petitions
Accused Products
Abstract
A memory control and management system efficiently multiplexes access to a dynamic random access memory (DRAM) among several client processes in an MPEG or similar digital television delivery system or the like. These processes can include, for example, an on-screen display (OSD) graphics processor, a microprocessor interface, graphics accelerator functions, and audio and data processors. An arbiter receives packetized data from an MPEG transport layer for distribution to an associated DRAM. The arbiter sequentially time-multiplexes access to the DRAM by the client processes according to priority criteria, including the bandwidth requirements of the client processes, and whether a client process is requesting access. Access is granted for a predetermined period as long as the client is requesting access. Access can be terminated early if the client no longer requests access, or if a new row in the DRAM must be addressed, and the re-addressing period will consume the remainder of the available data transfer cycles in the access period. The invention is particularly applicable to a digital video decoder where an on-screen display graphics processor consumes a large portion of the DRAM interface bandwidth.
135 Citations
19 Claims
-
1. Apparatus for controlling access to a memory via a memory interface by a plurality of client processes, comprising:
-
an arbiter for providing access opportunities to said memory by said client processes in a predetermined client process sequence for data transfer between the memory and the client processes; and a controller for addressing said memory according to the client process which is currently provided access;
wherein;the client processes are granted access opportunities to said memory for a predetermined number of access periods; and access to the memory is granted to a current client process that requests access for up to the predetermined number of access periods, but access to the memory is terminated before the predetermined number of access periods have elapsed if the current client process no longer requires access to said memory, and is granted instead to the client process requesting access which follows the current client process in the client process sequence for at least a portion of a remainder of the predetermined number of access periods. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory arbiter for selectively providing access to a memory by a plurality of client processors in a digital television system, wherein:
-
said client processors include a packet processor, microprocessor interface, and an on-screen display (OSD) graphics processor; said arbiter provides said access in accordance with predetermined bandwidths which are assigned to each of said client processors by servicing said client processors in a client processor sequence and at a relative frequency determined by said predetermined bandwidths; the client processors are granted access opportunities to said memory for a predetermined number of access periods according to the assigned predetermined bandwidths; and access to the memory is granted to a current client processor that requests access for up to the predetermined number of access periods, but access to the memory is terminated before the predetermined number of access periods have elapsed if the current client processor no longer requires access to said memory, and is granted instead to the client processor requesting access which follows the current client process in the client process sequence for at least a portion of a remainder of the predetermined number of access periods. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for controlling access to a memory via a memory interface by a plurality of client processes, comprising the steps of:
-
defining access opportunities for each of said client processes to access said memory over a predetermined number of access periods; and granting access to the memory to a current client process that requests access for up to the predetermined number of access periods, but terminating access to the memory before the predetermined number of access periods have elapsed if the current client process no longer requires access to said memory, and instead granting access to the client process requesting access which follows the current client process in the client process sequence for at least a portion of a remainder of the predetermined number of access periods. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification