I'm running CL 14 on CL 16 rated memory sticks. Did I hit the silicon lottery?

TheDarkKnight

Senior member
Jan 20, 2011
321
4
81
I have a set memory sticks I've been trying to get running stable @ 3000MHz ever since I bought my Ryzen AMD 2200G CPU back in February of 2018. The kit is:

Patriot Vipers 16GB (2x8GB) 3000MHz PV416G300C6K

I currently have the primary timings set in my ASRock motherboards BIOS to 14-17-17-36 (see image) :

IJzDM0d.png


My system is up and running @ 2666MHz for almost a full day now with no issues so far. I am very surprised to be see that these chips run successfully at all using a CL value 2 below the memory manufacturer's own CL rating. Is this a common ability of memory kits? Or is this done all the time?

Is the performance of running this kit at CL 14 with "poorly chosen" secondary timings still better than running the kit at a higher CL value, for example CL 15 with the most optimal secondary timings?

Is it possible the performance levels of 2 different CL values, for example 14 vs 15, could give the same performance if I set the CL value to 14 and was running the memory at that CL value with very poorly chosen secondary timings versus running the memory at a CL value of 15 with related secondary timings that were very wisely chosen?

Does a poorly configured CL 14 still beat an optimally configured CL 15 ... any day of the week?

Can you create equivalent levels of bandwidth at different CL values keeping memory speed (MHz) constant. Is 'overlap' possible? Or do the CL values represent contiguous levels of bandwidth performance?

Provided that I keep the memory speed (in MHz) constant in the BIOS, I'm guessing that the performance of running these memory sticks (or any kit really) at a lower CL value will always be preferred over anything achievable at a higher CL value. Is this the truth?

Different but related question: Is the NB Frequency of 1330.6 (2661.2 doubled) a sign that my RAMs secondary timings in the BIOS are less than optimal?

Windows 10 shows my running memory speed @ 2666MHz on the Task Manager->Performance->Memory tab but I'm assuming i'ts just reading a memory speed BIOS setting.

Thanks for reading!
 
Last edited:

Campy

Senior member
Jun 25, 2010
785
171
116
I can't answer all your questions, but lower memory speed with tight timings can perform the same or outperform higher memory speed with loose timings.

In your particular case you've only slightly improved your true memory latency from 10.66ns to 10.5ns by going from 3000c16 to 2666c14. How overall bandwidth/performance is affected I don't know, but it's not really surprising that the modules can run at such a similar level.
 

TheDarkKnight

Senior member
Jan 20, 2011
321
4
81
Very interesting. I thought CL values were etched in stone in the characteristics of the memory sticks. So, the fact that I can run these at CL 14 doesn't mean diddly. Thank You for clearing that up.

Now, How are you getting your numbers? I'm getting 7.5ns for 2666MHz by dividing half of that number into 1 and then multiplying by 10 to get nanoseconds.

So, 1/1,333,000,000 x 10 = 7.5ns for me. Oh, I see, multiply by the clock cycle by the CL first.
 

Campy

Senior member
Jun 25, 2010
785
171
116
Yeah, CAS latency is a timing that tells you how many clock cycles it takes from information is requested from the memory until it is available. So your latency in actual time depends not only on the CL number, but also on how high your clock rate is.

I usually do 2000 / MHz * CL for simplicity.
 

BonzaiDuck

Lifer
Jun 30, 2004
15,936
1,581
126
I had the understanding that Command-Rate=1 was never default, which was always an expectation of running CR=2.

I've noticed -- or THOUGHT I noticed -- that recent-gen motherboards would "Auto-configure" XMP RAM as CR=1, as it somehow "chose." Someone else would have to confirm that.

But CR=1 for a two-stick RAM kit leaving other slots vacant was always a way to get a boost in performance without changing CAS and other timings.

What CR does your motherboard choose when you select "XMP" profile with the stock speed/Mhz and stock timings including CAS 16?
 

TheDarkKnight

Senior member
Jan 20, 2011
321
4
81
I cannot remember at the moment. I used the Ryzen DRAM Calculator to get and set all my primary and secondary timings in the BIOS. But fiddling around with the calculator for just a few moments and selecting several different speeds it never once suggested anything but 1T as the command rate.
 

