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.
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 |