Memory access engine having multi-level command structure
First Claim
1. A direct memory access (DMA) system comprising:
- a memory element storing a plurality of DMA command lists, each comprising at least one DMA command;
a command queue adapted to hold a plurality of entries, each entry comprising a pointer field and a sequence field, the pointer field pointing to one of the DMA command lists, the sequence field holding a sequence value; and
a DMA engine adapted to access an entry in the command queue and to access the DMA commands of the DMA command list pointed to by the pointer field of the accessed entry, the DMA engine further adapted to perform DMA operations specified by the accessed DMA commands, the DMA engine further adapted to make available the sequence value held in the sequence field of the accessed entry when all of the DMA commands in the accessed command list have been performed.
3 Assignments
0 Petitions
Accused Products
Abstract
A direct memory access system utilizing a local memory that stores a plurality of DMA command lists, each comprising at least one DMA command. A command queue can hold a plurality of entries, each entry comprising a pointer field and a sequence field. The pointer field points to one of the DMA command lists. The sequence field holds a sequence value. A DMA engine accesses an entry in the command queue and then accesses the DMA commands of the DMA command list pointed to by the pointer field of the accessed entry. The DMA engine performs the DMA operations specified by the accessed DMA commands. The DMA engine makes available the sequence value held in the sequence field of the accessed entry when all of the DMA commands in the accessed command list have been performed. In one embodiment, the command queue is part of the DMA engine.
-
Citations
20 Claims
-
1. A direct memory access (DMA) system comprising:
-
a memory element storing a plurality of DMA command lists, each comprising at least one DMA command;
a command queue adapted to hold a plurality of entries, each entry comprising a pointer field and a sequence field, the pointer field pointing to one of the DMA command lists, the sequence field holding a sequence value; and
a DMA engine adapted to access an entry in the command queue and to access the DMA commands of the DMA command list pointed to by the pointer field of the accessed entry, the DMA engine further adapted to perform DMA operations specified by the accessed DMA commands, the DMA engine further adapted to make available the sequence value held in the sequence field of the accessed entry when all of the DMA commands in the accessed command list have been performed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of implementing direct memory access (DMA) comprising:
-
storing a plurality of DMA command lists, each comprising at least one DMA command;
maintaining a command queue adapted to hold a plurality of entries, each entry comprising a pointer field and a sequence field, the pointer field pointing to one of the DMA command lists, the sequence field holding a sequence value;
accessing an entry in the command queue;
accessing the DMA commands of the DMA command list pointed to by the pointer field of the accessed entry;
performing DMA operations specified by the accessed DMA commands; and
making available the sequence value held in the sequence field of the accessed entry when all of the DMA commands in the accessed command list have been performed. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A digital media processing system comprising:
-
a memory element storing a plurality of direct memory access (DMA) command lists, each comprising at least one DMA command;
a command queue adapted to hold a plurality of entries, each entry comprising a pointer field and a sequence field, the pointer field pointing to one of the DMA command lists, the sequence field holding a sequence value;
a media processor adapted to process digital media data elements and adapted to provide entries to the command queue in order to effect the performance of corresponding DMA operations, each entry corresponding to a specified media data element; and
a DMA engine adapted to access an entry in the command queue and to access the DMA commands of the DMA command list pointed to by the pointer field of the accessed entry, the DMA engine further adapted to perform DMA operations specified by the accessed DMA commands, the DMA engine further adapted to provide the sequence value held in the sequence field of the accessed entry to the media processor when all of the DMA commands in the accessed command list have been performed. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification