Analyzing Memory Channel Saturation - 2023.2 English

Versal Adaptive SoC System Integration and Validation Methodology Guide (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 English

To determine if the channel is saturated, you must analyze the channel performance metrics. The key characteristic of a saturated operating condition for a memory channel is a ~0% idle_cycle metric counter, which indicates the memory controller has no available cycles. A metric counter with less than 10% can also indicate a saturated operating condition.

There are several root causes for a saturated operating condition. For example, memory channel saturation might be caused by a poor memory subsystem layout or generalized random memory access. In some cases, a saturated operating condition does not indicate a channel, memory, or NoC performance issue but rather the emergent behavior of the memory controller.

The following table shows design characteristics that indicate memory channel saturation, the root cause, and the corrective action to take.

Table 1. Memory Channel Saturation Analysis
Characteristics Root Cause Corrective Action
Large bus_turnarounds (%) High mix of read and write transactions Re-organize accesses or attempt different write-ordering (relaxed)
High precharge (%) Large number of bank misses Re-organize access
High overhead (%) Multiple causes Check burst size and other AXI properties