TheDarkKnight

Senior member
Jan 20, 2011
321
4
81
How can memory sticks run at different CL latencies. I mean, on one level I get the impression that it's possible because of the characteristics or more specifically quality of the memory itself. But on the other hand, I know it's one factor in an equation of sorts based upon MHz as well. This stuff just blows my mind on how complex it is.

I still don't understand the relationship between the 4 most important primary memory settings. Can someone explain it to me or post some good links?

Is the CL completely dependent upon the MHz? If okay all I would need to do is look at the MHz on a memory set to know, "Oh, that's a memory kit running @ 3200MHz so it's a CL X". Or maybe it's more like "Oh, that's a memory kit running @ 3200MHz so it's a CL of at least X but no more than X + 4". But if it's dependent on some inherent characteristics of the IC's themselves" then MHz would never get you the CL alone. That must then be determined through trial and error in the memory manufacturer's labs, I'm guessing?

This article on Corsair's website gives the impression that a CL is tied to a specific MHz:

http://www.crucial.com/usa/en/memory-performance-speed-latency
 
Last edited:

DrMrLordX

Lifer
Apr 27, 2000
22,122
11,804
136
All I can say is that if you throw enough voltage at your RAM, it can run out of spec . . . sometimes.

I have a DDR3-2400 CAS/CL11 kit that'll do DDR3-2400 CAS/CL10 with a smidge of extra juice. It probably could have done more, but my Kaveri chips had awful IMCs.
 

TheDarkKnight

Senior member
Jan 20, 2011
321
4
81
All I can say is that if you throw enough voltage at your RAM, it can run out of spec . . . sometimes.

I have a DDR3-2400 CAS/CL11 kit that'll do DDR3-2400 CAS/CL10 with a smidge of extra juice. It probably could have done more, but my Kaveri chips had awful IMCs.

Very interesting. You chose to drop the CL versus boost the MHz. I guess it's the same effect either way. Are there any good books that have been published on this? It seem's like every bit of information is scattered all over the Internet where everybody has 1 piece of the puzzle but no one knows it all. Must be a government conspiracy. :)
 

Hans Gruber

Platinum Member
Dec 23, 2006
2,330
1,233
136
You hit the silicon lottery if you have CAS 16 ram timings and can run CAS 14 ram timings @ default setting for rated ram. DDR4 3000mhz ram 16-16-16 if you can run it @ 3000mhz with 14-16-16 timings. If you reduce your ram speed significantly from default ram rated speed you are simply degrading performance for lower CAS latency which usually is a wash in performance.

On a side note all DDR4 ram runs (CM) command rate of 1 as far I am aware. I think this goes back to DDR3 ram as well. I have both DDR4 and DDR3 systems running CR @ 1 vs. 2. Always run command rate @ 1.
 

DrMrLordX

Lifer
Apr 27, 2000
22,122
11,804
136
Very interesting. You chose to drop the CL versus boost the MHz. I guess it's the same effect either way. Are there any good books that have been published on this? It seem's like every bit of information is scattered all over the Internet where everybody has 1 piece of the puzzle but no one knows it all. Must be a government conspiracy. :)

I don't know of anyone who has published any books on the subject. You can dig into the tech specs of DRAM and try to figure out what all the BIOS/UEFI settings do, or you can try trial-and-error which mostly worked on DDR3-era systems (and may still work for Intel systems with DDR4; Ryzen systems with DDR4 are complex).

As for dropping CL vs. boosting clockspeed, believe me, I would have boosted clockspeed if possible. The IMC on Kaveri (and Bristol Ridge) is terrible. Getting faster-than-2400 speeds was impossible without bclk OC. Bclk OC was extremely difficult. I was similarly-limited on my old Phenom II-era systems that did not like anything faster than DDR3-1600. At one point, I was running DDR3-1600 CAS/CL6 which was kinda awesome. Kinda.
 

StinkyPinky

