Increasing the memory subsystem performance by reordering requests to memory controller

Cover Page

Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription or Fee Access

Abstract

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

About the authors

A. V. Kornilenko

System Research Institute for System Analysis

Author for correspondence.
Email: akorn@cs.niisi.ras.ru

Ph.D. Tech. Sc., Head of the Sector

Russian Federation, Moscow

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

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2025 Informacionnye Tehnologii



СМИ зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор).
Регистрационный номер и дата принятия решения о регистрации СМИ: серия ПИ № 77 - 15565 от 02 июня 2003 г.