This article explores how to read data sheet specifications and memory timings and use that to solve a few example questions.
DIMM
A DIMM specification will mention the capacity. For example, the Micron 2GB SDRAM DIMM MT9KSF25672PZ has a combined DRAM capacity of GB. This DIMM will contain individual DRAM chips called modules. If the DIMM supports ECC error there will be one extra DRAM module for this. Unless mentioned, it is assumed that all the DRAM chips belong to a single rank. The width of the data bus of this rank is partitioned equally across all the DRAM chips. For example, if the data width is bits and say there are chips (excluding ECC), then each chip will contribute bits.
DRAM Chip
A DRAM Chip is also referred to as the base device. The specification will mention the capacity. For example, the MT41K256M8 2Gb DDR3 SDRAM chip has a capacity of Gb. The number of DRAM chips required to fit the DIMM will be GB/Gb
Memory Timings
Memory timings describe the performance of DRAM using a set of parameters in units of clock cycles. They are written as numbers separated with dashes
When translating memory timings into actual latency, it is important to note that they are in units of bus clock cycles, which for double data rate (DDR) memory is half the speed of the commonly quoted transfer rate.
For example, DDR3- memory has a MHz CPU clock frequency, which yields a ns CPU clock cycle. With this ns CPU clock, the memory timings in nanoseconds are
DRAM Configuration
A DRAM configuration will specify the capacity of one cell of data, the number of columns, the number of rows and the number of banks. For example, K rows K columns bits banks gives a total of Gb. This is the same as the capacity of a single DRAM chip.
Q1. Number of DDR3 SDRAM chips
SDRAM chips are needed to satisfy the capacity of the DIMM. One extra chip is needed for ECC error detection. Thus a total of SDRAM chips are present on the DIMM.
Q2. Longest latency to read 64 bytes of data
The longest latency will occur when the data is not already present in the Row Buffer. In this case a Precharge command has to be issued first. This is followed by a Row Access command. Once the row is loaded in the Row Buffer a Column Read command is issued. This process takes time.
In each clock cycle, bits of data can be read from each of the DRAM Chips. This sums up to bits of data per DRAM read rate. To read bytes of data will thus require DRAM read rate cycles. Since the DRAM date read rate is MHz, this equates to
Thus, the total time will be ns.
Q3. How many rows must be refreshed per REFRESH command
It is required to refresh every cell within a ms interval. The refresh rate is sec.
The Refresh command reads and restores the data in DRAM devices. The memory controller sends a single refresh command to the DRAM device, and the DRAM device goes through a row cycle for a fixed number of rows (say ) in all of the banks in the DRAM device. The same set of rows is sent to all banks to be refreshed concurrently.
Thus, rows are refreshed per REFRESH command. There are K rows in a DRAM chip. So, the number of REFRESH commands that have to be issued is given by
A REFRESH command is issued every sec. So, the time taken for to issue the above number of REFRESH commands is given by
This should equate to ms. Thus