Diamond Member
Jul 6, 2002
6,894
1,116
126
You've just reduced the speed? For example I have 3200 CL14 ram. I can probably run it at 3400 CL16 or maybe even 3600 CL16. I think it's a bit of a wash though so just run it at XMP.
 
Feb 25, 2011
16,927
1,564
126
How can memory sticks run at different CL latencies. I mean, on one level I get the impression that it's possible because of the characteristics or more specifically quality of the memory itself. But on the other hand, I know it's one factor in an equation of sorts based upon MHz as well. This stuff just blows my mind on how complex it is.

I still don't understand the relationship between the 4 most important primary memory settings. Can someone explain it to me or post some good links?

Is the CL completely dependent upon the MHz? If okay all I would need to do is look at the MHz on a memory set to know, "Oh, that's a memory kit running @ 3200MHz so it's a CL X". Or maybe it's more like "Oh, that's a memory kit running @ 3200MHz so it's a CL of at least X but no more than X + 4". But if it's dependent on some inherent characteristics of the IC's themselves" then MHz would never get you the CL alone. That must then be determined through trial and error in the memory manufacturer's labs, I'm guessing?

This article on Corsair's website gives the impression that a CL is tied to a specific MHz:

http://www.crucial.com/usa/en/memory-performance-speed-latency

In the same way that speed in miles per hour is meaningless without an understanding of distance and time, CAS is a derivative/descriptor of other things, not a setting itself, really. Most chips are programmed to automatically go to a lower CAS latency when clockspeed drops.

So the basic, fundamental fact is this: a given chip has a maximum latency of a certain number of nanoseconds. (It physically can't respond faster.)

https://en.wikipedia.org/wiki/CAS_latency

In synchronous DRAM, the interval is specified in clock cycles. Because the latency is dependent upon a number of clock ticks instead of absolute time, the actual time for an SDRAM module to respond to a CAS event might vary between uses of the same module if the clock rate differs.

IOW, the faster the clock speed, the more cycles happen during that latency period, and the higher the CAS number is.

So if you slow down the clock speed, the number of cycles that happen in that same number of nanoseconds drops. The ratio of CAS setting to clockspeed is what doesn't change. (Or only changes a little.) So you're really not overclocking your RAM much at all.
 

BonzaiDuck

Lifer
Jun 30, 2004
15,936
1,581
126
I had this clear in my head for a period of time after 2005, but the memory is deteriorated -- MY memory . . .

You can build a neat little diagram in clock-cycles showing how many cycles are necessary to start and complete a single memory operation. I'm not going to build the neat little diagram, because I haven't finished my coffee and I'll have to think too hard.

At a web site called "Master's Lair," I picked up this set of explanations for the four basic timings -- a basis for building the neat little diagram which I'm not going to do:

  1. CAS Latency (tCL) - This is the most important memory timing. CAS stands for Column Address Strobe. If a row has already been selected, it tells us how many clock cycles we'll have to wait for a result (after sending a column address to the RAM controller).
  2. Row Address (RAS) to Column Address (CAS) Delay (tRCD) - Once we send the memory controller a row address, we'll have to wait this many cycles before accessing one of the row's columns. So, if a row hasn't been selected, this means we'll have to wait tRCD + tCL cycles to get our result from the RAM.
  3. Row Precharge Time (tRP) - If we already have a row selected, we'll have to wait this number of cycles before selecting a different row. This means it will take tRP + tRCD + tCL cycles to access the data in a different row.
  4. Row Active Time (tRAS) - This is the minimum number of cycles that a row has to be active for to ensure we'll have enough time to access the information that's in it. This usually needs to be greater than or equal to the sum of the previous three latencies (tRAS = tCL + tRCD + tRP).

  1. The problem with changing timings for XMP RAM arises with the secondary timings. XMP has optimized settings for these. So at this stage of the game in RAM tech history, I think I would only bother changing two things: the speed in Mhz, and the CR or command-rate (from 2 to 1). And if you have four slots filled with RAM, the chances of successfully changing CR to 1 are lower. If you want to boost the speed, you might tweak up the vDIMM or RAM voltage. IF you want tighter CR, you might have to bump up the IMC voltage or VCCIO a tad -- that is, for a single two-stick kit.