Scheduling of direct memory access

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S022000

Reexamination Certificate

active

06473780

ABSTRACT:

This invention relates to microprocessor systems, and more specifically, to an improved technique of scheduling direct memory access (“DMA”) in microprocessor systems.
BACKGROUND OF THE INVENTION
Direct memory access (“DMA”) is a technique utilized in microprocessor systems and often employed in real time embedded digital signal processing systems. DMA involves the transfer of information from one portion of memory to another in an efficient manner without reading such information through the Central Processing Unit (CPU) of the main microprocessor system. The use of DMA channels facilitates fast transfer of large amounts of information between portions of system memory without occupying large amounts of CPU overhead. Typically, DMA transfer occurs at a predetermined static priority level with respect to the execution of application software programs within the DSP. The application programs, also called “core jobs”, are typically given higher priority than the DMA jobs with respect to memory access.
Such prior art systems are sub-optimal because they fail to account for the fact that some DMA jobs may have higher priority than some core jobs. Additionally, the DMA jobs themselves may have different priorities with respect to each other and the priorities may be different from the chronological order in which the DMA jobs arrive. None of this is taken into account in present systems, and thus, there results an inability to use DMA channels to transfer data in hard real time systems without a degradation in system performance and reliability.
SUMMARY OF THE INVENTION
The above and other problems of the prior art are overcome in accordance with the present invention which relates to a technique of both individually prioritizing DMA jobs, as well as prioritizing DMA jobs with respect to core jobs. In this manner, DMA jobs may preempt lower priority DMA jobs and DMA jobs and core jobs may preempt each other. Such a system results in the highest priority task, be it core or DMA, being given access to memory at any given time.
In an enhanced embodiment, DMA priorities may be adjusted slightly higher or lower than a specific core job. Such core job could be, for example, the core job which spawned the DMA task. Such adjustment allows for the DMA job to run in the background while the core job which spawned the DMA job runs in the foreground or vice versa. Additionally, core jobs could be prioritized as 1, 3, 5, 7, etc., while DMA jobs are prioritized as 2, 4, 6, and 8. This provides a system where core jobs and DMA jobs may run in a foreground/background mode, either the core or the DMA job running in the foreground, and the other running in the background.
In another enhanced embodiment, a scheduler/arbitrator sequentially polls DMA job queues and core job queues, and executes jobs from each in accordance with a priority number assigned to the job. Each queue has its highest priority tasks at the top thereof, so that only a task with equal or higher priority from the other queue can preempt execution of such highest priority task.


REFERENCES:
patent: 4502117 (1985-02-01), Kihara
patent: 4716523 (1987-12-01), Burrus, Jr. et al.
patent: 4773000 (1988-09-01), Nissen
patent: 4811306 (1989-03-01), Boning et al.
patent: 4831523 (1989-05-01), Lewis et al.
patent: 4901234 (1990-02-01), Heath et al.
patent: 5119487 (1992-06-01), Taniai et al.
patent: 5212795 (1993-05-01), Hendry
patent: 5241661 (1993-08-01), Concilio et al.
patent: 5247671 (1993-09-01), Adkins et al.
patent: 5293388 (1994-03-01), Monroe et al.
patent: 5301287 (1994-04-01), Herrell et al.
patent: 5333274 (1994-07-01), Amini et al.
patent: 5530901 (1996-06-01), Nitta
patent: 5530902 (1996-06-01), McRoberts et al.
patent: 5535417 (1996-07-01), Baji et al.
patent: 5634076 (1997-05-01), Garde et al.
patent: 5659797 (1997-08-01), Zandveld et al.
patent: 5668815 (1997-09-01), Gittinger et al.
patent: 5668957 (1997-09-01), Davis et al.
patent: 5680401 (1997-10-01), Gayton et al.
patent: 5765024 (1998-06-01), Riley
patent: 5794072 (1998-08-01), Nomura et al.
patent: 5794073 (1998-08-01), Ramakrishnan et al.
patent: 5822618 (1998-10-01), Ecclesine
patent: 5826101 (1998-10-01), Beck et al.
patent: 5838993 (1998-11-01), Riley et al.
patent: 5857114 (1999-01-01), Kim
patent: 5875351 (1999-02-01), Riley
patent: 5878217 (1999-03-01), Cherukuri
patent: 5884050 (1999-03-01), Wheeler et al.
patent: 5968153 (1999-10-01), Wheeler et al.
patent: 5974479 (1999-10-01), Satoh
patent: 6081852 (2000-06-01), Baker
patent: 6108743 (2000-08-01), Debs et al.
patent: 6128676 (2000-10-01), Ohkubo
patent: 6192428 (2001-02-01), Abramson et al.
patent: 6230219 (2001-05-01), Fields, Jr. et al.
patent: 6298397 (2001-10-01), Maruyama
Silberschatz et al. “Operating System Concepts”, 1992, (pp. 97-128).

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

Scheduling of direct memory access does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Scheduling of direct memory access, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Scheduling of direct memory access will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2949744

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