WO2011137078A1 - Measuring direct memory access throughput - Google Patents
Measuring direct memory access throughput Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, buses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring 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
Description
Claims
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)
| 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)
| 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)
| 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 |
-
2010
- 2010-04-26 US US12/766,923 patent/US8214557B2/en active Active
-
2011
- 2011-04-25 CN CN201180021125.7A patent/CN102844743B/en active Active
- 2011-04-25 WO PCT/US2011/033801 patent/WO2011137078A1/en not_active Ceased
- 2011-04-25 DE DE112011101448T patent/DE112011101448T5/en active Pending
Patent Citations (3)
| 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 |