WO2011137078A1 - Measuring direct memory access throughput - Google Patents

Measuring direct memory access throughput Download PDF

Info

Publication number
WO2011137078A1
WO2011137078A1 PCT/US2011/033801 US2011033801W WO2011137078A1 WO 2011137078 A1 WO2011137078 A1 WO 2011137078A1 US 2011033801 W US2011033801 W US 2011033801W WO 2011137078 A1 WO2011137078 A1 WO 2011137078A1
Authority
WO
WIPO (PCT)
Prior art keywords
dma
measuring
data rate
dma channel
channels
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.)
Ceased
Application number
PCT/US2011/033801
Other languages
French (fr)
Inventor
Antonio Arena
German Borkhovik
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.)
Aumovio Systems Inc
Original Assignee
Continental Automotive Systems Inc
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 Continental Automotive Systems Inc filed Critical Continental Automotive Systems Inc
Priority to CN201180021125.7A priority Critical patent/CN102844743B/en
Priority to DE112011101448T priority patent/DE112011101448T5/en
Publication of WO2011137078A1 publication Critical patent/WO2011137078A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Definitions

  • the invention relates generally to the field of Direct Memory Access (DMA).
  • DMA Direct Memory Access
  • the DMA channels comprising: providing a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and determining an available DMA throughput by measuring a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
  • an apparatus for measuring available DMA throughput comprising: one or more microcontrollers; a plurality of DMA channels coupled to the one or more microcontrollers, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and a data rate tool coupled to the measuring DMA channel, the data rate tool being configured to measure a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
  • a computer program product stored on a computer operable medium, the computer program product comprising software code being effective to measure available DMA throughput by being effective to: be provided with a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and determining an available DMA throughput by causing a measurement of a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
  • Figure 1 is a block diagram illustrating an apparatus for measuring available DMA
  • FIG. 2 is a block diagram illustrating an alternative apparatus for measuring available DMA throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
  • Figure 3 is a flow diagram illustrating a method for measuring the service rate of a DMA channel assigned the lowest priority, in accordance with some embodiments.
  • Figure 4 is a flow diagram illustrating a method for measuring available DMA
  • FIG. 5 is a flow diagram illustrating a method for measuring available DMA
  • Figure 6 is a block diagram illustrating a bandwidth meter for measuring available DMA throughput, in accordance with some embodiments.
  • knowing the available throughput of the DMA engine could assist in preventing a bottleneck of the DMA engine. If a high DMA utilization is measured, then containment actions such as shutting down inessential features may be implemented. If the microcontroller DMA engine supports prioritization of its channels, then available DMA throughput may be measured and monitored while software applications are running on the microcontroller. In order to monitor available DMA throughput, a DMA channel may be assigned the lowest priority. The service rate of this DMA channel assigned the lowest priority is first measured while all the other DMA channels are disabled. After this initial service rate is measured, the DMA engine may be used during the operation of software applications running on the microcontroller.
  • the service rate of the DMA channel assigned the lowest priority may be measured.
  • the available throughput of the DMA engine may then be calculated by taking the ratio between the most recent service rate measurement and the initial service rate measurement. Measuring available throughput by first measuring the initial service rate would permit the self calibration of the DMA engine.
  • the service rate of the DMA channel assigned the lowest priority while all the other DMA channels are disabled may be measured once. This initial service rate then becomes a preconfigured property of the DMA engine, making it unnecessary for an initial service rate measurement before the running of software applications on the microcontroller.
  • the service rate of the DMA channel assigned the lowest priority may be measured by continuously activating the idle DMA channel with a fast rate timer.
  • the fast rate timer may be configured to alternatively transfer an ON (' 1 ') or an OFF (' ⁇ ') value to the hardware register that controls the available output pin of the microcontroller.
  • the number of times the DMA channel assigned the lowest priority was serviced may be determined by counting the number of edge transitions resulting from the logic change. The number of edge transitions counted in an arbitrary amount of time equals the number of times the DMA channel assigned the lowest priority was serviced in the same arbitrary amount of time. fl[18] In some embodiments, instead of servicing the DMA channel assigned the lowest priority with alternating ON or OFF values, the DMA channel assigned the lowest priority may be serviced with a sequence of ON values followed by a sequence of OFF values.
  • the edge transitions may be measured with an external device such as a digital oscilloscope.
  • the digital oscilloscope would essentially be measuring a pulse width modulation (PWM) whose average frequency is exactly half the rate at which the DMA channel assigned the lowest priority is serviced.
  • PWM pulse width modulation
  • the measured PWM average frequency would be some other fraction of the rate at which the DMA channel assigned the lowest priority is serviced. For example, if the DMA channel is serviced with a repeating set of two consecutive ON values followed by two consecutive OFF values, then the measured PWM average frequency would be one- quarter the rate at which the DMA channel assigned the lowest priority is serviced.
  • the DMA utilization may be characterized during the running of software applications and over a range of scenarios.
  • the edge transitions may be measured with a microcontroller.
  • the microcontroller mav either be the same microcontroller that is being serviced by the DMA engine or may be another microcontroller all together. If it is the same
  • the signal coming from the DMA channel assigned the lowest priority may either be routed externally or internally. If it is routed internally, then the use of an external pin of the microcontroller may be conserved. Additionally, if the same microcontroller is used, logging the run-time measure of the DMA utilization would allow running applications to take containment actions in order to prevent a bottleneck of the DMA engine.
  • an automotive controller assembly such as an engine control unit, a telematics unit, or a transmission controller may have an integrated DMA controller.
  • the DMA controller may comprise one or more microcontrollers coupled to a plurality of DMA channels. One of the DMA channels would be assigned the lowest data rate priority and would be used as the measuring DMA channel.
  • the DMA throughput would be measured by a data rate tool coupled to the measuring DMA channel and configured to measure the current data rate at which the DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
  • Figure 1 is a block diagram illustrating an apparatus for measuring available DMA
  • DMA engine 1 10 comprises a measuring channel assigned the lowest priority 1 15 and other channels assigned higher priorities 120.
  • the measuring channel assigned the lowest priority 115 is serviced with a timer 125 from the
  • the timer 125 may be configured to alternatively transfer an ON or an OFF value.
  • the number of times the idle channel 1 15 was serviced may then be counted by a counter 135 which counts the number of edge transitions resulting from the alternating transfer of ON and OFF values. All the while that the channel assigned the lowest priority 1 15 is being serviced with the timer 125, the other channels 120 may be used by the
  • FIG. 2 is a block diagram illustrating an alternative apparatus for measuring available DMA throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
  • DMA engine 210 comprises a measuring channel assigned the lowest priority 215 and other channels assigned higher priorities 220.
  • the channel assigned the lowest priority 215 is serviced with a timer 225 from the microcontroller 230.
  • the timer 225 may be configured to alternatively transfer an ON or an OFF value.
  • the number of times the channel assigned the lowest priority 115 was serviced may then be counted by either another microcontroller or digital oscilloscope 235.
  • FIG. 3 is a flow diagram illustrating a method for measuring the service rate of a DMA channel assigned the lowest priority, in accordance with some embodiments.
  • the method illustrated in Figure 3 may be performed by one or more of the devices illustrated in Figure 1 and Figure 2.
  • Processing begins at 300 whereupon, at block 310, a fast rate timer is configured to alternatively transfer to the measuring DMA channel assigned the lowest priority an ON or an OFF value to the hardware register that controls the available output pin of the microcontroller.
  • the number of edge transitions resulting from alternating transfers of ON and OFF values is counted either with a microcontroller or a digital oscilloscope.
  • FIG. 320 is a flow diagram illustrating a method for measuring available DMA
  • Processing begins at 400 whereupon, at block 410, the initial rate at which the measuring DMA channel assigned the lowest priority is serviced while all other DMA channels are disabled is measured. In block 415, the current rate at which the DMA channel assigned the lowest priority is serviced while an application is running is measured. In block 420, the available DMA throughput is determined as a ratio between the current service rate and the initial service rate. The idle channel is continuously monitored by repeating blocks 415 and 420.
  • Figure 5 is a flow diagram illustrating a method for measuring available DMA
  • FIG. 5 is a block diagram illustrating a bandwidth meter for measuring available DMA throughput, in accordance with some embodiments.
  • bandwidth meter 610 comprises processor 615 and memory unit 620.
  • Processor 615 is configured to perform computations and general control operations and memory unit 620 is configured to measure available DMA throughput by being effective to be provided with a plurality of DMA channels 625.
  • the DMA channels 625 comprise a measuring DMA channel 630 having a lowest data rate priority and other DMA channels 635.
  • the available DMA throughput is determined by causing a measurement of a current data rate at which the measuring DMA channel 630 is serviced in response to initiating a data transfer on the measuring DMA channel 630.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Methods and systems for measuring available direct memory access (DMA) throughput are disclosed, including providing a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority, and determining an available DMA throughput by measuring a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.

