RAM: The Basics





ram_img

RAM is actually one of the most crucial components in a computer but it rarely gets the same amount of thought and effort put into it as the other components when it comes to the buying decision. Usually, capacity is the only thing that general consumers seem to care about and while that is a justified approach, there is more to RAM than just the size of memory that it holds. Several important factors can dictate the performance and efficiency of the RAM and probably two of the most important ones among them are frequency and timings.

The frequency of the RAM is a fairly straightforward number that describes the clock speed that the RAM is rated to run at. It is clearly mentioned on the product pages and follows the simple rule of 'higher is better'. It is common to see RAM kits rated for 3200 Mhz, 3600 Mhz, 4000 Mhz, or even higher nowadays. The other more complicated part of the story is the latency or the 'timings' of the RAM.






What are RAM Timings?





While frequency is one of the more advertised numbers, the timings of the RAM have a big role to play in the overall performance and stability of the RAM as well. The Timings measure the latency between the various common operations on a RAM chip. As latency is the delay that occurs between operations, it can have a serious impact on the performance of RAM if it increases beyond a certain limit. The timings of the RAM are a depiction of the inherent latency that can be experienced by the RAM while performing its various operations.

RAM timing is measured in clock cycles. You may have seen a string of numbers separated by dashes on the product page of a RAM kit which looks something like 16-18-18-38. These numbers are known as the timings of the RAM kit. Inherently, as they represent the latency, lower is better when it comes to timings. These four numbers represent what are known as 'Primary Timings' and have the most significant impact on the latency. There are other sub-timings as well but for now, we will discuss the primary timings only.






timings_img





Primary Timings





On any product listing or on the actual packaging, the timings are listed in the format tCL-tRCD-tRP-tRAS which correspond to the 4 primary timings. This set has the biggest impact on the actual latency of the RAM kit and is a point of focus while overclocking too. Therefore, the order of the number in the string 16-18-18-38 tells us which primary timing has what value at a glance.






CAS Latency (tCL/CL/tCAS)





CAS Latency is the most prominent primary timing and it is defined as the number of cycles between sending a column address to the memory and the beginning of the data in response. This is the most widely compared and advertised timing. This is the number of cycles it takes to read the first bit of memory from a DRAM with the correct row already open. CAS Latency is an exact number, unlike other numbers which represent minimums. This number must be agreed upon between the memory as well as the memory controller.

Essentially, CAS Latency is the time it takes for the memory to respond to the CPU. There is another factor we need to consider while discussing CAS because CL cannot be considered by itself. We have to use a formula that converts the CL rating into actual time denoted in nanoseconds, which is based on the transfer rate of the RAM. The formula is (CL/Transfer Rate) x 2000. By using this formula we can determine that a RAM kit running at 3200Mhz with CL16 will have an actual latency of 10ns. This can now be compared across kits with different frequencies and timings.






RAS to CAS Delay (tRCD)





RAS to CAS is a potential delay to read/write operations. As RAM modules use a grid-based design for addressing, the intersection of rows and column numbers indicates a particular memory address. tRCD is the minimum number of clock cycles required to open a row and access a column. The time to read the first bit of memory from a DRAM without any active row will introduce additional delays in the form of tRCD + CL.

tRCD can be considered the minimum time it takes for the RAM to get to the new address.






Row PreCharge Time (tRP)





In case of opening of a wrong row (called page miss), the row needs to be closed (known as precharging) and the next one needs to be opened. It is only after this precharging that the column within the next row can be accessed. Therefore, the overall time is increased to tRP + tRCD +CL.

Technically, it measures the latency between issuing the precharge command to idle or close one row and activate command to open a different row. tRP is identical to the second number tRCD because the same factors affect the latency in both operations.






Row Active Time (tRAS)





Also known as 'Activate to Precharge Delay' or 'Minimum RAS Active Time', the tRAS is the minimum number of clock cycles required between a row active command and issuing the precharge command. This overlaps with the tRCD, and it is simple tRCD+CL in SDRAM modules. In other cases, it is approximately tRCD+2xCL.

tRAS measures the minimum amount of cycles a row must remain open to properly write data.






Command Rate (CR/CMD/CPC/tCPD)





