main| new issue| archive| editorial board| for the authors| publishing house|
Ðóññêèé
Main page
New issue
Archive of articles
Editorial board
For the authors
Publishing house

 

 


ABSTRACTS OF ARTICLES OF THE JOURNAL "INFORMATION TECHNOLOGIES".
No. 10. Vol. 31. 2025

DOI: 10.17587/it.31.547-552

A. V. Kornilenko, Ph.D. Tech. Sc., Head of the Sector,
System Research Institute for System Analysis, Moscow, Russian Federation

Increasing the Memory Subsystem Performance by Reordering Requests to Memory Controller

Received on 05.11.2024
Accepted on 13.01.2025

The paper describes the method of increasing memory performance by reordering requests to memory controller. DDR SDRAM is organized in 8 or 16 banks. Each bank is independent from each other, but if the contiguous access requests go to the same bank, the old row in this bank precharge operation and activation of a new row operation have to be performed. If DDR SDRAM access has frequent open row conflicts in the banks, memory subsystem performance significantly decreases. To increase memory access bandwidth, we need to make data burst transfers as long as possible. However, for example, copying algorithms of the Debian Linux operation system use the burst length limited by the cacheline size. To avoid it, it is proposed to reorder read requests with write requests. The reordering control is being done with a state machine. This state machine delays write requests by a dedicated FIFO. Read requests are first processed. If the address dependence in the read and write requests is detected, those requests are sent to DDR SDRAM memory in order. After debugging on the simulator, this mechanism was implemented in a FPGA. The performance was measured on the data transfer cycles with and without requests reordering. Measurements on copying data using the Linux operating system show an increase in bandwidth up to 39 %.
Keywords: memory subsystem, memory controller, memory performance, data coping, reordering of requests

P. 547-552

Full text on eLIBRARY

Acknowledgement: The work was carried out under the state task of the NRC "Kurchatov Institute" — SRISA on the topic No. FNEF-2024-0003.

References

  1. Bobkov S. G., Basaev À . S. The methods and means of implementing high performance microprocessor systems. Moscow, Technosphere, 2021, p. 136 (in Russian).
  2. Aryashev S. I., Kornilenko A. V., Nikolina N. V., Petrov K. A. Increase the fault tolerance and performance of the memory subsystem of microprocessor system. Electronics, micro and nanoelectronics. Collection of scientific papers , Moscow, MEPhI, 2012, pp. 173—178 (in Russian).
  3. Bayliss S., Constantinides G. A. Application specific memory access, reuse and reordering for SDRAM, Proceedings of the 7th International Symposium on Applied Reconfigurable Computing. Belfast. Mar. 2011, pp. 41—52.
  4. HimaBindhu J., Nagaveni B., Kiran Kumar Reddy S., Jyothi V. Implementation of High Speed DDR3 SDRAM Memory Controller by Using XILINX Software, Proceedings of the 6 th International Conference on Communications and Cyber Physical Engineering , Feb. 2024, pp. 517—523.
  5. Csordas G., Asiatici M., Ienne P. In Search of Lost Bandwidth: Extensive Reordering of DRAM Accesses on FPGA, International Conference on Field-Programmable Technology (ICFPT) , 2019, pp. 188—196, DOI: 10.1109/icfpt47387.2019.00030.
  6. Kim Y., Papamichael M., Mutlu O., Harchol-Balter M. Thread Cluster Memory Scheduling: Exploiting Differences in Memory Access Behavior, 43rd Annual IEEE / ACM International Symposium on Microarchitecture , 2010, pp. 65—76, DOI: 10.1109/micro.2010.51.

 

To the contents