Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique
Reexamination Certificate
1999-08-20
2003-09-30
Kim, Hong (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Control technique
C711S151000, C711S105000, C711S163000, C710S240000, C710S244000, C710S220000
Reexamination Certificate
active
06629220
ABSTRACT:
BACKGROUND
1. Field
An embodiment of the present invention relates to the field of managing memory transactions, and more specifically, to dynamic arbitration of memory access requests based on a high priority transaction type.
2. Discussion of Related Art
Certain types of memory-related transactions require low latency access to system resources for proper operation of associated devices.
For example, a Universal Serial Bus (USB) provides a low cost attachment approach for video cameras, printers and other types of devices. Cost is reduced as compared to prior peripheral buses because USB data is moved at relatively regular intervals reducing the need for buffering. If USB data is not stored or read from memory at the expected interval(s), however, data may be dropped and, as a result, the quality of the corresponding peripheral device input or output data may be compromised. Because of the regular intervals at which they are to be serviced, USB transactions are referred to as isochronous transactions.
In multi-port, concurrent and deeply pipelined systems, such isochronous transactions (USB transactions are just one example) can encounter significant delay due to static arbitration. Static arbitration uses timeslicing, or another similar approach, to alternately process transactions from multiple transaction queues or pipes in a predictable manner. Static arbitration can cause unacceptable delays in processing of isochronous or other real-time transactions. This is because there may be several asynchronous transactions ahead of the isochronous transaction(s) in the transaction queue(s). Further, there may be multiple arbitration points for the transactions to traverse, each of which may favor a prior asynchronous transaction.
For some systems, to partially address this issue for accelerated graphics port (AGP) data specifically, there is an AGP expedite instruction. The AGP expedite instruction causes an arbiter near the AGP to choose to process only AGP-related instructions. In this manner, AGP-related transactions can be prioritized over other types of transactions such that the quality of the output from, or input to, AGP devices is maintained at an acceptable level.
This approach has a drawback, however, in that, through use of the AGP expedite instruction, AGP-related transactions can dominate the system to the exclusion of other types of transactions. In this manner, using the AGP expedite instruction may result in some non-AGP components being starved of data. Further, the AGP expedite instruction only moves similar types of cycles (i.e. only similar types of graphics instructions). For systems that execute other types of high priority transactions, such as real-time or isochronous transactions, the AGP expedite instruction may not be helpful.
SUMMARY OF THE INVENTION
A method and apparatus for dynamic arbitration based on a high priority transaction type are described.
In accordance with one embodiment, a method for arbitrating memory access requests includes receiving a first memory access request at a first request queue and dynamically raising the priority of the first request queue over a second request queue if the first memory access request is of a first type. When requests of the first type in the first request queue, up to a maximum predetermined number of requests, have been serviced, the priority of the second request queue is dynamically raised over that of the first request queue.
Other features and advantages of the present invention will be appreciated from the accompanying drawings and from the detailed description that follows below.
REFERENCES:
patent: 5506972 (1996-04-01), Heath et al.
patent: 5560016 (1996-09-01), Fiebrich et al.
patent: 5619661 (1997-04-01), Crews et al.
patent: 5623672 (1997-04-01), Popat
patent: 5740383 (1998-04-01), Nally et al.
patent: 5742847 (1998-04-01), Knoll et al.
patent: 5745732 (1998-04-01), Cherukuri et al.
patent: 5754800 (1998-05-01), Lentz et al.
patent: 5758105 (1998-05-01), Kelley et al.
patent: 5778200 (1998-07-01), Gulick
patent: 5802571 (1998-09-01), Konigsburg et al.
patent: 5805840 (1998-09-01), Dutton
patent: 5884051 (1999-03-01), Schaffer et al.
patent: 5933611 (1999-08-01), Shakkarwar
patent: 5948081 (1999-09-01), Foster
patent: 6092158 (2000-07-01), Harriman et al.
patent: 6105094 (2000-08-01), Lindeman
patent: 6119190 (2000-09-01), Garney
patent: 6122676 (2000-09-01), Brief et al.
patent: 6134625 (2000-10-01), Abramson
patent: 6148357 (2000-11-01), Gulick et al.
patent: 6173378 (2001-01-01), Rozario et al.
patent: 6266702 (2001-07-01), Darnell et al.
patent: 6279087 (2001-08-01), Melo et al.
patent: 6286083 (2001-09-01), Chin et al.
patent: 6330646 (2001-12-01), Clohset et al.
patent: 6345345 (2002-02-01), Yu et al.
patent: 6351783 (2002-02-01), Garney et al.
patent: 6385671 (2002-05-01), Hunsaker et al.
patent: 6421751 (2002-07-01), Gulick
Andrew S. Tanenbaum, “Modern Operating Systems”, Prentice Hall, Inc, pp. 61-71, 1992.
Faatz Cynthia T.
Intel Corporation
Kim Hong
LandOfFree
Method and apparatus for dynamic arbitration between a first... 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 dynamic arbitration between a first..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for dynamic arbitration between a first... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3084627