IP Library › Granted Patent US 9,372,817
Granted Patent B2
US 9,372,817 · App. 14/330,553 · Granted Jun 21, 2016

High perfomance DMA controller for video processors

Inventor: Niraj Nandan (Bangalore, IN)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F13/28
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,372,817
App. No.
14/330,553
Granted
Jun 21, 2016
Kind
B2
Abstract

This invention for a VDMA will enable ultra HD resolution (4K) encode/decode at 30 frames per second. This invention maximizes interconnect/DDR utilization and reduces CPU intervention using virtual alignment, sub-tile optimization, transaction breakdown strategy, 4D indexing, a dedicated interface with the host and frame padding. The VDMA has separate buffers for non-determinative synchronous data transfers and determinative asynchronous data transfers.

Claims (42)

1. A direct memory access unit comprising:

a descriptor interface operable to receive data processor transfer parameters corresponding to desired data transfers;

a descriptor first-in-first-out memory having an input connected to said descriptor interface for receiving and storing said data processor transfer parameters and having an output;

a plurality of context units operable to receive said data processor transfer parameters and control data transfer operations in accordance with said data processor transfer parameters;

a breakdown and dispatch unit connected to said output of said descriptor first-in-first-out memory and to each of said plurality of context units, said breakdown and dispatch unit operable to receive said data processor transfer parameters from said descriptor first-in-first-out memory, to dispatch said data processor transfer parameters to one of said plurality of context units for control of data transfer operations; and

at least one memory interface connected to each of said plurality of context units and to at least one memory for transfer of data in accordance with said data processor transfer parameters under control of one of said context units; and

wherein each of said context units is operable to provide virtual alignment of data to be transferred with storage word boundaries of the at least one memory.

2. The direct memory access unit of claim 1 , wherein:

said breakdown and dispatch unit receives transfer descriptors from said descriptor first-in-first-out memory and generates corresponding smaller transfer requests as per system constraints.

3. The direct memory access unit of claim 1 , wherein:

said breakdown and dispatch unit receives transfer descriptors from said descriptor first-in-first-out memory and breaks down larger transfer requests into smaller transfer requests corresponding to source and destination types, tiled/raster storage of data and first and second dimensional nature of requested data and provides virtual alignment by passing on sideband attributes to context units.

4. The direct memory access unit of claim 1 , wherein:

data subject to transfer stored in the memory consists of a plurality of bits for each pixel of a frame of picture data; and

each of said context units includes a storage buffer storing data in transit in a packed fashion.

5. The direct memory access unit of claim 1 , wherein:

data subject to transfer stored in the memory consists of a plurality objects each consisting of plural pixels disposed in rectangular arrays;

each of said context units transfers said plurality of objects by transferring pixels of said rectangular array in height and width for each object in a predetermined order including column increment between objects in a horizontal dimension and line increment between objects in a vertical dimension.

6. The direct memory access unit of claim 1 , wherein:

data subject to transfer stored in the memory consists of a plurality of bits for each pixel of a frame of picture data; and

each context unit allocates an area in the memory larger than the dimensions need to store a frame of picture data, whereby data transfers may exceed the area of memory allocated to said frame of picture data.

7. A direct memory access unit comprising:

a non-determinative descriptor interface operable to receive data processor transfer parameters corresponding to desired data transfers;

a non-determinative descriptor first-in-first-out memory having an input connected to said non-determinate descriptor interface for receiving and storing said data processor transfer parameters for synchronous data transfers and having an output;

a determinative descriptor interface operable to receive data processor transfer parameters corresponding to desired data transfers;

a determinative descriptor memory having an input connected to said determinate descriptor interface for receiving and storing said data processor transfer parameters for asynchronous data transfers and having an output;

a synchronous transfer queue storing synchronous transfer descriptor;

an asynchronous transfer queue storing synchronous transfer descriptor;

a descriptor manager connected to said non-determinative descriptor first-in-first-out memory, said determinative descriptor memory, said synchronous transfer queue and said asynchronous transfer queue, said descriptor manager transferring synchronous transfer descriptors from said non-determinative descriptor first-in-first-out memory and said determinative descriptor memory to said synchronous transfer queue and transferring asynchronous transfer descriptors from said non-determinative descriptor first-in-first-out memory and said determinative descriptor memory to said asynchronous transfer queue;

a plurality of context units operable to receive said data processor transfer parameters and control data transfer operations in accordance with said data processor transfer parameters;

a synchronous breakdown and dispatch unit connected to said output of said synchronous transfer queue and to each of said plurality of context units, said synchronous breakdown and dispatch unit operable to receive said data processor transfer parameters from said synchronous transfer queue, to dispatch said data processor transfer parameters to one of said plurality of context units for control of data transfer operations; and

an asynchronous breakdown and dispatch unit connected to said output of said asynchronous transfer queue and to each of said plurality of context units, said asynchronous breakdown and dispatch unit operable to receive said data processor transfer parameters from said asynchronous transfer queue, to dispatch said data processor transfer parameters to one of said plurality of context units for control of data transfer operations; and

at least one memory interface connected to each of said plurality of context units and to at least one memory for transfer of data in accordance with said data processor transfer parameters under control of one of said context units; and

wherein each of said context units is operable to provide virtual alignment of data to be transferred with storage word boundaries of the at least one memory.

8. The direct memory access unit of claim 7 , wherein:

data subject to transfer stored in the memory consists of a plurality of bits for each pixel of a frame of picture data; and

each of said context units provides virtual alignment of data to be transferred with storage word boundaries of the at least one memory by organizing data to be transferred in sub-tiles of pixels.

9. The direct memory access unit of claim 7 , wherein:

data subject to transfer stored in the memory consists of a plurality objects each consisting of plural pixels disposed in rectangular arrays;

each of said context units transfers said plurality of objects by transferring pixels of said rectangular array in height and width for each object in a predetermined order including column increment between objects in a horizontal dimension and line increment between objects in a vertical dimension.

10. The direct memory access unit of claim 7 , wherein:

data subject to transfer stored in the memory consists of a plurality of bits for each pixel of a frame of picture data; and

each context unit allocates an area in the memory larger than the dimensions need to store a frame of picture data, whereby data transfers may exceed the area of memory allocated to said frame of picture data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2014
From: NANDAN, NIRAJ
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 033822/0221 →
Priority Claims (1)
IN 3128/CHE/2013 · Jul 12, 2013 · national
Continuity (1)
Related Publication 20150016499A1 · Jan 15, 2015