I am testing how to get the highest performance of Raspberry pi 4 (4B). After several weeks of trials and research, I want to explore the following performance bottleneck about the hardware capabilities:
1. The new SD controller (for the MicroSD plug) can support DDR50 rate (read bandwidth measured 41.7 MB/s) by 1.8 V signal voltage now. After some modifying the kernel driver and controlling the special register, with a good MicroSD card, the bandwidth will close to SDR104 (stable 84.1 MB/s read), but once I switched to the SDR104 mode, it can only reach about 57 MB/s (stable) or the filesystem will be (re)mounted as read-only mode. I am curious whether it can support the speed of SDR104 in practice? If not, it is mainly a question of hardware capabilities, a problem with the signal, or the software or firmware issue? Will SDR104 officially supported in the future?
2. I am very grateful for the improvement of RPi 4 and the working hard of RPF eng as we can finally use the updated 3200 MHz LPDDR4 memory! It is quite enough. But after long-term measurement, I found that in the best case, only about 4117 MiB/s read bandwidth can be achieved. According to calculations, the theoretical upper limit is about 10.8 GiB/s, so the actually achievable bandwidth is about 38% of the theoretical value. Is this due to the lack of outstanding memory access, the hardware capabilities of DMC, or the problem that 2 memory channels cannot operate in parallel? What cause this? And, is there a way to improve it?
3. The capability of power output of the USB Type-A ports. After measurement, the maximum current is only about 1.175A (hard to get 1.2A as my test). If I use a better Type-C charger (e.g. 5A which is the maximum current of the connector), is there a way to increase this limit?
Has anyone studied these issues about performance, any ideas or comments are welcome!
Thanks!