Description

Measuring Direct Memory Access Throughput
l I. Background
The invention relates generally to the field of Direct Memory Access (DMA).
II. Summary
[ 2] In one respect, disclosed is a method for determining DMA throughput, the method
comprising: providing a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and determining an available DMA throughput by measuring a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
[ 3] In another respect, disclosed is an apparatus for measuring available DMA throughput, the apparatus comprising: one or more microcontrollers; a plurality of DMA channels coupled to the one or more microcontrollers, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and a data rate tool coupled to the measuring DMA channel, the data rate tool being configured to measure a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
[ 4] In yet another respect, disclosed is a computer program product stored on a computer operable medium, the computer program product comprising software code being effective to measure available DMA throughput by being effective to: be provided with a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and determining an available DMA throughput by causing a measurement of a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
[ 5] Numerous additional embodiments are also possible. III. Brief Description of the Drawings
[ 6] Other objects and advantages of the invention may become apparent upon reading the detailed description and upon reference to the accompanying drawings. fl[7] Figure 1 is a block diagram illustrating an apparatus for measuring available DMA
throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
[ S] Figure 2 is a block diagram illustrating an alternative apparatus for measuring available DMA throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments. fl[9] Figure 3 is a flow diagram illustrating a method for measuring the service rate of a DMA channel assigned the lowest priority, in accordance with some embodiments. fl[10] Figure 4 is a flow diagram illustrating a method for measuring available DMA
throughput based on measuring an initial service rate of a DMA channel assigned the lowest priority and measuring a current data rate at which the DMA channel assigned the lowest priority is serviced, in accordance with some embodiments. flfll] Figure 5 is a flow diagram illustrating a method for measuring available DMA
throughput based on reading a preconfigured service rate of a DMA channel assigned the lowest priority and measuring a current data rate at which the DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
[ 12] Figure 6 is a block diagram illustrating a bandwidth meter for measuring available DMA throughput, in accordance with some embodiments.
[ 13] While the invention is subject to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and the
accompanying detailed description. It should be understood, however, that the drawings and detailed description are not intended to limit the invention to the particular embodiments. This disclosure is instead intended to cover all modifications, equivalents, and alternatives falling within the scope of the present invention as defined by the appended claims.
IV. Detailed Description
fl[14] One or more embodiments of the invention are described below. It should be noted that these and any other embodiments are exemplary and are intended to be illustrative of the invention rather than limiting. While the invention is widely applicable to different types of systems, it is impossible to include all of the possible embodiments and contexts of the invention in this disclosure. Upon reading this disclosure, many alternative embodiments of the present invention will be apparent to persons of ordinary skill in the art.
[ 15] In some embodiments, knowing the available throughput of the DMA engine could assist in preventing a bottleneck of the DMA engine. If a high DMA utilization is measured, then containment actions such as shutting down inessential features may be implemented. If the microcontroller DMA engine supports prioritization of its channels, then available DMA throughput may be measured and monitored while software applications are running on the microcontroller. In order to monitor available DMA throughput, a DMA channel may be assigned the lowest priority. The service rate of this DMA channel assigned the lowest priority is first measured while all the other DMA channels are disabled. After this initial service rate is measured, the DMA engine may be used during the operation of software applications running on the microcontroller. During the running of software applications, the service rate of the DMA channel assigned the lowest priority may be measured. The available throughput of the DMA engine may then be calculated by taking the ratio between the most recent service rate measurement and the initial service rate measurement. Measuring available throughput by first measuring the initial service rate would permit the self calibration of the DMA engine.
[ 16] In some embodiments, the service rate of the DMA channel assigned the lowest priority while all the other DMA channels are disabled may be measured once. This initial service rate then becomes a preconfigured property of the DMA engine, making it unnecessary for an initial service rate measurement before the running of software applications on the microcontroller. fl[17] In some embodiments, the service rate of the DMA channel assigned the lowest priority may be measured by continuously activating the idle DMA channel with a fast rate timer. The fast rate timer may be configured to alternatively transfer an ON (' 1 ') or an OFF ('Ο') value to the hardware register that controls the available output pin of the microcontroller. The number of times the DMA channel assigned the lowest priority was serviced may be determined by counting the number of edge transitions resulting from the logic change. The number of edge transitions counted in an arbitrary amount of time equals the number of times the DMA channel assigned the lowest priority was serviced in the same arbitrary amount of time. fl[18] In some embodiments, instead of servicing the DMA channel assigned the lowest priority with alternating ON or OFF values, the DMA channel assigned the lowest priority may be serviced with a sequence of ON values followed by a sequence of OFF values.
Servicing the DMA channel assigned the lowest priority in such a fashion would slow the number of edge transitions that would need to be counted. fl[19] In some embodiments, the edge transitions may be measured with an external device such as a digital oscilloscope. In the case of servicing the DMA channel with alternating transfers of ON and OFF values, the digital oscilloscope would essentially be measuring a pulse width modulation (PWM) whose average frequency is exactly half the rate at which the DMA channel assigned the lowest priority is serviced. If the DMA channel is instead serviced with a sequence of ON values followed by a sequence of OFF values, then the measured PWM average frequency would be some other fraction of the rate at which the DMA channel assigned the lowest priority is serviced. For example, if the DMA channel is serviced with a repeating set of two consecutive ON values followed by two consecutive OFF values, then the measured PWM average frequency would be one- quarter the rate at which the DMA channel assigned the lowest priority is serviced.
Using an external digital oscilloscope would also permit the use of more complex tools for statistical analysis of the time between edge transitions. By monitoring the time between edge transitions, the DMA utilization may be characterized during the running of software applications and over a range of scenarios. fl[20] In some embodiments, the edge transitions may be measured with a microcontroller. The microcontroller mav either be the same microcontroller that is being serviced by the DMA engine or may be another microcontroller all together. If it is the same
microcontroller, then the signal coming from the DMA channel assigned the lowest priority may either be routed externally or internally. If it is routed internally, then the use of an external pin of the microcontroller may be conserved. Additionally, if the same microcontroller is used, logging the run-time measure of the DMA utilization would allow running applications to take containment actions in order to prevent a bottleneck of the DMA engine.
[ 21] In some embodiments, an automotive controller assembly such as an engine control unit, a telematics unit, or a transmission controller may have an integrated DMA controller. The DMA controller may comprise one or more microcontrollers coupled to a plurality of DMA channels. One of the DMA channels would be assigned the lowest data rate priority and would be used as the measuring DMA channel. The DMA throughput would be measured by a data rate tool coupled to the measuring DMA channel and configured to measure the current data rate at which the DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel. fl[22] Figure 1 is a block diagram illustrating an apparatus for measuring available DMA
throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
[ 23] In some embodiments, DMA engine 1 10 comprises a measuring channel assigned the lowest priority 1 15 and other channels assigned higher priorities 120. The measuring channel assigned the lowest priority 115 is serviced with a timer 125 from the
microcontroller 130. In alternative embodiments, other data rate measurements may be used. The timer 125 may be configured to alternatively transfer an ON or an OFF value. The number of times the idle channel 1 15 was serviced may then be counted by a counter 135 which counts the number of edge transitions resulting from the alternating transfer of ON and OFF values. All the while that the channel assigned the lowest priority 1 15 is being serviced with the timer 125, the other channels 120 may be used by the
microcontroller 130 during the running of software applications. fl[24] Figure 2 is a block diagram illustrating an alternative apparatus for measuring available DMA throughput based on measuring a current data rate at which a DMA channel assigned the lowest priority is serviced, in accordance with some embodiments.
[ 25] In some embodiments, DMA engine 210 comprises a measuring channel assigned the lowest priority 215 and other channels assigned higher priorities 220. The channel assigned the lowest priority 215 is serviced with a timer 225 from the microcontroller 230. The timer 225 may be configured to alternatively transfer an ON or an OFF value. The number of times the channel assigned the lowest priority 115 was serviced may then be counted by either another microcontroller or digital oscilloscope 235.
[ 26] Figure 3 is a flow diagram illustrating a method for measuring the service rate of a DMA channel assigned the lowest priority, in accordance with some embodiments. In some embodiments, the method illustrated in Figure 3 may be performed by one or more of the devices illustrated in Figure 1 and Figure 2. Processing begins at 300 whereupon, at block 310, a fast rate timer is configured to alternatively transfer to the measuring DMA channel assigned the lowest priority an ON or an OFF value to the hardware register that controls the available output pin of the microcontroller. At block 315, the number of edge transitions resulting from alternating transfers of ON and OFF values is counted either with a microcontroller or a digital oscilloscope. At block 320, the number of edge transitions counted in an arbitrary amount of time equals the number of times the DMA channel assigned the lowest priority was serviced in the same arbitrary amount of time. Processing subsequently ends at 399. fl[27] Figure 4 is a flow diagram illustrating a method for measuring available DMA
throughput based on measuring an initial service rate of a DMA channel assigned the lowest priority and measuring a current data rate at which the DMA channel assigned the lowest priority is serviced, in accordance with some embodiments. fl[28] Processing begins at 400 whereupon, at block 410, the initial rate at which the measuring DMA channel assigned the lowest priority is serviced while all other DMA channels are disabled is measured. In block 415, the current rate at which the DMA channel assigned the lowest priority is serviced while an application is running is measured. In block 420, the available DMA throughput is determined as a ratio between the current service rate and the initial service rate. The idle channel is continuously monitored by repeating blocks 415 and 420.
[ 29] Figure 5 is a flow diagram illustrating a method for measuring available DMA
throughput based on reading a preconfigured service rate of a DMA channel assigned the lowest priority and measuring a current data rate at which the DMA channel assigned the lowest priority is serviced, in accordance with some embodiments. fl[30] Processing begins at 500 whereupon, at block 510, where the preconfigured rate at which the measuring DMA channel assigned the lowest priority is serviced while all other DMA channels are disable is read. In block 515, the current rate at which the DMA channel assigned the lowest priority is serviced while an application is running is measured. In block 520, the available DMA throughput is determined as a ratio between the current service rate and the preconfigured service rate. The idle channel is continuously monitored by repeating blocks 515 and 520. fl[31] Figure 6 is a block diagram illustrating a bandwidth meter for measuring available DMA throughput, in accordance with some embodiments.
[ 32] In some embodiments, bandwidth meter 610 comprises processor 615 and memory unit 620. Processor 615 is configured to perform computations and general control operations and memory unit 620 is configured to measure available DMA throughput by being effective to be provided with a plurality of DMA channels 625. The DMA channels 625 comprise a measuring DMA channel 630 having a lowest data rate priority and other DMA channels 635. The available DMA throughput is determined by causing a measurement of a current data rate at which the measuring DMA channel 630 is serviced in response to initiating a data transfer on the measuring DMA channel 630. fl[33] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. fl[34] The benefits and advantages that may be provided by the present invention have been described above with regard to specific embodiments. These benefits and advantages, and any elements or limitations that may cause them to occur or to become more pronounced are not to be construed as critical, required, or essential features of any or all of the claims. As used herein, the terms "comprises," "comprising," or any other variations thereof, are intended to be interpreted as non-exclusively including the elements or limitations which follow those terms. Accordingly, a system, method, or other embodiment that comprises a set of elements is not limited to only those elements, and may include other elements not expressly listed or inherent to the claimed
embodiment. fl[35] While the present invention has been described with reference to particular embodiments, it should be understood that the embodiments are illustrative and that the scope of the invention is not limited to these embodiments. Many variations, modifications, additions and improvements to the embodiments described above are possible. Tt is contemplated that these variations, modifications, additions and improvements fall within the scope of the invention as detailed within the following claims.

