<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root>
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" article-type="research-article" dtd-version="1.2" xml:lang="en"><front><journal-meta><journal-id journal-id-type="publisher-id">Informacionnye Tehnologii</journal-id><journal-title-group><journal-title xml:lang="en">Informacionnye Tehnologii</journal-title><trans-title-group xml:lang="ru"><trans-title>Информационные технологии</trans-title></trans-title-group></journal-title-group><issn publication-format="print">1684-6400</issn><publisher><publisher-name xml:lang="en">New Technologies Publishing House</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="publisher-id">702082</article-id><article-id pub-id-type="doi">10.17587/it.31.547-552</article-id><article-categories><subj-group subj-group-type="toc-heading" xml:lang="en"><subject>Computing systems and networks</subject></subj-group><subj-group subj-group-type="toc-heading" xml:lang="ru"><subject>Вычислительные системы и сети</subject></subj-group><subj-group subj-group-type="article-type"><subject>Research Article</subject></subj-group></article-categories><title-group><article-title xml:lang="en">Increasing the memory subsystem performance by reordering requests to memory controller</article-title><trans-title-group xml:lang="ru"><trans-title>Переупорядочивание запросов устройств к контроллеру динамической памяти для повышения производительности вычислительной системы</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author"><name-alternatives><name xml:lang="en"><surname>Kornilenko</surname><given-names>A. V.</given-names></name><name xml:lang="ru"><surname>Корниленко</surname><given-names>А. В.</given-names></name></name-alternatives><address><country country="RU">Russian Federation</country></address><bio xml:lang="en"><p>Ph.D. Tech. Sc., Head of the Sector</p></bio><bio xml:lang="ru"><p>канд. техн. наук, зав. сектором</p></bio><email>akorn@cs.niisi.ras.ru</email><xref ref-type="aff" rid="aff1"/></contrib></contrib-group><aff-alternatives id="aff1"><aff><institution xml:lang="en">System Research Institute for System Analysis</institution></aff><aff><institution xml:lang="ru">Федеральное государственное автономное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Национального исследовательского центра "Курчатовский институт"</institution></aff></aff-alternatives><pub-date date-type="pub" iso-8601-date="2025-10-15" publication-format="electronic"><day>15</day><month>10</month><year>2025</year></pub-date><volume>31</volume><issue>10</issue><issue-title xml:lang="en"/><issue-title xml:lang="ru"/><fpage>547</fpage><lpage>552</lpage><history><date date-type="received" iso-8601-date="2026-02-02"><day>02</day><month>02</month><year>2026</year></date><date date-type="accepted" iso-8601-date="2026-02-02"><day>02</day><month>02</month><year>2026</year></date></history><permissions><copyright-statement xml:lang="en">Copyright ©; 2025, Informacionnye Tehnologii</copyright-statement><copyright-statement xml:lang="ru">Copyright ©; 2025, Информационные технологии</copyright-statement><copyright-year>2025</copyright-year><copyright-holder xml:lang="en">Informacionnye Tehnologii</copyright-holder><copyright-holder xml:lang="ru">Информационные технологии</copyright-holder></permissions><self-uri xlink:href="https://journals.eco-vector.com/1684-6400/article/view/702082">https://journals.eco-vector.com/1684-6400/article/view/702082</self-uri><abstract xml:lang="en"><p>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 %.</p></abstract><trans-abstract xml:lang="ru"><p>Предлагается способ повышения производительности подсистемы динамической памяти вычислительной системы методом перестановки порядка следования запросов. Способ состоит в том, что поступающие запросы на чтение переупорядочиваются с запросами на запись. Реализован функционал контроллера памяти с применением данного метода. Проведено измерение производительности на циклах передач данных память— память с переупорядочиванием и без него, показавшее увеличение производительности до 39 % на реальных задачах. Потребовавшиеся аппаратные ресурсы оказались незначительными и не превысили 5 % от использоавшихся в контроллере памяти до реализации механизма переупорядочивания запросов.</p></trans-abstract><kwd-group xml:lang="en"><kwd>memory subsystem</kwd><kwd>memory controller</kwd><kwd>memory performance</kwd><kwd>data coping</kwd><kwd>reordering of requests</kwd></kwd-group><kwd-group xml:lang="ru"><kwd>подсистема памяти</kwd><kwd>контроллер памяти</kwd><kwd>производительность</kwd><kwd>переупорядочивание запросов</kwd><kwd>вычислительная система</kwd></kwd-group><funding-group/></article-meta></front><body></body><back><ref-list><ref id="B1"><label>1.</label><citation-alternatives><mixed-citation xml:lang="en">Bobkov S. G., Basaev А. S. The methods and means of implementing high performance microprocessor systems. Moscow, Technosphere, 2021, p. 136 (in Russian).</mixed-citation><mixed-citation xml:lang="ru">Бобков С. Г., Басаев А. С. Методы и средства аппаратного обеспечения высокопроизводительных микропроцессорных систем. М.: Техносфера, 2021. 136 с.</mixed-citation></citation-alternatives></ref><ref id="B2"><label>2.</label><citation-alternatives><mixed-citation xml:lang="en">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).</mixed-citation><mixed-citation xml:lang="ru">Аряшев С. И., Корниленко А. В., Николина Н. В., Петров К. А. Повышение сбоеустойчивости и быстродействия подсистемы внешней динамической памяти микропроцессорной системы // Электроника, микро- и наноэлектроника. Сб. научн. трудов. М.: МИФИ, 2012. С. 173—178.</mixed-citation></citation-alternatives></ref><ref id="B3"><label>3.</label><citation-alternatives><mixed-citation xml:lang="en">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.</mixed-citation><mixed-citation xml:lang="ru">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. P. 41—52.</mixed-citation></citation-alternatives></ref><ref id="B4"><label>4.</label><citation-alternatives><mixed-citation xml:lang="en">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.</mixed-citation><mixed-citation xml:lang="ru">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. P. 517—523.</mixed-citation></citation-alternatives></ref><ref id="B5"><label>5.</label><citation-alternatives><mixed-citation xml:lang="en">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.</mixed-citation><mixed-citation xml:lang="ru">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. P. 188—196. DOI: 10.1109/icfpt47387.2019.00030.</mixed-citation></citation-alternatives></ref><ref id="B6"><label>6.</label><citation-alternatives><mixed-citation xml:lang="en">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.</mixed-citation><mixed-citation xml:lang="ru">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. P.65—76. DOI: 10.1109/micro.2010.51</mixed-citation></citation-alternatives></ref></ref-list></back></article>
