ramulator2 icon indicating copy to clipboard operation
ramulator2 copied to clipboard

m_internal_prefetch_size for LPDDR5

Open tongCIX opened this issue 1 year ago • 1 comments

Could you please explain the m_internal_prefetch_size here? DDR5 has 16, however LPDDR has 8?

tongCIX avatar Oct 04 '23 23:10 tongCIX

Hi,

m_internal_prefetch_size refer to how much data are fetched for burst RD/WR operation of the DRAM chip (in the units of the channel width). This is used to calculate the amount of bytes that are transferred for one transaction:

int tx_bytes = m_dram->m_internal_prefetch_size * m_dram->m_channel_width / 8;

For example, DDR4 has internal_prefetch_size of 8, then a rank of DRAM chips will fetch 8 * 64 bits of data from the array for an RD/WR. These data will be sent in 8 bursts.

DRAM standards introduce higher internal prefetch size to bridge the gap between the slow memory core array and fast I/O. More information can be found here: https://www.synopsys.com/blogs/chip-design/ddr-generations-memory-density-speed.html

https://en.wikipedia.org/wiki/Synchronous_dynamic_random-access_memory#DDR_SDRAM_prefetch_architecture

RichardLuo79 avatar Jan 27 '24 20:01 RichardLuo79