Claims

V. Claims
1. A method for determining DMA throughput, the method comprising:
providing a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and
determining an available DMA throughput by measuring a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
2. The method of Claim 1, further comprising comparing the current data rate to an idle data rate, the idle data rate being a rate at which the measuring DMA channel is serviced while the other DMA channels are disabled.
3. The method of Claim 2, where the idle data rate is preconfigured.
4. The method of Claim 1, where initiating a data transfer comprises alternatively transferring an ON or an OFF value to a hardware register that controls the measuring DMA channel output pin.
5. The method of Claim 4, where measuring the current data rate at which the DMA channel assigned the lowest priority is serviced comprises counting the number of edge transitions resulting from alternatively transferring the ON or the OFF values to the DMA channel assigned the lowest priority output pin within an arbitrary length of time.
6. The method of Claim 5, further comprising using a digital oscilloscope to measure the number of edge transitions.
7. The method of Claim 5, further comprising using a microcontroller to measure the number of edge transitions.
8. An apparatus for measuring available DMA throughput, the apparatus comprising: one or more processors; and
one or more memory units coupled to the processors,
the apparatus being configured to:
couple to a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and
measure a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
9. The apparatus of Claim 8, where the apparatus is further configured to compare the current data rate to an idle data rate, the idle data rate being a rate at which the measuring DMA channel is serviced while the other DMA channels are disabled.
10. The apparatus of Claim 9, where the apparatus is preconfigured with the data rate of the DMA channel assigned the lowest priority while all other DMA channels are disabled.
11. The apparatus of Claim 8, where the apparatus is further configured to service the DMA channel assigned the lowest priority by alternatively transferring an ON or an OFF value to a hardware register that controls the DMA channel assigned the lowest priority output pin.
12. The apparatus of Claim 11, where the apparatus being configured to initiate a data transfer comprises the apparatus being configured to count the number of edge transitions resulting from alternatively transferring the ON or the OFF values to the measuring within an arbitrary length of time.
13. The apparatus of Claim 12, where the data rate tool comprises a digital oscilloscope to measure the number of edge transitions.
14. The apparatus of Claim 12, where the data rate tool comprises a microcontroller to measure the number of edge transitions.
15. The apparatus of Claim 8, further comprising a vehicle, where the apparatus is mounted to the vehicle.
16. A computer program product stored on a computer operable medium, the computer program product comprising software code being effective to measure available DMA throughput by being effective to:
be provided with a plurality of DMA channels, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and
determining an available DMA throughput by causing a measurement of a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
17. The computer program product of Claim 16, further comprising comparing the
current data rate to an idle data rate, the idle data rate being a rate at which the measuring DMA channel is serviced while the other DMA channels are disabled.
18. The computer program product of Claim 17, where the idle data rate is preconfigured.
19. The computer program product of Claim 16, where the software code is further
configured to cause a measurement of the current data rate by causing alternating ON or OFF values to be transferred to a hardware register that controls the DMA channel.
20. The computer program product of Claim 19, where the software code is further
configured to cause the measurement of the current data rate by causing the counting of a number of edge transitions resulting from alternatively transferring the ON or the OFF values to the DMA channel assigned the lowest priority output pin within an arbitrary length of time.
21. An automotive assembly, the automotive assembly comprising:
an engine control unit, a telematics unit, a transmission controller, or any other automotive controller;
nne nr mnre microcontrollers; a plurality of DMA channels coupled to the one or more microcontrollers, the DMA channels comprising a measuring DMA channel and other DMA channels, the measuring DMA channel having a lowest data rate priority; and
a data rate tool coupled to the measuring DMA channel, the data rate tool being configured to measure a current data rate at which the measuring DMA channel is serviced in response to initiating a data transfer on the measuring DMA channel.
PCT/US2011/033801 2010-04-26 2011-04-25 Measuring direct memory access throughput Ceased WO2011137078A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180021125.7A CN102844743B (en) 2010-04-26 2011-04-25 Measure direct memory access (DMA) handling capacity
DE112011101448T DE112011101448T5 (en) 2010-04-26 2011-04-25 Measuring direct memory access throughput

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/766,923 2010-04-26
US12/766,923 US8214557B2 (en) 2010-04-26 2010-04-26 Measuring direct memory access throughput

