IP Library Granted Patent US 9,697,153
Granted Patent B2
US 9,697,153 · App. 14/431,445 · Granted Jul 4, 2017

Data transmission method for improving DMA and data transmission efficiency based on priorities of at least two arbitration units for each DMA channel

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,697,153
App. No.
14/431,445
Granted
Jul 4, 2017
Kind
B2
Abstract

An embodiment of the disclosure relates to the field of data transmission, in particular to a data transmission method and a data transmission device, for solving the problems of low data transmission efficiency and poor Direct Memory Access (DMA) performance in a method of arbitrating each DMA channel in a round-robin mode and transmitting data according to an arbitration result. The method in the embodiment of the disclosure includes that: for each DMA channel, an arbitration unit corresponding to the channel among a plurality of arbitration units is determined according to transmission performance corresponding to data in the channel; and when data in channels corresponding to at least two arbitration units need to be transmitted, the data are transmitted according to priorities of the at least two arbitration units. The embodiment of the disclosure first transmits data corresponding to a channel with good transmission performance corresponding to the data in the channel, and keeps a bus unblocked, thus improving data transmission efficiency and improving DMA performance.

Claims (24)

1. A data transmission method, comprising:

for a Direct Memory Access (DMA) channel, receiving, by an arbitration unit, a DMA request through the DMA channel from a hardware component to perform data transmission, determining an arbitration unit corresponding to the channel among a plurality of arbitration units according to transmission performance corresponding to data in the channel;

when determining that data in channels corresponding to at least two arbitration units need to be transmitted, judging which data is to be transmitted firstly according to priorities of the at least two arbitration units; and

sending, by the arbitration units, a command of data transmission to a bus command generator according to priorities of the arbitration units to perform data transmission by a bus controller;

wherein the determining that data in channels corresponding to at least two arbitration units need to be transmitted comprises: after receiving data transmission commands corresponding to the at least two arbitration units within a set period of time, determining that the data in the channels corresponding to the at least two arbitration units need to be transmitted, wherein the data transmission commands corresponding to the arbitration units are different;

wherein the data transmission command comprises: a source address, a target address and a data identifier; the data transmission commands corresponding to the arbitration units are different in one or more of the followings: source addresses in the data transmission commands corresponding to the arbitration units are different; target addresses in the data transmission commands corresponding to the arbitration units are different; and data identifiers in the data transmission commands corresponding to the arbitration units are different.

2. The method according to claim 1 , wherein the transmission performance corresponding to the data in the channel is a transmission time of the data corresponding to the channel or a transmission rate of the data corresponding to the channel.

3. The method according to claim 2 , wherein when the transmission performance corresponding to the data in the channel is the transmission rate of the data corresponding to the channel, determining the transmission performance corresponding to the data in the channel comprises:

determining the transmission time and a transmission capacity of the data corresponding to the channel;

determining the transmission performance corresponding to the data in the channel according to the transmission time and the transmission capacity.

4. The method according to claim 1 , wherein the determining an arbitration unit corresponding to the channel among a plurality of arbitration units according to transmission performance corresponding to data in the channel comprises:

determining a threshold range of the transmission performance corresponding to the data in the channel;

according to a corresponding relation of the arbitration units and the threshold range, determining an arbitration unit corresponding to the threshold range of the transmission performance corresponding to the data in the channel, and using the determined arbitration unit corresponding to the threshold range as the arbitration unit corresponding to the channel.

5. A data transmission device, comprising:

a determining module configured, for a Direct Memory Access (DMA) channel, to determine an arbitration unit corresponding to the channel among a plurality of arbitration units according to transmission performance corresponding to data in the channel;

a processing module configured, when determining that data in channels corresponding to at least two arbitration units need to be transmitted, to judge which data is to be transmitted firstly according to priorities of the at least two arbitration units; and

the arbitration unit configured to receive a DMA request through the DMA channel from a hardware component to perform data transmission, and to send a command of data transmission to a bus command generator according to priorities of the arbitration units to perform data transmission by a bus controller;

wherein the processing module is configured, after receiving data transmission commands corresponding to the at least two arbitration units within a set period of time, to determine that the data in the channels corresponding to the at least two arbitration units need to be transmitted; wherein the data transmission commands corresponding to the arbitration units are different;

wherein the data transmission command comprises: a source address, a target address and a data identifier; the data transmission commands corresponding to the arbitration units are different in one or more of the followings: source addresses in the data transmission commands corresponding to the arbitration units are different; target addresses in the data transmission commands corresponding to the arbitration units are different; data identifiers in the data transmission commands corresponding to the arbitration units are different.

6. The device according to claim 5 , wherein the transmission performance corresponding to the data in the channel is a transmission time of the data corresponding to the channel or a transmission rate of the data corresponding to the channel;

the determining module is configured to determine the transmission time of the data corresponding to the channel or the transmission rate of the data corresponding to the channel.

7. The device according to claim 6 , wherein the transmission performance corresponding to the data in the channel is the transmission rate of the data corresponding to the channel;

the determining module is configured to determine the transmission time and a transmission capacity of the data corresponding to the channel, and to determine the transmission performance corresponding to the data in the channel according to the transmission time and the transmission capacity.

8. The device according to claim 5 , wherein the determining module is configured to determine a threshold range of the transmission performance corresponding to the data in the channel, to determine an arbitration unit corresponding to the threshold range of the transmission performance corresponding to the data in the channel according to a corresponding relation of the arbitration units and the threshold range, and to use the determined arbitration unit corresponding to the threshold range as the arbitration unit corresponding to the channel.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: ZTE CORPORATION
To: SANECHIPS TECHNOLOGY CO., LTD.
Reel/Frame 062777/0001 →
CHANGE OF NAME Recorded Apr 24, 2017
From: ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.
To: SANECHIPS TECHNOLOGY CO., LTD.
Reel/Frame 042320/0285 →
ASSIGNMENT OF 50% INTEREST Recorded Jan 13, 2016
From: ZTE CORPORATION
To: ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.
Reel/Frame 037515/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2015
From: LIAO, ZHOU
To: ZTE CORPORATION
Reel/Frame 035750/0763 →