Direct memory access transmission control method and apparatus

US10120820B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10120820-B2
Application numberUS-201715797605-A
CountryUS
Kind codeB2
Filing dateOct 30, 2017
Priority dateJun 29, 2015
Publication dateNov 6, 2018
Grant dateNov 6, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A direct memory access (DMA) transmission control method and apparatus, where the method includes selecting a target channel for the target DMA task according to a priority corresponding to the target DMA task when a DMA transmission request for transmitting data of a target DMA task is received, querying a task type and a priority of another DMA task that has occupied a channel and a task type of the target DMA task when the other DMA task exists on the DMA channel, comparing the task type and the priority of the other DMA task that has occupied the channel with the task type and the priority of the target DMA task, and controlling data transmission on the DMA channel according to a comparison result. Hence, the urgent DMA task can be preferentially processed.

First claim

Opening claim text (preview).

What is claimed is: 1. A direct memory access (DMA) transmission control method, applied to a DMA transmission control apparatus to control data transmission on a DMA channel, data transmitted on the DMA channel comprising data transmitted between an external device and a memory, and the method comprising: receiving a DMA transmission request carrying a target DMA task; querying a priority of the target DMA task, the priority of the target DMA task being based on an amount of to-be-transmitted data, a lower priority being set for the target DMA task when the target DMA task comprises a smaller amount of to-be-transmitted data, and a higher priority being set for the target DMA task when the target DMA task comprises a larger amount of to-be-transmitted data; selecting, from a DMA channel block according to the priority of the target DMA task, a DMA channel corresponding to the priority of the target DMA task as a target channel; querying a task type of a DMA task that has occupied the DMA channel and a task type of the target DMA task when the DMA channel that has been occupied by the DMA task exists in the DMA channel block; querying a priority of a DMA task whose task type is different from that of the target DMA task when the DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the DMA channel; and suspending data transmission of a DMA task whose priority is lower than that of the target DMA task, obtaining target data of the target DMA task, inputting the target data using an input queue of the target channel, and outputting the target data using an output queue of an occupied channel corresponding to the DMA task whose priority is lower than that of the target DMA task when the DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task. 2. The method of claim 1 , wherein before receiving the DMA transmission request, the method further comprises pre-storing a DMA task priority list and a mapping relationship table between a DMA task priority and a DMA channel, and querying the priority of the target DMA task and selecting the target channel comprising: querying the priority of the target DMA task in the DMA task priority list; querying, in the mapping relationship table, the DMA channel corresponding to the priority of the target DMA task; and setting the DMA channel corresponding to the priority of the target DMA task as the target channel. 3. The method of claim 1 , wherein when no DMA channel that has been occupied by the DMA task exists in the DMA channel block, the method further comprises: obtaining the target data corresponding to the target DMA task; inputting the target data using the input queue of the target channel; and outputting the target data using an output queue of the target channel. 4. The method of claim 1 , wherein when no DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the DMA channel, the method further comprises: obtaining the target data corresponding to the target DMA task; inputting the target data using the input queue of the target channel; and outputting the target data using an output queue of the target channel. 5. The method of claim 1 , wherein when no DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task, the method further comprises: obtaining the target data corresponding to the target DMA task; inputting the target data using the input queue of the target channel; and outputting the target data using an output queue of the target channel. 6. A direct memory access (DMA) transmission control method, applied to a DMA transmission control apparatus to control data transmission on a DMA channel, data transmitted on the DMA channel comprising data transmitted between an external device and a memory, and the method comprising: receiving a DMA transmission request carrying a target DMA task; querying a priority of the target DMA task, the priority of the target DMA task being based on an amount of to-be-transmitted data, a lower priority being set for the target DMA task when the target DMA task comprises a smaller amount of to-be-transmitted data, and a higher priority being set for the target DMA task when the target DMA task comprises a larger amount of to-be-transmitted data; selecting, from a DMA channel block according to the priority of the target DMA task, a DMA channel corresponding to the priority of the target DMA task as a target channel; querying a priority of a DMA task that has occupied the DMA channel when the DMA channel that has been occupied by the DMA task exists in the DMA channel block; and suspending data transmission of a DMA task whose priority is lower than that of the target DMA task, obtaining target data of the target DMA task, inputting the target data using an input queue of the target channel, and outputting the target data using an output queue of an occupied channel corresponding to the DMA task whose priority is lower than that of the target DMA task when the DMA task whose priority is lower than that of the target DMA task exists in the DMA task that has occupied the DMA channel. 7. The method of claim 6 , wherein before receiving the DMA transmission request, the method further comprises pre-storing a DMA task priority list and a mapping relationship table between a DMA task priority and a DMA channel, and querying the priority of the target DMA task and selecting the target channel comprises: querying the priority of the target DMA task in the DMA task priority list; querying, in the mapping relationship table, the DMA channel corresponding to the priority of the target DMA task; and setting the DMA channel corresponding to the priority of the target DMA task as the target channel. 8. A direct memory access (DMA) transmission control apparatus to control data transmission on a DMA channel, data transmitted on the DMA channel comprising data transmitted between an external device and a memory, and the apparatus comprising: a receiver configured to receive a DMA transmission request carrying a target DMA task; a processor coupled to the receiver and configured to: query a priority of the target DMA task, the priority of the target DMA task being based on an amount of to-be-transmitted data, a lower priority being set for the target DMA task when the target DMA task comprises a smaller amount of to-be-transmitted data, and a higher priority being set for the target DMA task when the tart DMA task comprises a larger amount of to-be-transmitted data; select, from a DMA channel block according to the priority of the target DMA task, a DMA channel corresponding to the priority of the target DMA task as a target channel; query a task type of a DMA task that has occupied the DMA channel and a task type of the target DMA task when the DMA channel that has been occupied by the DMA task exists in the DMA channel block; query a priority of a DMA task whose task type is different from that of the target DMA task when the DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the DMA channel; suspend data transmission of a DMA task whose priority is lower than that of the target DMA task when the DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task; and a transmitter coupled to the processor and configured to: obtain target data of the target DMA task; input the target data using an input queue of t

Assignees

Inventors

Classifications

  • G06F13/28Primary

    using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • based on priority control (G06F13/1605 takes precedence) · CPC title

  • considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title

  • Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders {(with shifting G06F5/01)} · CPC title

  • Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10120820B2 cover?
A direct memory access (DMA) transmission control method and apparatus, where the method includes selecting a target channel for the target DMA task according to a priority corresponding to the target DMA task when a DMA transmission request for transmitting data of a target DMA task is received, querying a task type and a priority of another DMA task that has occupied a channel and a task type…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/28. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 06 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).