Publications (1)

Publication Number Publication Date
WO2011137078A1 true WO2011137078A1 (en) 2011-11-03

Family

ID=44246094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/033801 Ceased WO2011137078A1 (en) 2010-04-26 2011-04-25 Measuring direct memory access throughput

Country Status (4)

Country Link
US (1) US8214557B2 (en)
CN (1) CN102844743B (en)
DE (1) DE112011101448T5 (en)
WO (1) WO2011137078A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221340A (en) * 2011-04-12 2012-11-12 Fujitsu Ltd Control method, program and computer
US11231987B1 (en) * 2019-06-28 2022-01-25 Amazon Technologies, Inc. Debugging of memory operations
CN113051200B (en) * 2021-03-30 2024-01-09 无锡源代码科技有限公司 Device and method for parallel data transmission and storage based on two-way data acquisition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4502117A (en) * 1982-03-04 1985-02-26 Tokyo Shibaura Denki Kabushiki Kaisha DMA Bus load varying unit
US5091870A (en) * 1988-05-27 1992-02-25 Ncr Corporation Apparatus for measuring the speed of transmission of digital characters
WO2005003976A1 (en) * 2003-06-25 2005-01-13 Unisys Corporation Workload profiling in computers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085710B1 (en) * 1998-01-07 2006-08-01 Microsoft Corporation Vehicle computer system audio entertainment system
US7146285B2 (en) 2003-05-19 2006-12-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Integrated circuit with parameter measurement
JP4362135B2 (en) * 2007-02-13 2009-11-11 富士通株式会社 Data transfer apparatus and data transfer method
US9032113B2 (en) * 2008-03-27 2015-05-12 Apple Inc. Clock control for DMA busses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4502117A (en) * 1982-03-04 1985-02-26 Tokyo Shibaura Denki Kabushiki Kaisha DMA Bus load varying unit
US5091870A (en) * 1988-05-27 1992-02-25 Ncr Corporation Apparatus for measuring the speed of transmission of digital characters
WO2005003976A1 (en) * 2003-06-25 2005-01-13 Unisys Corporation Workload profiling in computers

