| CPC G06F 3/0613 (2013.01) [G06F 3/0631 (2013.01); G06F 3/0673 (2013.01); G06F 3/0683 (2013.01)] | 20 Claims |

|
1. A memory subsystem of a system on chip (SoC) comprising:
a memory controller operably connected to a credit controller, the memory controller comprising a buffer configured to store transaction requests, from one or more clients, to access data in one or more random-access memories (RAMs), the memory controller configured to:
monitor, for each client of the one or more clients, statistics of the transaction requests served by the memory controller, the statistics comprising at least two of a number of page hits in the one or more RAMs, a number of conflicts that require closing a page of the one or more RAMs before another page can be opened, or a respective number of credits allocated to the client;
determine, based on the statistics, whether memory throughput would be increased by increasing or decreasing the respective number of credits allocated to at least one client of the one or more clients; and
generate, based on a determination that the memory throughput would be increased, an output signal, the output signal configured to indicate to the credit controller that the respective number of credits allocated to the at least one client of the one or more clients should be increased or decreased.
|