Visible to Intel only — GUID: fhp1742233699792
Ixiasoft
Visible to Intel only — GUID: fhp1742233699792
Ixiasoft
3.9.1. Optimizing Efficiency for Secondary Controller
- 2ch x16 LPDDR4
- 1ch x16 of LPDDR4 on the top sub-bank
Asychronous Clocking Mode (Fabric Direct - User Clock Asychronous to PHY)
You can improve the efficiency for sequential access pattern on the secondary controller by increasing the AXI clock frequency. Recommendation is to set the AXI clock frequency to 1/4 of memory clock frequency. You can further improve the efficiency of sequential write access pattern on the secondary controller by increasing the burst length as shown in the Table 1. The data shown in the table is obtained by using a 2ch x16 LPDDR4 design, running at 1066.667MHz.
AXI Clock Frequency (MHz) | Pattern | Burst Length | Controller Efficiency (%) | |
---|---|---|---|---|
Primary | Secondary | |||
133.333 (Equivalent to Sync Mode) |
Sequential write | 2 | ~90 | ~40 |
Sequential read | ~90 | ~50 | ||
266.667 |
Sequential write | 2 | ~90 | ~75 |
Sequential read | ~90 | ~90 | ||
Sequential write | 4 | ~90 | ~80 | |
Sequential read | ~90 | ~90 | ||
Sequential write | 8 | ~90 | ~90 | |
Sequential read | ~90 | ~90 | ||
Sequential write | 16 | ~90 | ~90 | |
Sequential read | ~90 | ~90 |
Random access patterns or mixed traffic patterns can mitigate the differences in the efficiency for the primary controller and secondary controller.
AXI Clock Frequency (MHz | Pattern | Burst Length | Controller Efficiency (%) | |
---|---|---|---|---|
Primary | Secondary | |||
133.333 | Random write | 2 | ~40 | ~39 |
Random read | ~38 | ~38 | ||
266.667 | Random write | 2 | ~41 | ~41 |
Random read | ~38 | ~38 |
With increased AXI clock frequency, the efficiency number reported by the PMON IP represents the utilization of the AXI bus instead of controller efficiency. The following equation represents the efficiency of the memory controller:
Controller efficiency = AXI transactions accepted by AXI bus / Memory Controller Bandwidth * 100 %
= ( PMON efficiency * AXI Clock Freq * 256-bit ) / (16-bit * Mem Clock Freq ) * 100%
Synchronous Clocking Mode (Fabric Direct – User Clock Synchronous to PHY)
When using x16 2-channel configuration for long burst sequential access in your LPDDR4 interface during write or read operation, performance is limited to 50% per read/write sub-channel for the secondary controller.
If your application requires high controller efficiency for sequential access pattern, it is recommended to use asynchronous clocking mode. Random access patterns or mixed traffic patterns can mitigate the differences in the efficiency for the primary controller and secondary controller.
Note that in synchronous clocking mode, the efficiency for the primary controller used for implementing a x32 LPDDR4 memory interface has reduced performance. This is because the bandwidth for AXI bus is only half of the bandwidth for the memory controller.
AXI Bus Bandwidth = AXI Clock Freq x 256-bit = ( Memory Clock Freq / 8 ) * 256 = 32 * Memory Clock Frequency
Memory Controller Bandwidth = Memory Clock Freq * 2 * 32-bit = 64 * Memory Clock Frequency = 2 * AXI Bus Bandwidth