Also Published As

Publication number Publication date
CN102844743B (en) 2015-11-25
CN102844743A (en) 2012-12-26
US8214557B2 (en) 2012-07-03
US20110264830A1 (en) 2011-10-27
DE112011101448T5 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
US8527794B2 (en) Realtime power management of integrated circuits
US9082242B2 (en) Vehicle network health assessment
CN102072822B (en) Vehicle diagnosing apparatus
US11122070B2 (en) Monitoring device monitoring network
TWI694336B (en) Bus system and detecting method thereof
US10606772B2 (en) USB2 high speed connection for testing
US8214557B2 (en) Measuring direct memory access throughput
WO2003019379A2 (en) Adaptively monitoring bus signals
CN107132861B (en) Method and system for configurable temperature control of a controller processor
JP4638916B2 (en) Method and apparatus for monitoring process execution
CN108827648A (en) aging monitoring method and device
TWM660529U (en) System for screening learning sample data and removing abnormal data for machine learning
KR20040033472A (en) Parameter generating circuit for deciding the priority of master blocks and method there of
CN100533313C (en) Measuring device for process technology and method for operating the measuring device
JP4504737B2 (en) Performance monitor circuit
CN110177032B (en) Message routing quality monitoring method and gateway controller
JP2014146222A (en) Microcomputer device for vehicle
JP6979630B2 (en) Monitoring equipment, monitoring methods and programs
US8510482B2 (en) Data processing system having peripheral-paced DMA transfer and method therefor
US10837990B2 (en) Semiconductor device
CN108830476B (en) Method for evaluating cognitive testability information flow and terminal equipment
JPH0736742A (en) Program operation monitoring circuit
CN110268692A (en) A kind of data processing method, device, controller and movable fixture
CN100429491C (en) anti-noise device and method for temperature measurement
RU2656731C2 (en) Method of the queuing systems with the can-interface standard data exchange bus organization operability monitoring by the transmitted precisely known unique code sequence of the stations using the unidirectional pairing device

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180021125.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11717442

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112011101448

Country of ref document: DE

Ref document number: 1120111014481

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11717442

Country of ref document: EP

Kind code of ref document: A1