CN103064807A - Multi-channel direct memory access controller - Google Patents

Multi-channel direct memory access controller Download PDF

Info

Publication number
CN103064807A
CN103064807A CN2012105502490A CN201210550249A CN103064807A CN 103064807 A CN103064807 A CN 103064807A CN 2012105502490 A CN2012105502490 A CN 2012105502490A CN 201210550249 A CN201210550249 A CN 201210550249A CN 103064807 A CN103064807 A CN 103064807A
Authority
CN
China
Prior art keywords
data
module
write
read
reading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105502490A
Other languages
Chinese (zh)
Other versions
CN103064807B (en
Inventor
王瑶宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN201210550249.0A priority Critical patent/CN103064807B/en
Publication of CN103064807A publication Critical patent/CN103064807A/en
Application granted granted Critical
Publication of CN103064807B publication Critical patent/CN103064807B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

The invention discloses a multi-channel direct memory access (DMA) controller. A plurality of DMA channels and a data transmission unit are arranged in the DMA controller, the control operation and the data transportation work of data transmission are separated, the control operation of DMA data transmission is processed by the plurality of DMA channels, each DMA channel performs buffer descriptor (BD) management operation and operation for generating a transmission instruction, one data transmission unit is used for processing total data transportation work of DMA data transmission, the data transmission unit performs arbitration on transmission instructions from the plurality of DMA channels, each transmission instruction is sequentially executed according to a ranking sequence obtained by the arbitration, data are transmitted between a central processing unit (CPU) internal memory and an external cache, a flow process of the control operation of the data transmission can be formed in the DMA channels, a flow process of the data transportation work of data transmission is formed in the data transmission unit, the data transmission speed of the DMA controller can be increased, and the DMA controller is suitable for an application scene of high speed data transmission.

Description

The direct memory access controller of hyperchannel
Technical field
The present invention relates to data communication field, particularly, relate to the direct memory access controller of a kind of hyperchannel.
Background technology
Direct memory access (DMA) (DMA, Direct Memory Access) be a kind of data transfer operation of high speed, allow externally direct read/write data between the equipment and storer, whole data transfer operation carries out under the control of dma controller, in transmission course, do not need central processing unit (CPU, Central ProcessUnit) intervention, CPU can carry out other work, thereby has greatly improved the operational efficiency of CPU.
Fig. 1 a is the structured flowchart of typical DMA system in the prior art.External storage in CPU, dma controller, the sheet (comprising Flash, Flash controller, chip external memory, Memory Controller in ram in slice, RAM controller, the sheet) and High Speed I/O are connected on the high-speed bus, various low speed peripheral hardwares (comprising low speed peripheral hardware 1, low speed peripheral hardware 2, low speed peripheral hardware 3) are connected on the low speed bus, and link to each other with high-speed bus by bus bridge.Equipment on the bus is then initiated request to dma controller if carry out DMA transmission, and dma controller is controlled at CPU internal memory and miscellaneous equipment and carries out data transmission, and give back the bus right to use after end of transmission (EOT) after obtaining the bus right to use.Need not CPU in the DMA transmission course and participate in, save the overhead of CPU.
Chinese patent (application number: 200910080751, publication number: 101504633) disclose a kind of multi-channel DMA controller, this dma controller comprises a plurality of DMA channel modules and a multiplexing module, each DMA channel module comprises respectively a data buffer-stored and control module and one group of control register, and data buffering storage and the control module thereof of all passages all are connected to a multiplexing module.This dma controller can reduce the expense of bus arbitration piece and storage unit on the SOC (system on a chip) to a certain extent, and improves the reusability of system.
But; in the technical scheme of this Chinese patent; the equal executing data control of each DMA passage and data transmission work; particularly; the DMA passage generates the reading out data request to the data that need read; and after the request of CPU internal memory transmission reading out data; must wait until the CPU internal memory return ask the data that read; just can carry out the next operation that generates the reading out data request; but; can there be time delay in CPU internal memory return data usually, and this just causes the slow problem of data rate, causes this dma controller to be not suitable for the application scenarios of high speed data transfer.
Summary of the invention
In view of this, the embodiment of the invention provides a kind of multi-channel DMA controller, slow in order to the transmission speed that solves dma controller of the prior art, as to be not suitable for high speed data transfer application scene problem.
Embodiment of the invention technical scheme is as follows:
A kind of dma controller comprises: several DMA passage and data transmission units; Described DMA passage after buffer memory identifier (BD, the Buffer Descriptor) updating message that receives from central processor CPU, reads BD from the CPU internal memory, according to the data storage condition in BD and the peripheral hardware buffer memory, generate transfer instruction; Described data transmission unit is used for arbitrating from the transfer instruction of several described DMA passages, according to the clooating sequence that arbitration obtains, carries out successively each transfer instruction, the transmission of data between described CPU internal memory and described peripheral hardware buffer memory.
The embodiment of the invention is by arranging several DMA passage and data transmission units in dma controller, the control operation of data transmission and the data carrying work of data transmission are separated, also namely processed the control operation of DMA data transmission by several DMA passages, particularly, each DMA passage carries out the BD bookkeeping and generates the transfer instruction operation, data carrying work by the whole DMA data transmission of data transmission cell processing, particularly, data transmission unit is to arbitrating from the transfer instruction of several DMA passages, the clooating sequence that obtains according to arbitration, carry out successively each transfer instruction, the transmission of data between CPU internal memory and peripheral hardware buffer memory, as seen, the data control operation that data transmission unit is carried out needn't depend on the data carrying operation that data transmission unit is carried out, can form in the DMA channel side line production of the control operation of data transmission, data transmission unit is successively to processing from the transfer instruction of several DMA passages, form the line production of the data carrying operation of data transmission in the data transmission unit side, and then can improve the data rate of dma controller, can be applicable to the application scenarios of high speed data transfer.
Other features and advantages of the present invention will be set forth in the following description, and, partly from instructions, become apparent, perhaps understand by implementing the present invention.Purpose of the present invention and other advantages can realize and obtain by specifically noted structure in the instructions of writing, claims and accompanying drawing.
Description of drawings
Fig. 1 a is the structured flowchart of typical DMA system in the prior art;
Fig. 1 b is the structured flowchart of the multi-channel DMA controller that provides of the embodiment of the invention;
Fig. 1 c is the workflow diagram of multi-channel DMA controller shown in Fig. 1 b;
Fig. 2 is the preferred structure block diagram of the multi-channel DMA controller shown in Fig. 1 b;
Fig. 3 is the preferred structure block diagram of multi-channel DMA controller shown in Figure 2;
Fig. 4 is the workflow diagram of the downlink command generation module among Fig. 3;
Fig. 5 is that read data module among Fig. 3 is to the work for the treatment of process flow diagram of downlink data;
Fig. 6 is the workflow diagram of the descending write-back module among Fig. 3;
Fig. 7 is another preferred structure block diagram of multi-channel DMA controller shown in Figure 2;
Fig. 8 is the workflow diagram of the up-on command generation module among Fig. 7;
Fig. 9 writes data module to the work for the treatment of process flow diagram of upstream data among Fig. 7;
Figure 10 is the workflow diagram of the up write-back module among Fig. 7.
Embodiment
Below in conjunction with accompanying drawing embodiments of the invention are described, should be appreciated that embodiment described herein only is used for description and interpretation the present invention, is not intended to limit the present invention.
The problem that the embodiment of the invention is slow for dma controller data rate of the prior art, be not suitable for the application scenarios of high speed data transfer proposes a kind of multi-channel DMA controller, to address this problem.The embodiment of the invention is separated control operation and the data carrying work of DMA data transmission, several DMA passage and data transmission units are set in dma controller, the DMA passage is processed the control operation of DMA data transmission, namely generate and be used to indicate the transfer instruction that how to carry out the data carrying, processed the data carrying work of DMA data transmission by data transmission unit, namely carry out concrete data carrying operation according to transfer instruction, the control operation of DMA passage does not rely on the data carrying work of data transmission unit, can be in the line production of DMA channel side formation control operation, data transmission unit is successively to processing from the transfer instruction of several DMA passages, form the line production of data carrying operation in the data transmission unit side, and then can improve the data rate of dma controller, can be applicable to the application scenarios of high speed data transfer.
The below describes the multi-channel DMA controller that the embodiment of the invention provides in detail.
Fig. 1 b shows the structured flowchart of the multi-channel DMA controller that the embodiment of the invention provides, and this multi-channel DMA controller comprises several DMA passages 11 and data transmission unit 12.
DMA passage 11 after the BD updating message that receives from CPU, reads BD from the CPU internal memory, according to the data storage condition in BD and the peripheral hardware buffer memory, generate transfer instruction;
Data transmission unit 12 is connected to DMA passage 11, is used for arbitrating from the transfer instruction of several DMA passages, according to the clooating sequence that arbitration obtains, carries out successively each transfer instruction, the transmission of data between CPU internal memory and peripheral hardware buffer memory.
The workflow diagram of multi-channel DMA controller shown in Fig. 1 c shown in Fig. 1 c, comprising:
Step 101, several DMA passages 11 read BD after receiving respectively BD updating message from CPU from the CPU internal memory, and respectively according to the BD that reads and the data storage condition in the peripheral hardware buffer memory, generate transfer instruction;
The transfer instruction that step 102, data transmission unit 12 receive from each DMA passage 11 is arbitrated several transfer instructions that receive, and obtains the clooating sequence to transfer instruction;
The clooating sequence that step 103, data transmission unit 12 obtain according to arbitration is carried out each transfer instruction, the transmission of data between CPU internal memory and peripheral hardware buffer memory successively.
By the principle of work shown in the multi-channel DMA controller shown in Fig. 1 b and Fig. 1 c, the control operation of DMA data transmission and the data carrying work of data transmission can be separated, the control operation of also namely being transmitted by several DMA passage deal with data, processed the data carrying work of DMA data transmission by data transmission unit, the control operation of DMA passage does not rely on the data carrying work of data transmission unit, and data transmission unit is to arbitrating from the transfer instruction of several DMA passages, the clooating sequence that obtains according to arbitration, carry out successively the indicated data carrying operation of each transfer instruction, the DMA passage carries out next time control operation after needn't waiting the data of data transmission unit to carry EO again, can be in the line production of DMA channel side formation control operation, and the line production that forms data carrying operation in the data transmission unit side, and then can improve the data rate of dma controller, can be applicable to the application scenarios of high speed data transfer.
Before the principle of work of Fig. 1 b shown device is elaborated, first BD is described.
BD is a data structure that is used for the control information of data of description read-write operation, several BD occupy the continuous storage space of a slice in the CPU internal memory, the structure of BD is as shown in table 1, comprises that whether data address, data length, data slice be whether effectively whether the indication (Sop), data slice of the start-up portion of packet be indication (Eop), error message indication (Err), control information indication (Owner), the BD indication (Valid) of the latter end of packet.
Table 1
Data address Data length SOP EOP Err Owner valid
CPU gives bus control right before the multi-channel DMA controller, in the data address territory and data length field that address and the data length of data to be read can be write respectively BD, and with the Owner territory be rewritten as the expression multi-channel DMA controller information, then send the BD updating message to multi-channel DMA controller, after multi-channel DMA controller receives the BD updating message, from the CPU internal memory, read BD, judge that according to the information in the Owner territory among the BD bus control right belongs to self, thus can be according to the data address territory among the BD and the information in the data length field reading out data from the CPU internal memory.When multi-channel DMA controller is write data in the CPU internal memory, according to the information in the data address territory among the BD data are write in the CPU internal memory, and the data length that will deposit data in writes in the data length field of BD, and the information that the Owner territory is rewritten as expression CPU, revised BD is sent to the CPU internal memory, CPU learns that by the information in the Owner territory of the BD that newly deposits in the monitoring CPU internal memory bus control right comes back to CPU.
Particularly, DMA passage 11 is used for respectively the control operation of the downlink data of DMA data transmission and the control operation of upstream data are processed, downlink data is for reading and be written to the data the peripheral hardware buffer memory from the CPU internal memory, upstream data is for reading and be written to the data the CPU internal memory from the peripheral hardware buffer memory, correspondingly, transfer instruction also is divided into reads instruction and write command, and data transmission unit 12 also correspondingly carries out data carrying operation, according to write command upstream data carried out data carrying operation downlink data according to reading instruction.
Fig. 2 shows the preferred structure block diagram of the multi-channel DMA controller shown in Fig. 1 b, specifically comprises down going channel 111 and data feedback channel 112 in the DMA passage 11, and data transmission unit 12 comprises read data module 121 and writes data module 122.
Down going channel 111 after the BD updating message that receives from CPU, reads BD from the CPU internal memory, the data volume size according to the data accepted of storing in the reading out data length information among the BD that reads and the peripheral hardware buffer memory generates and reads instruction;
Read data module 121, be connected to the down going channel 111 of several DMA passages 11, be used for the instruction of reading from the down going channel 111 of several DMA passages 11 is arbitrated, the clooating sequence that obtains according to arbitration, read instruction according to each successively and from the CPU internal memory, read corresponding data, and the data of reading are sent to the peripheral hardware buffer memory.
Data feedback channel 112 after the BD updating message that receives from CPU, reads BD from the CPU internal memory, the address information according to the data to be written among the big or small BD with reading of the data volume of the data to be sent of storing in the peripheral hardware buffer memory generates write command;
Write data module 122, be connected to the data feedback channel 112 of several DMA passages 11, be used for the write command from the data feedback channel 112 of several DMA passages is arbitrated, the clooating sequence that obtains according to arbitration, from the peripheral hardware buffer memory, read corresponding data according to each write command successively, and the data of reading are sent to the CPU internal memory.
By data feedback channel and down going channel are set in the DMA passage, and the read data module is set in data transmission unit and writes data module, upstream data processing and downlink data processing can be made a distinction, and all control operation and the data carrying operation of data transmission are made a distinction for downlink data and upstream data, can effectively form respectively the line production of the control operation of upstream data and downlink data in the DMA channel side, and the line production that forms respectively the data carrying operation of upstream data and downlink data in the data transmission unit side, and then can improve the data rate of dma controller, can be applicable to the application scenarios of high speed data transfer.
And, owing to according to downlink data and upstream data corresponding functional unit is set respectively in the embodiment of the invention, so that the dma controller that the invention process provides has good Scalability, namely according to the difference of application scenarios, when only needing dma controller to process downlink data, can only in the DMA passage, down going channel be set, the read data module is set in data transmission unit, when only needing dma controller to process upstream data, can only in the DMA passage, data feedback channel be set, in data transmission unit, arrange and write data module, when the needs dma controller is processed downlink data and upstream data, dma controller as shown in Figure 2 can be set.
The below describes respectively the multi-channel DMA controller shown in Fig. 2 in detail to the processing of downlink data and upstream data.
(1), downlink data is processed
Fig. 3 shows multi-channel DMA controller preferred structure block diagram shown in Figure 2, this multi-channel DMA controller comprises: down going channel 111 and read data module 121, down going channel 111 comprises: the descending BD of reading module 1111, downlink command generation module 1112 and descending write-back module 1113.
1, the descending BD module 1111 of reading after the BD updating message that receives from CPU, reads several BD from described CPU internal memory, and preserves several BD that read.
Particularly, after the descending BD of reading module 1111 receives BD updating message from CPU, send the descending BD request of reading to the CPU internal memory, the quantity of the BD that the request that carries in the descending BD of the reading request is read, wherein, the quantity of the BD that this request is read is: from the quantity of the readable BD of the BD updating message indicating of CPU, current BD pointer is to the quantity of the BD shown in the BD ring tail in the BD ring, and the BD quantity of the quantity reckling among default this three of the quantity that reads BD, difference according to application scenarios, the default quantity that reads BD is also different, therefore, as seen each to ask the quantity of the BD that reads be indefinite, can be one, also can be many; And, receive from the CPU internal memory for these descending several BD that read the BD request, and preserve several BD that receive.
2, the downlink command generation module 1112, are used for the data volume size of the data accepted stored in the reading out data length information of the BD that reads according to the descending BD of reading module 1111 and the peripheral hardware buffer memory, generate and read instruction;
Particularly, downlink command generation module 1112 is carried out following operation: read current BD operation, decision operation, command operating is read in generation and command operating is read in transmission; Wherein,
(1), reading current BD operation comprises: in the current time sheet, have in downlink command generation module 1112 in the situation of idle storage space, downlink command generation module 1112 obtains a BD as current BD from the descending BD of reading module 1111; Do not have in downlink command generation module 1112 in the situation of idle storage space, downlink command generation module 1112 continues to wait for, until have in the situation of idle storage space, obtains a BD as current BD from the descending BD of reading module 1111;
(2), decision operation comprises: judge whether the contrast condition is set up, the contrast condition is: the data length sum shown in the corresponding reading out data length information that generates among each BD that reads instruction that contrasts storage in the data length shown in the reading out data length information among the current BD and the downlink command generation module 1112, whether less than the size of the idle storage space in the storage space corresponding with the down going channel of this DMA passage in the peripheral hardware buffer memory, judging in the situation that the contrast condition is set up, carry out to generate and read command operating, otherwise, continue to wait for, until the contrast condition is set up, wait for that namely the data in the peripheral hardware buffer memory are read away, the obtaining of storage space in the peripheral hardware buffer memory discharges, so that the contrast condition is set up;
(3), generate and to read command operating and comprise: generate the instruction of reading corresponding with current BD, in reading instruction, carry reading out data length information among the current BD and the address information of the reading out data among the current BD; And, preserve current BD, preferably, can adopt fifo queue to preserve the corresponding BD that reads instruction that generated;
(4) send and read command operating: the instruction of reading of the corresponding current BD that will generate sends to read data module 121.
3, the read data module 121, be connected to the downlink command generation module 1112 of each down going channel 111, what be used for the clooating sequence that obtains for arbitration currently reads instruction, according to current address information and the reading out data length information of reading in the instruction, from the CPU internal memory, read the data of corresponding length in the storage space of appropriate address, and the data of reading are sent in the peripheral hardware buffer memory in the storage space corresponding with sending the current DMA passage of reading instruction;
Particularly, 121 pairs of instructions of reading from the down going channel 111 of several DMA passages 11 of read data module are arbitrated, for example make the principle of (Round Robin) scheduling arbitrate according to wheel, current in the clooating sequence that obtains for arbitration read instruction, according to current address information and the reading out data length information of reading in the instruction, send read data request to the CPU internal memory, comprise current address information and the reading out data length information of reading in the instruction in the read data request; Reception is from the packet of CPU internal memory for read data request, and the data that receive are sent in the peripheral hardware buffer memory in the storage space corresponding with sending the current DMA passage of reading instruction;
And, be polled to currently when reading instruction, read data module 121 is read response to sending current down going channel (being the downlink command generation module 1112 of the down going channel 111) feedback of reading the DMA passage of instruction; In sense data from the CPU internal memory and after sending to the peripheral hardware buffer memory, also run through response to sending current down going channel (being the downlink command generation module 1112 of the down going channel 111) feedback of reading the DMA passage of instruction;
Correspondingly, downlink command generation module 1112 also is used for: receive from read data module 121 read the response after, preserve current BD; Receiving from the running through after the response of read data module 121, from the BD that downlink command generation module 1112 is preserved, take out a BD and send to descending write-back module 1113; Preferably, as mentioned above, downlink command generation module 1112 is preserved by fifo queue and has correspondingly been generated the BD that reads instruction, herein, takes out a BD from team's head of fifo queue and sends to descending write-back module 1113.
4, descending write-back module 1113 is used for: the control information of the BD that receives is rewritten as CPU, revised BD is sent to the CPU internal memory.Particularly, descending write-back module 1113 is preserved revised BD, stores in the situation of revised BD in judging descending write-back module 1113, and predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of the revised BD that preserves, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to the CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, in timing then, the revised BD that preserves as BD to be sent, is sent to the CPU internal memory with BD to be sent.
Fig. 4 shows the workflow diagram of the downlink command generation module 1112 among Fig. 3, also is that Fig. 4 shows the principle of work that down going channel carries out the control operation of downlink data transmission, comprises following processing procedure:
Step 401, the descending BD of reading module 1111 are after the BD updating message that receives from CPU, from the CPU internal memory, read several BD, particularly, the descending BD of reading module 1111 sends the descending BD request of reading, the quantity of the BD that the request that carries in the descending BD of the reading request is read to the CPU internal memory; As mentioned above, the quantity of BD can be a BD or a plurality of BD; The descending BD of reading module 1111 receive from the CPU internal memory for these descending several BD that read the BD request, and preserve several BD that receive; The descending BD of reading module 1111 reads BD in batches, can reduce the bus bandwidth that takies, and improves treatment effeciency;
Step 402, downlink command generation module 1112 have in downlink command generation module 1112 in the situation of idle storage space in the current time sheet, obtain a BD as current BD from the descending BD of reading module 1111; Particularly, in the current time sheet, downlink command generation module 1112 judges in the descending BD of the reading module 1111 and stores BD, and in the downlink command generation module 1112 in the situation of available free storage space, obtains a BD as current BD from the descending BD of reading module 1111;
Step 403, downlink command generation module 1112 generate and read instruction according to the data volume size of the data accepted of storing in the reading out data length information among the current BD and the peripheral hardware buffer memory;
Particularly, judge in the situation of contrast condition establishment, it is the data length sum shown in the corresponding reading out data length information that generates among each BD that reads instruction of storage in the data length shown in the reading out data length information among the current BD and the downlink command generation module 1112, in the situation less than the size of the idle storage space in the storage space corresponding with the down going channel of this DMA passage in the peripheral hardware buffer memory, generate the read instruction corresponding with current BD, in reading instruction, carry reading out data length information among the current BD and the address information of the reading out data among the current BD, process proceeding to step 404;
Judge in the invalid situation of contrast condition, the data length sum shown in the corresponding reading out data length information that generates among each BD that reads instruction of storage in data length shown in the reading out data length information in current BD and the downlink command generation module 1112, in the situation more than or equal to the size of the idle storage space in the storage space corresponding with the down going channel of this DMA passage in the described peripheral hardware buffer memory, processing turns back to step 403, until the contrast condition is set up;
In the contrast condition, need to judge: the data length sum shown in the corresponding reading out data length information that generates among each BD that reads instruction of storage in the data length shown in the reading out data length information among the current BD and the downlink command generation module 1112, with in the peripheral hardware buffer memory with the corresponding storage space of the down going channel of this DMA passage in the relativity of size of idle storage space, its reason is: following steps 405 are described, read data module 121 be polled to one read instruction after, read response can for these downlink command generation module 1112 feedbacks of reading instruction of transmission, read data module 121 this moment is reading out data from the CPU internal memory not, because read data module 121 waiting for CPU internal memory return datas need certain hour, so, after read data module 121 is read response to 1112 transmissions of downlink command generation module, reading to respond the corresponding indicated data of instruction of reading with this in downlink command generation module 1112 does not really read, at this moment, downlink command generation module 1112 should be preserved with this and read to respond corresponding BD, namely preserves the corresponding BD that reads instruction that generated; So, when instruction is read in 1112 generations of downlink command generation module, judge whether the length of data to be carried is less than the size of the idle storage space in the storage space corresponding with the down going channel of this DMA passage in the peripheral hardware buffer memory, and the length of data to be carried just comprises reading out data length and the corresponding reading out data length sum that generates among each BD that reads instruction among the current BD;
The instruction of reading of the corresponding current BD that step 404, downlink command generation module 1112 will generate sends to read data module 121, so that read data module 121 is carried out data carrying operation according to reading instruction;
Step 405; Downlink command generation module 1112 receive from read data module 121 read the response after, preserve current BD, preferably, the buffer queue of preserving BD can be fifo queue, wherein read to respond be 121 pairs of read data modules be polled to that downlink command generation module 1112 sends read instruction the time, read data module 121 is to downlink command generation module 1112 feedbacks; Step 403 is returned in processing.
Fig. 5 shows the work for the treatment of process flow diagram of 121 pairs of downlink datas of read data module among Fig. 3, and namely Fig. 5 shows the fundamental diagram that 121 pairs of downlink datas of read data module carry out the data carrying, comprises following treatment step:
Step 501,121 pairs of instructions of reading from the down going channel 111 of several DMA passages 11 of read data module are arbitrated; Preferably, can adopt RR scheduling to arbitrate, specifically can sort and obtain clooating sequence reading instruction according to the clooating sequence of several DMA passages 11, also namely this clooating sequence be consistent with the clooating sequence of several DMA passages 11;
Current in the clooating sequence that step 502, read data module 121 obtain for arbitration read instruction, according to current address information and the reading out data length information of reading in the instruction, reads the data of corresponding length in the storage space of appropriate address from the CPU internal memory; Particularly, read data module 121 sends read data request to the CPU internal memory, comprises current address information and the reading out data length information of reading in the instruction in the read data request; And read response to downlink command generation module 1112 feedbacks of the down going channel that sends the current DMA passage of reading instruction;
Step 503, read data module 121 send to the data of reading in the peripheral hardware buffer memory in the storage space corresponding with sending the current DMA passage of reading instruction, particularly, read data module 121 receives the packet for read data request from the CPU internal memory, and the data that receive are sent in the peripheral hardware buffer memory in the storage space corresponding with sending the current DMA passage of reading instruction; Step 501 is returned in processing.
In above-mentioned processing procedure, the descending BD of reading module 1111 reads in batches several BD and preserves the BD that reads from the CPU internal memory, so that downlink command generation module 1112 takes out BD one by one and generate according to BD and to read instruction, so that read data module 121 is carried out data carrying work according to reading instruction; And, downlink command generation module 1112 is according to the response of reading of read data module 121 feedbacks, preserve with read to respond corresponding BD after, read instruction according to next BD generation, do not rely on read data module 121 and whether data are read from the CPU internal memory so that the operation of instruction is read in the generation that downlink command generation module 1112 is carried out, can form the line production to the control operation of downlink data; And, 121 pairs of instructions of reading from the down going channel of several DMA passages of read data module are arbitrated, according to the clooating sequence that arbitration obtains, read instruction according to each successively and carry out data carrying operation, can form the line production to the data carrying operation of downlink data; Thereby can improve the transmission speed of descending DMA data transmission, can be applicable to the application scenarios of high-speed down data transmission.
On the basis of the principle of work of above-mentioned downlink data transmission, in the application scenarios that adopts the BD ring, the DMA data transmission also comprises the processing procedure of descending BD write-back.
Here illustrate first that BD structure of rings and effect thereof describe.The end to end ring texture that the BD ring is comprised of several BD, the structure of each BD is as above shown in the table 1, the BD ring occupies the continuous storage space of a slice in the CPU internal memory, the descending BD of reading module 1111 has read several BD from the CPU internal memory after, downlink command generation module 1112 generates successively according to each BD and reads instruction, behind read data module 121 reading out datas, descending DMA passage 111 should be rewritten BD, Owner territory among the BD is rewritten as the information of expression CPU, then revised BD is sent it back in the CPU internal memory, so that CPU monitors the variation of bus control right.
Fig. 6 shows the workflow diagram of the descending write-back module 1113 among Fig. 3, also is that Fig. 6 shows the principle of work to the BD write-back of downlink data, comprises following processing procedure:
The response that runs through that step 601, downlink command generation module 1112 receive from read data module 121, running through response is the instruction of reading that read data module 121 polls are handled 1112 transmissions of downlink command generation module, also namely from the CPU internal memory sense data and send to the peripheral hardware buffer memory after, to downlink command generation module 1112 feedback;
Step 602, downlink command generation module 1112 take out a BD and send to descending write-back module 1113 from the BD that downlink command generation module 1112 is preserved, preferably, from the formation of the first in first out of preserving BD, take out a BD who comes team's head and send to descending write-back module 1113;
Step 603, descending write-back module 1113 are rewritten as CPU with the control information among the BD that receives, and revised BD is sent to the CPU internal memory;
Particularly, descending write-back module 1113 sends revised BD according to chronograph mechanism; Descending write-back module 1113 is rewritten as CPU with the control information among the BD that receives, and preserves revised BD; Store in the situation of revised BD in the storage space of descending write-back module 1113 judgements self, predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of BD after the rewriting of preserving, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to the CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, after timing then, the revised BD that preserves as BD to be sent, is sent to the CPU internal memory with BD to be sent.
By above-mentioned processing procedure, descending write-back module 1113 is write-back BD in bulk, can reduce the number of times of write-back BD, reduce owing to the shared bus bandwidth of write-back BD, thus the speed of raising DMA data transmission.And, introduce chronograph mechanism and sending revised BD to the CPU internal memory, can be in the quantity of revised BD during more than or equal to predetermined quantity, revised BD with predetermined quantity sends to the CPU internal memory in time, can avoid the quantity moment of the revised BD in the down going channel 111 to increase causing when too much congested the or BD of BD to lose, in the quantity of revised BD during less than predetermined quantity, after timing then, revised BD is sent to the CPU internal memory, the quantity of avoiding revised BD is for a long time in the situation less than predetermined quantity, can't return revised BD to CPU, cause CPU to monitor the problem of the overlong time of the BD that waits for write-back, can make CPU monitor in time the situation that bus control right changes.
(2) upstream data is processed
Fig. 7 shows multi-channel DMA controller preferred structure block diagram shown in Figure 2, this multi-channel DMA controller comprises: data feedback channel 112 and write data module 122, data feedback channel 112 comprises: the up BD of reading module 1121, up-on command generation module 1122 and up write-back module 1123.
The up BD module 1121 of reading is used for reading several BD from described CPU internal memory after the BD updating message that receives from CPU, and preserves several BD that read; Particularly, the up BD of reading module 1121 sends the up BD request of reading, the quantity of the BD that the request that carries in the up BD of the reading request is read to the CPU internal memory; Reception from the CPU internal memory for these up several BD that read BD request;
Up-on command generation module 1122, the address information for the data to be written among the BD that data volume is big or small and the up BD of reading module 1121 reads of the data to be sent of storing according to the peripheral hardware buffer memory generates described write command; Particularly, in the current time sheet, up-on command generation module 1122 obtains a BD as current BD from the up BD of reading module 1121, generate write command according to the data volume of the data to be sent of storing in peripheral hardware buffer memory size, in the write command that generates, carry the address information of data to be written in the data length information of data to be sent in the peripheral hardware buffer memory and the CPU internal memory among the current BD; Preserve current BD; The write command that generates sent to write data module 122.
Write data module 122, current write command for the clooating sequence that obtains for arbitration, according to the data length information in the current write command, from the peripheral hardware buffer memory, read the data of corresponding length in the storage control corresponding with the DMA passage that sends current write command, and the data of reading are sent in the respective stored space in the described CPU internal memory of the address information indication in the current write command; And, when being polled to current write command, to data feedback channel (being the up-on command generation module 1122 of data feedback channel 112) the feedback write response of the DMA passage that sends current write command; In sense data from the peripheral hardware buffer memory and after sending to the CPU internal memory, also write to data feedback channel (being the up-on command generation module 1122 of the data feedback channel 112) feedback of the DMA passage that sends current write command and finish response;
Up-on command generation module 1123 also is used for: after receiving from the write response of writing data module 122, preserve current BD; Receiving from writing after writing of data module 122 finish response, from the BD that up-on command generation module 1122 is preserved, take out a BD and send to up write-back module 1123;
Up write-back module 1123 is used for: the control information of the BD that receives is rewritten as CPU, the data length information in the write command is written among the BD, revised BD is sent to the CPU internal memory; Particularly, up write-back module 1123 is preserved revised BD, stores in the situation of revised BD in judging up write-back module 1123, and predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of the revised BD that preserves, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to the CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, after timing then, with the revised BD that preserves as BD to be sent, BD to be sent is sent to the CPU internal memory, be about to BD to be sent and send to scheduling unit 13.
Fig. 8 shows the workflow diagram of up-on command generation module 1122 among Fig. 7, also is that Fig. 8 shows the principle of work that data feedback channel carries out the control operation of transmitting uplink data, comprises following processing procedure:
Step 801, the up BD of reading module 1121 read several BD after receiving BD updating message from CPU from the CPU internal memory, and preserve several BD that read; Particularly, the up BD of reading module 1121 sends the up BD request of reading, the quantity of the BD that the request that carries in the up BD of the reading request is read to the CPU internal memory; As mentioned above, the quantity of BD can be one, also can be a plurality of; The up BD of reading module 1121 receive from the CPU internal memory for these up several BD that read the BD request, and preserve several BD that receive;
Step 802, in the current time sheet, in up-on command generation module 1122, have in the situation of idle storage space, up-on command generation module 1122 obtains a BD as current BD from the up BD of reading module 1121; Particularly, store BD in the up BD of the reading module 1121 of up-on command generation module 1122 judgements, and in the situation of available free storage space, in the current time sheet, from the up BD of reading module 1121, obtain a BD as current BD in the up-on command generation module 1122;
Step 803, up-on command generation module 1122 generates the write command corresponding with current BD, carries the address information of data to be written in the data length information of data to be sent in the peripheral hardware buffer memory and the CPU internal memory among the current BD in the write command of generation;
Step 804, up-on command generation module 1122 send to the write command that generates and write data module 122, carry out data carrying operation so that write data module 122 according to write command;
Step 805, up-on command generation module 1122 are after receiving from the write response of writing data module 122, preserve current BD, the buffer queue of preserving BD is fifo queue, wherein write response is when writing 122 pairs of data modules and being polled to the write command that up-on command generation module 1122 sends, and writes data module 122 to up-on command generation module 1122 feedbacks; Step 803 is returned in processing.
Fig. 9 shows the work for the treatment of process flow diagram of writing 122 pairs of upstream datas of data module among Fig. 7, and namely Fig. 9 shows and writes the fundamental diagram that 122 pairs of upstream datas of data module carry out the data carrying, comprises following treatment step:
Step 901, write 122 pairs of write commands from the data feedback channel 112 of several DMA passages 11 of data module and arbitrate, preferably, can adopt the RR scheduling to arbitrate, obtain reading the clooating sequence of instruction;
Step 902, write the current write command in the clooating sequence that data module 122 obtains for arbitration, send write responses to the up-on command generation module 1122 of the data feedback channel of the DMA passage that sends current write command;
Step 903, write data module 122 according to the data length information in the current write command, from the peripheral hardware buffer memory, read the data of corresponding length in the storage space corresponding with the DMA passage that sends current write command, the data of reading are sent to the CPU internal memory, process and return step 901.
In above-mentioned processing procedure, the up BD of reading module 1121 reads in batches BD and preserves the BD that reads from the CPU internal memory, so that up-on command generation module 1122 takes out one by one BD and generates write command according to BD, carry out data carrying work so that write data module 122 according to write command, up-on command generation module 1122 is according to the write response of writing data module 122 feedbacks, behind preservation and the corresponding BD of write response, generate write command according to next BD, so that whether the operation of the generation write command that the up BD of reading module 1121 is carried out do not rely on and write data module 122 and data are write in the CPU internal memory, can be to forming the line production to the control operation of upstream data; And, writing 122 pairs of write commands from the data feedback channel of several DMA passages of data module arbitrates, clooating sequence according to arbitration obtains carries out data carrying operation according to each write command successively, can form the line production to the data carrying operation of upstream data; Thereby can improve the transmission speed of up DMA data transmission, can be applicable to the application scenarios of high speed uplink data transmission.
On the basis of the handling principle of above-mentioned transmitting uplink data, in the application scenarios that adopts the BD ring, the DMA data transmission also comprises the processing procedure of up BD write-back.
Figure 10 shows the workflow diagram of the up write-back module 1123 among Fig. 7, also is that Figure 10 shows the principle of work to the BD write-back of upstream data, comprises following processing procedure:
Step 1001, up-on command generation module 1122 receive and finish response from writing writing of data module 122, writing and finishing response is to write data module 122 polls to handle the write command that up-on command generation module 1112 sends, also namely from the peripheral hardware buffer memory sense data and send to the CPU internal memory after, to up-on command generation module 1122 feedback;
Step 1002, up-on command generation module 1122 are taken out a BD and are sent to up write-back module 1123 from the BD that up-on command generation module 1122 is preserved, also namely take out a BD who comes team's head from the formation of the first in first out of preserving BD and send to up write-back module 1123;
Step 1003, up write-back module 1123 are rewritten as CPU with the control information among the BD that receives, and the data length information in the write command is written among the BD, and revised BD is sent to the CPU internal memory; Particularly, up write-back module 1123 is rewritten as CPU with the control information among the BD that receives, and preserves revised BD; Store in the situation of revised BD in the storage space of up write-back module 1123 judgements self, predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of BD after the rewriting of preserving, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to the CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, after timing then, the revised BD that preserves as BD to be sent, is sent to the CPU internal memory with BD to be sent.
By above-mentioned processing procedure, up write-back module 1123 is write-back BD in bulk, can reduce the number of times of write-back BD, reduce owing to the shared bus bandwidth of write-back BD, thus the speed of raising DMA data transmission.Can also avoid the quantity moment of the revised BD in the down going channel 111 to increase causing when too much congested the or BD of BD to lose, the quantity of avoiding revised BD in the situation less than predetermined quantity, can't be returned revised BD to CPU for a long time.
In sum, technical scheme according to the embodiment of the invention, several DMA passage and data transmission units are set in dma controller, the control operation of data transmission and the data carrying work of data transmission are separated, also namely processed the control operation of DMA data transmission by several DMA passages, particularly, each DMA passage carries out the BD bookkeeping and generates the transfer instruction operation, data carrying work by the whole DMA data transmission of data transmission cell processing, particularly, data transmission unit is to arbitrating from the transfer instruction of several DMA passages, the clooating sequence that obtains according to arbitration, carry out successively each transfer instruction, the transmission of data between CPU internal memory and peripheral hardware buffer memory, as seen, the data control operation that the DMA passage is carried out needn't depend on the data carrying operation that data transmission unit is carried out, can form in the DMA channel side line production of the control operation of data transmission, data transmission unit is successively to processing from the transfer instruction of several DMA passages, form the line production of the data carrying operation of data transmission in the data transmission unit side, and then can improve the data rate of dma controller, can be applicable to the application scenarios of high speed data transfer.
Obviously, those skilled in the art can carry out various changes and modification to the present invention and not break away from the spirit and scope of the present invention.Like this, if of the present invention these are revised and modification belongs within the scope of claim of the present invention and equivalent technologies thereof, then the present invention also is intended to comprise these changes and modification interior.

Claims (13)

1. the direct memory access dma controller of hyperchannel is characterized in that, comprising: several DMA passage and data transmission units;
Described DMA passage after the buffer memory identifier BD updating message that receives from central processor CPU, reads BD from the CPU internal memory, according to the data storage condition in BD and the peripheral hardware buffer memory, generate transfer instruction;
Described data transmission unit is used for arbitrating from the transfer instruction of several described DMA passages, according to the clooating sequence that arbitration obtains, carries out successively each transfer instruction, the transmission of data between described CPU internal memory and described peripheral hardware buffer memory.
2. multi-channel DMA controller according to claim 1 is characterized in that, described transfer instruction comprises: read instruction; Then,
Described DMA passage, specifically comprise: down going channel, be used for after the BD updating message that receives from CPU, from described CPU internal memory, read BD, data volume size according to the data accepted of storing in the reading out data length information among the BD that reads and the described peripheral hardware buffer memory generates the described instruction of reading;
Described data transmission unit, specifically comprise: the read data module, be used for the instruction of reading from the down going channel of several described DMA passages is arbitrated, the clooating sequence that obtains according to arbitration, read instruction according to each successively and from described CPU internal memory, read corresponding data, and the data of reading are sent to described peripheral hardware buffer memory.
3. multi-channel DMA controller according to claim 2 is characterized in that, described down going channel specifically comprises:
The descending BD module of reading is used for reading several BD from described CPU internal memory after the BD updating message that receives from CPU, and preserves several BD that read;
The downlink command generation module is used for the data volume size of the data accepted stored in the reading out data length information of the BD that reads according to the described descending BD of reading module and the described peripheral hardware buffer memory, generates the described instruction of reading.
4. multi-channel DMA controller according to claim 3 is characterized in that, described downlink command generation module specifically is used for: current BD operation, decision operation are read in execution, command operating is read in generation and command operating is read in transmission; Wherein,
Read current BD operation: in the current time sheet, in described downlink command generation module, have in the situation of idle storage space, from the described descending BD of reading module, obtain a BD as current BD;
Decision operation: judge whether the contrast condition is set up, the contrast condition is: contrast the data length sum shown in the corresponding reading out data length information that generates among each BD that reads instruction of storing in the data length shown in the reading out data length information among the current BD and the described downlink command generation module, whether less than the size of the idle storage space in the storage space corresponding with the down going channel of this DMA passage in the described peripheral hardware buffer memory, judging in the situation that the contrast condition is set up, carry out to generate and read command operating, otherwise, continue to wait for, until the contrast condition is set up;
Command operating is read in generation: generate the read instruction corresponding with current BD, carry reading out data length information among the current BD and the address information of the reading out data among the current BD in reading instruction; And in described downlink command generation module, preserve current BD;
Command operating is read in transmission: the read instruction corresponding with current BD that will generate sends to described read data module.
5. multi-channel DMA controller according to claim 4 is characterized in that, described read data module specifically is used for:
Current in the clooating sequence that obtains for arbitration read instruction, according to current address information and the reading out data length information of reading in the instruction, from described CPU internal memory, read the data of corresponding length in the storage space of appropriate address, and the data of reading are sent in the described peripheral hardware buffer memory in the storage space corresponding with sending the current DMA passage of reading instruction.
6. multi-channel DMA controller according to claim 4, it is characterized in that described read data module also is used for: the clooating sequence that obtains for arbitration current read instruction, be polled to currently when reading instruction, read response to sending the current down going channel feedback of reading the DMA passage of instruction; In sense data from described CPU internal memory and after sending to described peripheral hardware buffer memory, also run through response to sending the current down going channel feedback of reading the DMA passage of instruction; Then,
Described down going channel also comprises: descending write-back module; Wherein,
Described downlink command generation module also is used for: receive from described read data module read in described downlink command generation module, preserve current BD after the response; Receiving from the running through after the response of described read data module, from the BD that described downlink command generation module is preserved, take out a BD and send to described descending write-back module;
Described descending write-back module is used for: the control information of the BD that receives is rewritten as CPU, revised BD is sent to described CPU internal memory.
7. multi-channel DMA controller according to claim 6 is characterized in that, described descending write-back module specifically is used for:
Preserve revised BD, in judging described descending write-back module, store in the situation of revised BD, predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of BD after the rewriting of preserving, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to described CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, after timing then, the revised BD that preserves as BD to be sent, is sent to described CPU internal memory with BD to be sent.
8. multi-channel DMA controller according to claim 1 is characterized in that, described transfer instruction comprises: write command; Then,
Described DMA passage, specifically comprise: data feedback channel, after being used for receiving the BD updating message from CPU, from described CPU internal memory, read BD, address information according to the data to be written among the big or small BD with reading of the data volume of the data to be sent of storing in the described peripheral hardware buffer memory generates described write command;
Described data transmission unit, specifically comprise: write data module, be used for the write command from the data feedback channel of several described DMA passages is arbitrated, the clooating sequence that obtains according to arbitration, from described peripheral hardware buffer memory, read corresponding data according to each write command successively, and the data of reading are sent to described CPU internal memory.
9. multi-channel DMA controller according to claim 8 is characterized in that, described data feedback channel specifically comprises:
The up BD module of reading is used for reading several BD from described CPU internal memory after the BD updating message that receives from CPU, and preserves several BD that read;
The up-on command generation module, the address information for the data to be written among the BD that data volume is big or small and the described up BD of reading module reads of the data to be sent of storing according to described peripheral hardware buffer memory generates described write command.
10. multi-channel DMA controller according to claim 9 is characterized in that, described up-on command generation module specifically is used for:
In the current time sheet, in described up-on command generation module, have in the situation of idle storage space, from the described up BD of reading module, obtain a BD as current BD;
Generate the write command corresponding with current BD, in the write command that generates, carry the address information of data to be written in the data length information of data to be sent in the described peripheral hardware buffer memory and the CPU internal memory among the current BD;
In described up-on command generation module, preserve current BD;
The write command that generates is sent to the write data module.
11. multi-channel DMA controller according to claim 10 is characterized in that, the write data module specifically is used for:
Current write command in the clooating sequence that obtains for arbitration, according to the data length information in the current write command, from described peripheral hardware buffer memory, read the data of corresponding length in the storage control corresponding with the DMA passage that sends current write command, and the data of reading are sent in the respective stored space in the described CPU internal memory of the address information indication in the current write command.
12. multi-channel DMA controller according to claim 11 is characterized in that, the write data module also is used for: when being polled to current write command, to the data feedback channel feedback write response of the DMA passage that sends current write command; In sense data from described peripheral hardware buffer memory and after sending to described CPU internal memory, also write to the data feedback channel feedback of the DMA passage that sends current write command and finish response; Then,
Described data feedback channel also comprises: up write-back module; Wherein,
Described up-on command generation module also is used for: after the write response that receives from the write data module, preserve current BD at described up-on command generation module; Receive finish response from writing of write data module after, from the BD that described up-on command generation module is preserved, take out a BD and send to described up write-back module;
Described up write-back module is used for: the control information of the BD that receives is rewritten as CPU, the data length information in the described write command is written among the BD, revised BD is sent to described CPU internal memory.
13. multi-channel DMA controller according to claim 12 is characterized in that, described up write-back module specifically is used for:
Preserve revised BD; In judging described up write-back module, store in the situation of revised BD, predetermined write back cycle is carried out timing; Within time-count cycle, in the situation of quantity more than or equal to predetermined quantity of BD after the rewriting of preserving, with the revised BD of predetermined quantity as BD to be sent, BD to be sent is sent to described CPU internal memory, in the situation of quantity less than predetermined quantity of the revised BD that preserves, after timing then, the revised BD that preserves as BD to be sent, is sent to described CPU internal memory with BD to be sent.
CN201210550249.0A 2012-12-17 2012-12-17 Hyperchannel DMA controller Active CN103064807B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210550249.0A CN103064807B (en) 2012-12-17 2012-12-17 Hyperchannel DMA controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210550249.0A CN103064807B (en) 2012-12-17 2012-12-17 Hyperchannel DMA controller

Publications (2)

Publication Number Publication Date
CN103064807A true CN103064807A (en) 2013-04-24
CN103064807B CN103064807B (en) 2015-08-19

Family

ID=48107438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210550249.0A Active CN103064807B (en) 2012-12-17 2012-12-17 Hyperchannel DMA controller

Country Status (1)

Country Link
CN (1) CN103064807B (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442091A (en) * 2013-08-28 2013-12-11 华为技术有限公司 Data transmission method and device
CN103546394A (en) * 2013-10-25 2014-01-29 杭州华三通信技术有限公司 Communication device
CN103761060A (en) * 2014-01-27 2014-04-30 华为技术有限公司 Data processing method and server
WO2016127552A1 (en) * 2015-02-12 2016-08-18 深圳市中兴微电子技术有限公司 Direct memory access (dma) controller and data transmission method
CN108182156A (en) * 2017-11-30 2018-06-19 眭新光 A kind of TCAM multichannel virtuals realization method and system
CN108966190A (en) * 2018-06-25 2018-12-07 北京旅居四方科技有限公司 Water power stake and method, equipment and storage medium for process instruction
CN110069422A (en) * 2018-01-23 2019-07-30 普天信息技术有限公司 Core buffer recovery method based on MIPS multi-core processor
CN111338999A (en) * 2020-02-20 2020-06-26 南京芯驰半导体科技有限公司 DMA system and data transmission method
CN112181887A (en) * 2019-07-05 2021-01-05 迈普通信技术股份有限公司 Data transmission method and device
CN112199309A (en) * 2020-10-10 2021-01-08 北京泽石科技有限公司 Data reading method and device based on DMA engine and data transmission system
CN112260968A (en) * 2020-10-16 2021-01-22 盛科网络(苏州)有限公司 Method and device for processing telemetering data message
CN112486874A (en) * 2020-11-30 2021-03-12 无锡众星微***技术有限公司 Order-preserving management method and device for I/O (input/output) instructions in wide-port scene
CN112631975A (en) * 2020-12-09 2021-04-09 珠海全志科技股份有限公司 Linux-based SPI transmission method
WO2021135763A1 (en) * 2019-12-30 2021-07-08 深圳市中兴微电子技术有限公司 Data processing method and apparatus, storage medium, and electronic apparatus
CN114442951A (en) * 2022-01-24 2022-05-06 珠海泰芯半导体有限公司 Method, device, storage medium and electronic equipment for transmitting multi-channel data
CN115952105A (en) * 2022-12-05 2023-04-11 深圳市朗宇芯科技有限公司 Data transmission method and device based on data cache and storage medium
TWI798976B (en) * 2021-12-02 2023-04-11 大陸商星宸科技股份有限公司 Direct memory access circuit, operation method thereof, and method of generating memory access command

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474568A (en) * 2002-08-06 2004-02-11 华为技术有限公司 Direct internal storage access system and method of multiple path data
CN101788956A (en) * 2009-12-15 2010-07-28 福建星网锐捷网络有限公司 Multi-channel data storage method, device and receiving system
CN102375790A (en) * 2010-08-12 2012-03-14 杭州华三通信技术有限公司 Shared bus transmission system and method
CN102541779A (en) * 2011-11-28 2012-07-04 曙光信息产业(北京)有限公司 System and method for improving direct memory access (DMA) efficiency of multi-data buffer
CN202404581U (en) * 2011-10-24 2012-08-29 北京强度环境研究所 Priority adjustable multi-channel dma controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474568A (en) * 2002-08-06 2004-02-11 华为技术有限公司 Direct internal storage access system and method of multiple path data
CN101788956A (en) * 2009-12-15 2010-07-28 福建星网锐捷网络有限公司 Multi-channel data storage method, device and receiving system
CN102375790A (en) * 2010-08-12 2012-03-14 杭州华三通信技术有限公司 Shared bus transmission system and method
CN202404581U (en) * 2011-10-24 2012-08-29 北京强度环境研究所 Priority adjustable multi-channel dma controller
CN102541779A (en) * 2011-11-28 2012-07-04 曙光信息产业(北京)有限公司 System and method for improving direct memory access (DMA) efficiency of multi-data buffer

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442091B (en) * 2013-08-28 2017-04-26 华为技术有限公司 Data transmission method and device
CN103442091A (en) * 2013-08-28 2013-12-11 华为技术有限公司 Data transmission method and device
CN103546394A (en) * 2013-10-25 2014-01-29 杭州华三通信技术有限公司 Communication device
CN103546394B (en) * 2013-10-25 2017-05-10 新华三技术有限公司 Communication device
CN103761060A (en) * 2014-01-27 2014-04-30 华为技术有限公司 Data processing method and server
CN103761060B (en) * 2014-01-27 2017-02-15 华为技术有限公司 Data processing method and server
WO2016127552A1 (en) * 2015-02-12 2016-08-18 深圳市中兴微电子技术有限公司 Direct memory access (dma) controller and data transmission method
CN105988953A (en) * 2015-02-12 2016-10-05 深圳市中兴微电子技术有限公司 DMA (Direct Memory Access) controller and data transmission method
CN105988953B (en) * 2015-02-12 2019-03-12 深圳市中兴微电子技术有限公司 A kind of direct memory access dma controller and the method for data transmission
CN108182156A (en) * 2017-11-30 2018-06-19 眭新光 A kind of TCAM multichannel virtuals realization method and system
CN108182156B (en) * 2017-11-30 2019-04-26 北京卓讯科信技术有限公司 A kind of TCAM multichannel virtual realization method and system
CN110069422A (en) * 2018-01-23 2019-07-30 普天信息技术有限公司 Core buffer recovery method based on MIPS multi-core processor
CN110069422B (en) * 2018-01-23 2021-06-18 普天信息技术有限公司 Memory buffer recovery method based on MIPS multi-core processor
CN108966190A (en) * 2018-06-25 2018-12-07 北京旅居四方科技有限公司 Water power stake and method, equipment and storage medium for process instruction
CN112181887A (en) * 2019-07-05 2021-01-05 迈普通信技术股份有限公司 Data transmission method and device
CN112181887B (en) * 2019-07-05 2023-05-26 迈普通信技术股份有限公司 Data transmission method and device
WO2021135763A1 (en) * 2019-12-30 2021-07-08 深圳市中兴微电子技术有限公司 Data processing method and apparatus, storage medium, and electronic apparatus
CN111338999B (en) * 2020-02-20 2021-05-28 南京芯驰半导体科技有限公司 DMA system and data transmission method
CN111338999A (en) * 2020-02-20 2020-06-26 南京芯驰半导体科技有限公司 DMA system and data transmission method
CN112199309A (en) * 2020-10-10 2021-01-08 北京泽石科技有限公司 Data reading method and device based on DMA engine and data transmission system
CN112199309B (en) * 2020-10-10 2022-03-15 北京泽石科技有限公司 Data reading method and device based on DMA engine and data transmission system
CN112260968B (en) * 2020-10-16 2022-06-21 苏州盛科通信股份有限公司 Method and device for processing telemetering data message
CN112260968A (en) * 2020-10-16 2021-01-22 盛科网络(苏州)有限公司 Method and device for processing telemetering data message
CN112486874A (en) * 2020-11-30 2021-03-12 无锡众星微***技术有限公司 Order-preserving management method and device for I/O (input/output) instructions in wide-port scene
CN112631975A (en) * 2020-12-09 2021-04-09 珠海全志科技股份有限公司 Linux-based SPI transmission method
CN112631975B (en) * 2020-12-09 2024-06-04 珠海全志科技股份有限公司 SPI transmission method based on Linux
TWI798976B (en) * 2021-12-02 2023-04-11 大陸商星宸科技股份有限公司 Direct memory access circuit, operation method thereof, and method of generating memory access command
CN114442951A (en) * 2022-01-24 2022-05-06 珠海泰芯半导体有限公司 Method, device, storage medium and electronic equipment for transmitting multi-channel data
CN115952105A (en) * 2022-12-05 2023-04-11 深圳市朗宇芯科技有限公司 Data transmission method and device based on data cache and storage medium

Also Published As

Publication number Publication date
CN103064807B (en) 2015-08-19

Similar Documents

Publication Publication Date Title
CN103064807B (en) Hyperchannel DMA controller
CN103198856B (en) A kind of DDR controller and request scheduling method
US20140068134A1 (en) Data transmission apparatus, system, and method
CN109117386A (en) A kind of system and method for network remote read-write secondary storage
CN102541779A (en) System and method for improving direct memory access (DMA) efficiency of multi-data buffer
CN110532205A (en) Data transmission method, device, computer equipment and computer readable storage medium
CN111190735A (en) Linux-based on-chip CPU/GPU (Central processing Unit/graphics processing Unit) pipelined computing method and computer system
CN109426623A (en) A kind of method and device reading data
CN103150216A (en) SoC-integrated multi-port DDR2/3 scheduler and scheduling method
CN106775477A (en) SSD master control BE Buffer, SSD master control, data transfer management device and method
US9239804B2 (en) Back-off mechanism for a peripheral page request log
CN110633233A (en) DMA data transmission processing method based on assembly line
US11526767B2 (en) Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process
US10356009B2 (en) Processor designed for a deterministic switched ethernet network
CN109145397A (en) A kind of external memory arbitration structure for supporting parallel pipelining process to access
CN112463037B (en) Metadata storage method, device, equipment and product
CN111694777B (en) DMA transmission method based on PCIe interface
JP4839489B2 (en) Descriptor control method, direct memory transfer device, and program
CN210804421U (en) Server system
WO2019120274A1 (en) Circular buffer method and apparatus of data for socfpga, storage medium and terminal
CN110427269A (en) Processor and its data transferring method, computer readable storage medium
CN112311695A (en) On-chip bandwidth dynamic allocation method and system
US20140207980A1 (en) Interface control apparatus, data storage apparatus and method for interface control
EP2503746A1 (en) Data transfer apparatus, data transfer method, and information processing apparatus
CN111382855B (en) Data processing device, method, chip and electronic equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee after: RUIJIE NETWORKS CO., LTD.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee before: Fujian Xingwangruijie Network Co., Ltd.