There is also a certain suffix which can be often seen while overclocking and that denotes the Command Rate. AMD defines the Command Rate as the amount of time, in cycles, between when a DRAM chip is selected and a command is executed. It is either 1T or 2T, where 2T CR can be very beneficial for stability with higher memory clocks or for 4-DIMM configurations.

CR is sometimes also called Command Period. While 1T is faster, 2T can be more stable in certain scenarios. It is also measured in clock cycles like other memory timings despite the unique notation. The difference in performance between the two is negligible.






Impact of Lower Memory Timings





Since timings generally correspond to the latency of the RAM kit, lower timings are better since that means a lower delay between the different operations of the RAM. As with frequency, there does exist a point of diminishing returns where the improvements in response time will be largely held back by the speeds of other components like the CPU or the general clock speed of the memory itself. Not to mention, lowering the timings of a certain model of RAM may require extra binning by the manufacturer, therefore leading to lower yields and a higher cost as well.

While within reason, lower RAM timings generally improve the performance of the RAM. As we can see in the following benchmarks, the lower overall timings (and specifically the CAS Latency) do lead to an improvement at least in terms of numbers on a chart. Whether or not the improvement can be perceived by the average user while playing the game or while rendering a scene in Blender is an altogether different story.

A point of diminishing returns is quickly established especially if we go under CL15. At this point, generally, the timings and the latency are not the factors that are holding back the performance of the RAM. Other factors such as frequency, the configuration of the RAM, the motherboard's RAM capabilities, and even the voltage of the RAM may be involved in determining the performance of the RAM if the latency reaches this point of diminishing returns.






Timings vs. Frequency





The frequency and the timings of the RAM are interconnected. It is just simply not possible to get the very best of both worlds in the consumer RAM kits that are mass-produced. Generally, as the rated frequency of the RAM kit goes up, the timings become looser (timings increase) to somewhat compensate for that. Frequency generally does outweigh the impact of timings by a little bit, but there are instances where paying extra for a high-frequency RAM kit would just not make sense since the timings become looser, and the overall performance suffers.

A good example of this is the debate between the DDR4 3200Mhz CL16 RAM and the DDR4 3600Mhz CL18 RAM. At first glance, it might seem like the 3600Mhz kit is faster and the timings are not much worse. However, if we apply the same formula we discussed when explaining CAS Latency, the story takes a different turn. Putting the values into the formula: (CL/Transfer Rate) x 2000, for both the RAM kits yields the result that both the RAM kits have the same real latency of 10ns. While yes, other differences also exist in the subtimings and the way the RAM is configured, but the similar overall speed makes the 3600Mhz kit a worse value due to its higher price.

Like with timings, we do hit a point of diminishing returns pretty soon with frequency as well. Generally, for AMD Ryzen platforms, DDR4 3600Mhz CL16 is considered to be the sweet spot in terms of both timings and frequency. If we go with a higher frequency like 4000Mhz, not only do the timings have to get worse, even motherboard support might be an issue for midrange chipsets like B450. Not only that, on Ryzen, the Infinity Fabric Clock and the Memory Controller Clock should be synchronized with the DRAM frequency in a 1:1:1 ratio for the best possible results, and going beyond 3600Mhz breaks that synchronization. This leads to increased latency, general instability, and ineffective frequency that makes these RAM kits an overall bad value for the money. Like the timings, a sweet spot has to be established and it's best to stick with reasonable frequencies like 3200Mhz or 3600Mhz at tighter timings like CL16 or CL15.






Overclocking





RAM overclocking is one of the most frustrating and temperamental processes when it comes to tinkering with your PC. Enthusiasts have been delving into this process not only to squeeze every last bit of performance out of their system but also for the challenge that the process brings. The basic rule of RAM overclocking is simple. You have to achieve the highest frequency possible while keeping the timings the same or even tightening the timings to get the best of both worlds.

RAM is one of the most sensitive components of the system and it generally doesn't take kindly to manual tweaking. Therefore, RAM manufacturers do include a preloaded overclock known as 'XMP' or 'DOCP' depending on the platform. This is supposed to be a pre-tested an validated overclock that the user can enable via the BIOS and more often than not, that is the most optimal level of performance that the user needs.

Excerpt from Usman Saleem, ©Appuals ~ Images from ©Dreamstime