Minnesguide – AMD Ryzen 1000/2000/3000

Permalänk
Medlem

Minnesguide – AMD Ryzen 1000/2000/3000

För Zen2/Matisse/R3000 gäller lite andra värden på spänningar och likaså lite annat smått & gott skiljer.

>>Klicka här för att komma till sektionen med Zen2 uppdateringen<<

  • Inledning och snabb genomgång av SPD, XMP & DOCP

  • Standard hastigheter på första generations Ryzen (Zen, 1000 serien)

  • Prestandapåverkan av minneshastighet & latens.

  • Tester på temat minneshastighet/latens

  • Hur att få tag i B-Die baserade minnesmoduler?

  • QVL Listor för de vanligaste AM4 moderkorten

  • Nyttiga program

  • Tweaking allmäna tips på vart att börja

  • Timings genomgång av timings, vad det är och vilka som finns

  • BCLK klockning

  • Knep & Knåp

  • Vidare info Spänningar samt minnesspecifika inställningar i UEFI

  • Nyttiga länkar

Inledning

Här nedan följer en sammanställning av information gällande internminne på Ryzen plattformarna, denna guide kan innehålla stavfel och grammatiskt tveksamma saker som skulle få vilken språklärare som helst att spräcka ett blodkärl eller två i ren frustration. Det får ni helt enkelt leva med och ta detta för vad det är tänkt att användas som, en hjälp vid val och konfiguration av internminne till Zen och Zen+, den uppdateras fortlöpande till att börja med då det finns en hel del saker att gå igenom och det kan hända att enskilda småsaker blir korrigerade, med det sagt; Håll till godo!

Till att börja med så kan det vara bra att förstå hur Ryzen fungerar med minnen, som alla andra processorer idag så har Zen & Zen+ inbyggd minneskontroller, denna brukar man kalla för IMC (Integrated Memory Controller). Denna är vad som direkt kommunicerar med internminnet och kvalitén på denna avgör för det mesta den hastighet man i slutändan kan nå upp i tillsammans med layout, kopparbanor och deras dragning samt den kvalité moderkortet har på VRM för minnena. En annan sak som påverkar hur högt man kan komma verkar vara om man har en X cpu eller ej (1800x, 2700x, 1600x osv), om det beror på binning av processorerna vet jag icke men generellt lyckas överlag X processorer bättre med hög minneshastighet, har man oturen att få en cpu som inte trivs jättebra med högre infinity fabric frekvenser så kan man prova att ge den lite mera spänning i form av ökad vcore genom offset volt eller justerad vcore LLC. En annan sak som spelar in på hur högt man kan komma är om man kör en manuellt överklockad CPU, med höjd IF frekvens så höjer man generellt också behovet av spänning till cpu kärnorna vilket gör att en överklockad CPU kan vara stabil med låg minneshastighet men inte med hög och samma processor i stock hastighet kan klara högre minneshastigheter utmärkt. Samma sak gäller här, justera vcore antingen direkt genom manuell spänning och/eller justera LLC.

Moderkortet i sig och dess UEFI samt AGESA står ändå för en del saker trots att processorn kommunicerar direkt med minnena, detta är först och främst ”Memory training” under ABL (AGESA bootloader) och därigenom konfigurering av alla spänningar, latenser och motståndsvärden för minnesbussen och minnena och så vidare. Så även om moderkortet inte har speciellt mycket med den direkta kommunikationen att göra så har det desto mer med konfigurationen att göra. Mycket av detta sker under ABL och är sällan synligt till slutanvändaren om man nu inte råkar ha en debug led avläsning på moderkortet. Om man har oturen att få tag i ett moderkort som har ganska dåligt programmerad UEFI så kan det tyvärr påverka minnespotential negativt även om hårdvaran i sig är bra, i det läget kan man ibland styra upp mycket själv men det förutsätter att man orkar engagera sig och att UEFI'n faktiskt gör tillgänglig alla saker man kan behöva justera för att uppnå önskad frekvens.

Då en hel del sker i mjukvara under boot gör det att vissa minnen kan komma att fungera bättre med rent automatiska inställningar på vissa moderkort, här kommer så kallade QVL listor in i bilden, dessa innehåller information om vilka minnesmoduler som fungerar till listans moderkort och vid vilken hastighet, ibland står även spänning som blivit använt eller uefi version. Om man vill köpa minnen & bara slänga på dom på moderkortet utan att behöva göra annat än aktivera XMP/D.O.C.P i bios eller ingenting alls extra så ska man alltid kolla så att minnena man köper finns med på QVL listan eller att man råkar få info från en annan användare som kan bekräfta att dom fungerar.

Här kommer vi in på SPD eller serial presence detect, detta är en lagring av information på minnesmodulerna som avläses för att ställa in timings & hastigheter.

https://en.wikipedia.org/wiki/Serial_presence_detect
Det är även här som olika XMP profiler är lagrade (extreme memory profile). Alla minnen har en så kallad SPD programmering och den avläses vid boot. Programmeringen i sig följer den standard som blivit satt av JEDEC. Oavsett vilken typ av chip minnesmoduler har så kommer ABL läsa av SPD infon alternativt den utökade XMP profilen om så är valt och sedan sätta timings och övriga inställningar där efter. Att minnesmodulen då blivit testad och finns med på QVL listan säkerställer att det inte uppstår inkompatibilitet. Det kan nämligen inträffa att man stöter på problem med vissa moduler på vissa moderkort och ibland hjälper det inte ens att sätta manuella timings & inställningar då det skiter sig redan vi pre post & agesa boot loadern. XMP profiler är från början en sak som Intel lanserade men som fått såpass stort fotfäste på marknaden att även AMD moderkort nyttjar dessa profiler, antingen genom XMP i uefi eller D.O.C.P, D.O.C.P är egentligen bara ett annat sätt att säga att man läser av de lagrade XMP profilerna utan att man använder Intel namnet. Om minnena man kör har "XMP certifiering" så betyder det att dom har en eller fler profiler innehållandes en utökad info om fungerande timings vid högre hastigheter än vad JEDEC standarder egentligen tillåter och oftast finns flertalet profiler lagrade men inte alla moderkort kan avläsa alla profiler då det faktiskt finns fler varianter av XMP och vad som skiljer de olika varianterna av XMP är snudd på omöjligt att få fram. Dock brukar det generellt sett finnas en XMP profil 1 som är "entusiast" profilen och en XMP profil 2 som är "extreme" profilen.

Utdrag av SPD och XMP info samt lite annat i Thaiphoon Burner på mitt internminne, de timings och hastigheter som avläses vid boot syns rätt tydligt även hur lågt JEDEC profilerna ligger, längst ner finns XMP. Här används också minnesbussens riktiga hastighet, se förklaring längre ner

https://www.hardwareluxx.de/community/f13/hardwareluxx-spd-da...
En väldigt stor lista med SPD dumpar från en stor mängd olika minnesmoduler.

Vilka minnen som fungerar bäst annars med Ryzen beror mestadels på vilket minneschip som används på modulerna, dessa chip tillverkas av SK Hynix, Micron eller Samsung. De chip som fungerar bäst vad vi vet hitintills är Samsung ”B-Die”, det finns andra varianter också så som S-Die, anledningen till att B-Die tenderar att orka högst i hastighet på Ryzen är att det finns några timings som är en smula aggressiva och det är inte alla chip som klarar detta i högre hastigheter. B-Die är bland de bättre minneschip som det går att få tag på och de klarar aggressiva timings även i höga hastigheter.

Detta gör att till Ryzen rekommenderas i första hand B-die baserat minne, om man inte känner något större behov av höga hastigheter (upp till ~2933MT/s) så fungerar även Hynix eller Micron chip men förvänta er inga frekvens eller latensrekord med dessa. Fungerar dock utmärkt om man måste hålla en budget och Zen+ (2000 serien Ryzen) med 400 serien moderkort fungerar oftast bättre med Hynix & Micron baserat minne än vad Zen (1000 serien) gör.

På tal om hastigheter så när det kommer till standard hastighet på minnen så är de flesta specade till en viss hastighet vid en viss timingkonfig samt spänning. De flesta minnen och allra helst B-Die minnen kan dock köras ganska långt utanför sin specifikation med bibehållen stabilitet och allra helst med extra spänning. Om man ska överklocka minnen så kan det vara bra att bestämma vid vilken frekvens man vill prova, säg 3466MT/s istället för minnets 3200MT/s, för B-Die kan det räcka gott att endast köra lite mer spänning för att komma upp i den frekvensen, timings kan om man inte redan pressat dom hårt vid 3200 oftast vara de samma vid 3466 men skulle man stöta på patrull så är det bara att släppa lite på primärtimings i första hand samt tRFC och tCWL.

Standard hastigheter på första generations Ryzen (Zen, 1000 serien) är som följer

Det är alltså detta som AMD själva sagt ska fungera, detta har efter en del uppdateringar av AGESA höjts på fyra moduler men om man inte vill överklocka är det dessa hastigheter som egentligen gäller, på samma sätt som 2666MT/s är standar för en 8700k och allt över är OC. För andra generationens Ryzen, 2000 serien (Zen+) är det 2933MT/s som är standard för 2st single rank moduler.

Är det då någon skillnad på minneshastigheter på Ryzen och gör latenser något?

Då måste vi börja med att titta på hur Ryzen fungerar igen, mellan IMC och CPU kärnor och PCI-E buss så finns en anslutning/buss man valt att kalla för Infinity Fabric, hastigheten på denna är en slav av minnesbussens hastighet, detta gör att om man kör 3200Mt minnen så går minnesbussen i 1600MHz och det gör även Infinity Fabric bussen, det gör att all intern kommunikation i Ryzen snabbas upp men även kommunikation utåt bättras på i form av lägre latenser och högre bandbredd. Så förutom att ge bättre minnesbandbredd och lägre latenser så ger bättre minnen också en allmänt högre prestanda ur din Ryzen CPU. Man bör dock vara medveten om att saker som är i första hand limiterade av ren CPU prestanda och inte latens eller bandbredd på minnen inte kommer se någon jätteskillnad i prestanda, en del kan fortfarande se förbättring tack vare infinity fabric frekvenshöjning men det som ser absolut bäst prestandaskillnad är spel. Syntetiska CPU tester är för det mesta inte lika påverkade som spel eller GPU tester, jo du läste rätt, gpu tester. En sak som påverkas enormt av timings och minneshastighet är 3DMark Firestrike & Timespy. En sak till som påverkas av höjd IF frekvens är kommunikationen mellan CCX klustren i Zen och Zen+ kärnan, likaså cache till cache överföringar mellan klustren, även direkt cpu till cpu kommunikation påverkas. Detta är vad jag menar när jag skriver förbättrade latenser internt. Som jag skrev tidigare så påverkar också IF frekvens stabilitet och vissa processorer är mer känsliga än andra för ändrar IF frekvens i det avseendet på samma sätt som att vissa processorer klarar högre cpu frekvens än andra.

Denna bild kan ha felaktig benämning av delar, mest för illustrativt syfte, vissa hävdar att "interconnects" egentligen är IMC

Nu kanske någon funderar varför jag skriver 3200MT/s och inte 3200MHz för minneshastighet, anledningen till detta är enkel. DDR till och med DDR4 använder en teknik som kallas Double Data Rate (DDR), det betyder att minnesoperationer utförs vid både stigning av spänning och när spänning faller. De svängningar som minnesbussen gör med spänningen sker så ofta per sekund att dom mäts i MHz men en svängning är både stigning och ett fall vilket gör att två operationer utförs per svängning. Detta gör att Den faktiska minneshastigheten egentligen ska uttryckas som Mt (Megatransfers) per sekund och inte MHz då antalet spänningssvängningar inte dubbleras, det är bara jobbet per svängning som gör det. Därför går minnesbussen i 1600MHz vid 3200MT/s minneshastighet. En bisak men väl värd att nämna då detta är en allmän villfarelse som dessutom råkar spädas på av branschen i stort. Det verkar dock vara lite av ett förlorat slag detta och personligen hyser jag ingen agg mot den som skriver 3200MHz som minneshastighet, jag försöker däremot själv att inte göra det.

Här finner ni ett par tester & inlägg jag gjort tidigare på temat minneshastighet/latens

#17026152
#17028414
#17022467
#17024530

För att illustrera hur spelprestanda påverkas av minneshastighet & latenser ser ni här en bild från ett av mina tester där ni finner 3 olika minnesinställningar tillsammans med OC och stockfrekvens av cpu, även en underklockning av cpu är med för att demonstrera just hur stor påverkan minnen faktiskt har vid CPU bundna scenarion. Mer info om testerna finns i första länken ovanför men lite snabbt kan vi säga att "3333L" är 3333MT/s med manuella timings helt både primär och sekundärtimings, "3333H" är XMP profil vid 3333MT/s och "2666" är 2666MT/s med fullt automatiska timings.
Vad menar jag då med "cpu bundna förhållanden"? Jo när GPU inte längre håller tillbaka den maximala FPS som kan visas av systemet, i korta ordalag, alltså om man exempelvis har en mycket kraftig GPU för den upplösning man kör, exempelvis om man är intresserad av hög FPS spelande (144-200fps). Då kommer minneshastighet och latenser utan tvekan märkas, speciellt då det har en tendens att lyfta 0.1% low FPS rätt markant. Om man däremot kör en 60fps låsning via v-sync eller liknande så kommer man inte märka någon skillnad innan lägsta FPS hamnar under 60fps pga cpu/minnesbelastning och det är relativt sällan det sker men det finns spel även idag som kan orsaka detta. Andra scenarion är VR där man oftast inte vill hamna under 90FPS alls någonsin vilket kan vara svårare än det låter, med snabba minnen är detta betydligt enklare.
En annan sak värd att veta är att vissa spel kommer reagera mer på låga latenser än höga frekvenser, De 3 sista Far Cry spelen är exempelvis mycket latenskänsliga medans andra spel är inte speciellt latenskänsliga men desto mer frekvenskänsliga. På det stora hela är bägge delarna viktigt men kommer man upp i 3200/3333/3466MT/s så är låga latenser viktigare än höjd frekvens, detta då förtjänsten av höjd infinity fabric frekvens avtar när du kommer upp till denna punkt och minnen har generellt betydligt högre latenser när man kliver över dessa hastigheter, detta ger en sweetspot runt 3333MT/s där IF förtjänst är som störst och latenser kan hållas så låga som möjligt.

Hur att få tag i B-Die baserade minnesmoduler?

Vanligt förekommande minnesmoduler med Samsung B-Die chip (avvikelser kan förekomma med olika revisioner)

G.Skill Flare X 2x8GB 3200CL14
https://www.prisjakt.nu/produkt.php?p=4236779
Dessa vart framtagna specifikt för Ryzen och är det absolut enklaste sättet till god minnesprestanda, det är höga odds att de flesta moderkortstillverkare lagt till anpassade profiler för dessa i uefi och därför behövs minsta möjliga pill med dessa, de finns också i fler varianter.

För att hitta b-die baserade minnen kan man kika på denna sida.
B-Die Finder

Övriga G.Skill med B-Die kan hittas i denna lista, den är inte komplett men relativt korrekt & bra. Den innehåller även andra märken med B-Die minnen
https://www.reddit.com/r/Amd/comments/62vp2g/clearing_up_any_...
Ytterligare en lista som verkar stämma rätt bra
https://www.hardwareluxx.de/community/f13/die-ultimative-hard...

Sedan har vi lite andra saker som är bra och veta ifall man jagar de där sista megahertzen, för absolut bäst resultat bör man köra Single Rank minnen, nu ställer sig säkert en & annan frågan vad Single rank innebär, grovt förenklat så beskriver det layouten som används på minnesmodulen med minneschippen, det finns Single Rank och så finns det Dual Rank. Oftast har högdensitets minnen Dual Rank och lägre densiteter kör single rank. För det mesta är 8GB moduler single rank och 16GB moduler dual rank. Det kan dock vara bra & veta att bandbredden med dual rank ibland kan vara högre än med single rank vid samma hastighet så även om man kanske inte når upp i lika hög hastighet med dual rank så behöver det i slutända inte betyda så mycket då prestanda i spel oftast är bättre med dual rank vid exakt samma hastighet/timings, dock når inte DR lika högt som SR.

En annan sak som också påverkar hur högt man tar sig i hastighet är hur många minnesmoduler man kör, på Ryzen funkar 2 moduler bäst, 4st moduler kommer sätta större belastning på IMC och moderkorts VRM samt införa signalförluster vilket gör att det är i det närmaste omöjligt att komma upp i samma hastigheter med 4 moduler som med 2 moduler. Detta är dock sant med de flesta plattformar och gäller inte enbart Ryzen, detta är en av anledningarna till att poängjagande överklockare oftast använder bara 2 moduler.

Nyttiga program

https://www.techpowerup.com/memtest64/
Memtest64 från techpowerup, ett alternativ till alla andra minnestestare, vilken som är mest effektiv vet jag ärligt talat inte men denna är rekommenderad av andra.
https://www.techpowerup.com/download/ryzen-timing-checker/
Ryzen Timing Checker, mycket bra program som direkt kan visa vilka timings och inställningar man kör
http://hcidesign.com/memtest/
HCI Memtest, ett enkelt stabilitetstest för minnen, gratisversionen har en begränsning på 2GB per program öppet, man kan nämligen köra så många instanser samtidigt som man vill & på så vis dra nytta av alla tillgängliga cpu kärnor och samtidigt se til att så stor del av minnet som möjligt används, gå dock inte för högt för då kommer er SSD/HDD bli det som testas istället
https://www.karhusoftware.com/ramtest/
RAM Test av Karhu software, ett alternativ till Memtest HCI eller Memtest64.
http://www.ocbase.com/index.php/download
OCCT Riktigt bra på att hitta instabilitet både hos cpu & minne
https://www.mersenne.org/download/
Prime95, ett bra test av minnesstabilitet om man kör torture test blend, tar dock mycket tid innan det visar sig.
http://www.softnology.biz/files.html
Thaiphoon Burner, detta program ska användas med största försiktighet, om man är nyfiken på vilken typ av minneschip som sitter på sina internminnen går det bra att läsa av denna info i detta program. Det är dock fullt möjligt att skriva sönder SPD programmeringen på minnena om man gör fel så åter igen, använd med största försiktighet och på egen risk.
https://www.hwinfo.com/download.php
HWiNFO64, ett bra program för avläsning av spänningar & temperaturer, kan även visa SPD info & aktuella timings.
http://www.overclock.net/forum/13-amd-general/1640919-ryzen-d...
Ryzen Dram Calculator, ett smart program där man kan utifrån sina egna minnen (spd läsning) kalkylera eventuella timings, andra kalkyleringar kan också utföras men det är en fördel att veta vilken typ av chip man har på minnesmodulerna.

QVL listor för de flesta AM4 moderkort

Tweaking

Om man nu införskaffat sig ett par skinande B-Die baserade moduler och inte vet i vilken ände man ska börja för att få ut så mycket av dom som möjligt så kommer här en del nyttig info. Om ni vill att era moduler ska arbeta i rätt hastighet så kan ni bege er in i moderkortets uefi och slå gång på XMP/DOCP och välja rätt minneshastighet. Om ni nu tycker att detta var skrämmande nog och ni inte bryr er om den där sista lilla prestandagnuttan så kan ni nöja er här. För er andra så kan ni kika på nästa steg som involverar manuella timings.

Vi kan börja med följande bilder som innehåller en slags lathund för timings som bör fungera alldeles utmärkt utan allt för stora ingrepp med övriga inställningar, kom dock ihåg att dessa gäller enbart för b-die baserade minnen. Safe inställningarna bör fungera utan någon annan justering, Fast kan behöva lite handpåläggning så som extra dram spänning, högre hastigheter kan också behöva en liten knuff på SoC spänning. (se förklaring nedan)

"The Stilt" som tagit fram dom, dessa är alltså ämnade för B-Die baserade minnen, inte Hynix eller Micron

Timings

Det här med timings blir fort väldigt invecklat men vi kan börja med att ta det på en väldigt enkel nivå, dram är uppbyggt på ett sätt som skulle kunna påminna om excel, du har rader, kolumner, blad och arbetsböcker för att lagra information i celler och dram fungerar på lite samma sätt. Du har flera minneschip på samma minnesmodul och varje chip innehåller sedan rader & kolumner (Rows, Columns) men också stackade rader och kolumner, när man sedan pratar om timings så kan man fritt översätta begreppet till ett samlingsnamn för hur lång väntetid som behövs för att göra minnesoperationer. Väntetiden i sig är oftast definierad som hur många clockcykler som måste passera innan minnesoperationer associerad med denna timing kan utföras.

Lånad av anandtech, en så kallad "förenklad" syn på minnesoperationer.

Nu finns det en mycket stort antal variationer på hur en minnesoperation kan utföras, tänk på excel igen där du har info i en cell men vill flytta den till en annan, detta kommer på dram medföra att du först måste "väcka" den nya cellen till liv med en precharge signal, denna signal har en viss tid allokerad till sig för att det ska vara säkert att cellen faktiskt har hunnits "väckas" til liv, detta är mycket förenklat en precharge timing. Sedan finns det andra latenser som sätter x antal klockcykler som väntetid innan data kan skrivas till en cell det nyss skrivits till, andra som bestämmer hur lång väntetid det ska vara mellan upprepade skrivningar till samma "bank" av minnet (se det som ett arbetsblad i excel...) och sen finns det specialare som definierar hur bred en signal kan vara i antal klockcykler. Det finns också latenser som definierar tider för själva adresseringen av rader och kolumner och banks.

Nu kan man praktiskt taget göra doktorsavhandlingar på hur DRAM fungerar och jag har inte kunskapen att förmedla detta på ett mer pedagogiskt sätt än jag gjort här, för det som vill ha en mer djuplodande genomgång finns det en veritabel uppsjö av information att finna, till exempel hos anandtech.

Nu finns det ett knep att räkna på latenser och frekvenser för att se hur lång faktisk tid som går åt till att överföra data vid givet CAS värde och givet MT/s värde, personligen anser jag att denna uträkning lämnar en hel del övrigt att önska då det kastar alla andra latenser åt sidan och fokuserar enbart på Column adress strobe. Det ger dock en fingervisning i hur en snabb frekvens med högt CAS värde kan vara långsammare än en låg hastighet med lågt CAS värde. https://en.wikipedia.org/wiki/CAS_latency#Memory_timing_examp... ger en bild av hur CAS och MT/s påverkar den slutgiltiga tiden i nanosekunder
Som ett exempel, 3200MT/s CL15 ger en tid på 9,38ns medans 4000MT/s med CL19 ger 9,50ns för första överföringen, kort & gott, timings spelar roll.

Nedan följer en enkel genomgång av de timings man kommer åt att justera på Ryzen

En stor del av infon är direkt saxad från AMD men även andra ställen, nu orkar jag inte översätta allt til kvasisvenska så det får stå kvar på engelska, hoppas det duger ändå.

Primära timings

tCL
Column adress 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). (Lägsta med B-die: ~12-14@3200, 16 för Hynix)
tRCD
RAS to CAS delay, read & write är separerad på Ryzen till tRCDWR och tRCDRD 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. (Lägsta med B-die: ~12-15@3200, 18 för Hynix)
tRP
Row Precharge Time. 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. (Lägsta med B-die: ~12-15@3200, 18 för Hynix)
tRAS
RAS Active Time. 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). (Lägsta med B-die: ~22-32@3200, 38 för Hynix)
tRC
Row cycle time, or the number of clock cycles required for a memory row to complete a full operational cycle. Lower values can notably improve performance, but should not be set lower than tRP+tRAS for stability reasons. Räknas inte alltid till primära men det är vissa som gör det (Lägsta med B-die: ~36-45@3200, 56 för Hynix)

Med bra B-Die minnen (bra binning) kan man utan problem köra 14-14-14-14-28-42 på primära timings i 3200MT/s och detta vid 1.35v dram, nu kan vissa moduler kräva lite mer spänning för att klara detta medans vissa till och med kan vägra bli stabila vid dessa timings, mina moduler är ett par som inte kan gå lägre än 14-15-15-15-30, oavsett frekvens. Detta kan dock vara en effekt av SPD programmering och memory training som blir & spöka. I mitt fall gör det inte så mycket då modulerna istället kan hålla dessa timings vid 3466 med inte allt för hård spänning.
Hynix moduler brukar om dom kommer upp i 3200MT/s kräva runt 16-18-18-18-38-56 för att vara stabila.

Sekundära timings

tWR
Write recovery time, or the time that must elapse between a valid write operation and the precharging of another bank. Higher values are often better for stability. (Lägsta med B-die: ~10@3200, 22 för Hynix)
tRFC
Refresh cycle time, or the time it takes for the memory to read and re-write information to the same DRAM cell for the purposes of preserving information. (Lägsta med B-die: ~256@3200, 560 för Hynix)
tRFC2
Refresh cycle time for double frequency (2x) mode. Dividera tRFC med 1.34 för att få fram tRFC2 (Lägsta med B-die: ~190@3200, 416 för Hynix)
tRFC4
Refresh cycle time for quad frequency (4x) mode. Dividera tRFC2 med 1.625 för att få fram tRFC4 (Lägsta med B-die: ~117@3200, 256 för Hynix)
tRDD_L
RAS to RAS Delay (long), or Row to Row access in the same bank group.
tRDD_S
RAS to RAS Delay (short), or Row to Row access in a different bank group.
tRRD_S
Activate to activate delay (short), or the number of clock cycles between activate commands in a different bank group. (Lägsta med B-die: ~4@3200, 6 för Hynix)
tRRD_L
Activate to activate delay (long), or the number of clock cycles between activate commands in the same bank group. (Lägsta med B-die: ~6@3200, 8 för Hynix)
tWTR_L
Write to read delay (long), or the time between a write transaction and read command on the same bank group. (Lägsta med B-die: ~8@3200, 12 för Hynix)
tWTR_S
Write to read delay (short), or the time between a write transaction and read command on a different bank group. (Lägsta med B-die: ~3@3200, 4 för Hynix)
tRTP
Read to Precharge, or the number of clocks that are inserted between a read command to a row
pre-charge command to the same rank. (Lägsta med B-die: ~6@3200, 12 för Hynix)
tFAW
Four activation window, or the time that must elapse before new memory banks can be activated after four ACTIVATE commands have been issued. Configured to a minumum 4x tRRD_S, but values >8x tRRD_S are often used for stability. (Lägsta med B-die: ~20-24@3200, 39 för Hynix)
tCWL
CAS Write Latency, or the amount of time it takes to write to the open memory bank. WCL is generally configured equal to CAS or CAS-1. This can be a significant timing for stability, and lower values often prove better. (Lägsta med B-die: ~12-14@3200, 16 för Hynix)

När det kommer till sekundära timings så verkar dom vara ungefär lika viktiga allihopa och det finns lite olika beräkningar man kan göra för att se vilka värden man bör sätta, AMD’s blog om timings innehåller en del info på denna front (gäller även primärtimings)

Tertiära timings

tREFI
Refresh timer, the amount of time it takes before a charge is refreshed so it does not lose its charge and corrupt. Measured in micro-seconds (µsec). Sätts per automatik men i samband med tRFC
tCKE
Clock Enable, When this signal is low, and after one clock cycle, the SDRAM is inhibited and no commands are interpreted despite the state of other lines. The SDRAM is made active on the rising edge of the clock after CKE is made high. Kan påverka stabiliteten rätt duktigt medans prestandapåverkan inte är så stor, högre frekvenser trivs med lägre tCKE värde. Agerar timing med "power down; enabled" mellan strömlägen men modifierar även pulsbredd(Lägsta med B-die: ~6-8@3200, 8 för Hynix)
tRDWR, tWRRD
Read-to-write and write-to-read latency, or the time that must elapse between issuing sequential read/write or write/read commands. (Lägsta med B-die: ~5-6@3200, 6 för Hynix)
tRDRDSCL, tWRWRSCL
Read-to-read and write-to-write latency, or the time between sequential read or write requests (e.g. DIMM-to-DIMM, or across ranks). Lower values can significantly improve DRAM throughput, but high memory clocks often demand relaxed timings. (Lägsta med B-die: ~2@3200) Dessa två ger väldigt mycket bättre prestanda och kan med B-Die sättas så lågt som 2, på Hynix kan man komma ner till 4 eller 5.

BCLK klockning

Denna term kan för vissa vara ny så vi kan börja med att förklara vad det är i mycket enkla ordalag, tänk på det som en slags ”huvudklocka” som i sin tur multipliers och dividers bygger vidare på, det är i grunden en busshastighet som förr band ihop CPU med nordbrygga (FSB eller Front Side Bus) och resten av moderkortet, idag är dock huvuddelen av nordbryggan integrerad i processorn så det används mer som en ren referensklocka som sedan allt annat bygger på.

Normalt ligger denna klockhastighet på exakt 100MHz och det som händer när man klockar via denna är att alla andra frekvenser höjs, inklusive S-ATA, PCI-e, CPU och minnesbuss hastighet, detta då alla andra hastigheter baseras på denna genom multiplar eller dividerare, nu kanske detta inte låter så illa men största problemet här är utan tvekan S-ATA och PCI-e, S-ATA då lagringslösningar normalt inte alls gillar höjd frekvens och det leder väldigt ofta till korrumpering av data, inte alla S-ATA anslutna enheter är lika känsliga men man ska inte underskatta just hur känsliga dom kan vara. Näst har vi PCI-E där vi har ett par problem, nummer ett är som för S-ATA att data som skickas via bussen blir korrupt eller att anslutna enheter bara slutar fungera/inte kommunicera tills hastighet sänks igen. Nummer två är att på Ryzen kommer själva länkhastigheten och dess version sänkas, från 100MHz till 105 eller 107MHz är det PCI-e 3.0, däröver sker en regression till PCI-e 2.0 och över 145MHz sjunker det till 1.0. En sänkning till 2.0 är kanske inte hela världen om man enbart spelar men ha i åtanke att det gäller även NVME anslutna enheter så där en anslutning tidigare gav 4 lanes vid 3.0 hastighet så är det bara 2.0 hastighet. Dessutom så sänks hastigheten mellan cpu och sydbryggan så bandbredden mer eller mindre halveras till den så har du många lagringslösningar via den så kommer skillnaden i hastighet märkas.

Här syns rät tydligt vad som händer med PCI-E med olika BCLK frekvenser

Med denna rätt stora brasklapp så finns det ändå ett par lösningar på de problem som uppstår, på nya Zen+ verkar det gå att asynkront köra BCLK högre utan att påverka övriga busshastigheter, om detta gäller även på äldre Zen med nya moderkort är mycket otydligt just nu och det är ännu mer otydligt om alla nya moderkort stödjer detta (eller äldre för den delen). Vissa moderkort har även ett ”halvt” stöd för asynkron BCLK klockning där man kan sätta en extern referens klocka för S-ATA bussen, detta avhjälper det största problemet men kvarstår gör PCI-E problematiken. Speciellt med NVME verkar det vara mycket känsligt för hastigheter annat än 100MHz där enheter bara slutar kommunicera tills klockan återställs.
Exakt hur anslutna enheter reagerar går icke att säga på förhand då alla enheter reagerar olika, det kan även skilja mellan olika exemplar av samma produkt på samma sätt som minnen och processorer orkar olika högt i frekvens vid klockning trots samma modell.
För min egen del så med X370 och en första gen Zen så ser det ut som att jag enbart har tillgång till extern S-ATA referensklocka men det problem jag får är att vid 104MHz BCLK slutar mitt integrerade Intel NIC att fungera. Så för min del är det inte jätteintressant att BCLK klocka.
Om vi nu kikar på hur BCLK klockning påverkar minneshastigheten så är det enklaste sättet att räkna på det att välja en minneshastighet i UEFI, säg 3333MT/s, om du då väljer en BCLK på 103MHz så kommer du få en hastighet av 3333x103=3433MT/s, sätter du 104MHz hamnar du på 3466MT/s osv.

Varför skulle man då vilja klocka med BCLK om det för med sig så mycket problem?
Jo därför att man normalt sett kan komma högre i både CPU och minneshastighet än man kan utan BCLK klockning, vad som är ännu mer underligt är att med BCLK klockning kommer man i många fall undan med lägre energiförbrukning vid samma klock som om man klockat utan bclk. Om man dessutom vill behålla stock inställningar i övrigt på CPU för att ha kvar XFR & PB (speciellt på 26/2700x) fungerar BCLK klockning väldigt bra.

Knep & Knåp

När det kommer till att pusha minneshastighet på Ryzen så finns det ett par knep, börja alltid vid en lägre frekvens och arbeta dig uppåt, på så vis låter man memory training jobba och hitta rätt inställningar för varje ökning. Säg att du har ett mål på 3466Mt, börja då inte på 3466 utan sätt de timings och spänningar som du tänker köra men använd en lägre hastighet så som 2933, öka sedan till 3200 och sedan 3333 och sist 3466. Låt alltså datorn starta om efter du sparat i uefi och låt den gå genom memory training för varje steg. Att hoppa direkt på 3466 skulle med all förmodan resultera i en icke boot med failsafe settings efter fail count har löpt ut. Detta då memory training får svårt att hitta rätt med för stora hopp i hastigheter.

Steg ett att börja med är att uppdatera EUFI/AGESA så att man har senaste versionen, var noga med att följa eventuellt speciella procedurer, övergången från tidiga UEFI versioner till senaste PinnaclePi versioner kan kräva en speciell Bridge version emellan, efter det så bör CPU köras helt stock för att minimera antalet felkällor vid minnes OC. Nästa steg är att antingen bestämma sig för att sätta timings helt manuellt eller att bara ladda XMP/DOCP profil. Sedan kan man börja på en lägre hastighet så som 2667 och jobba sig uppåt, ett bra test att köra mellan varven är OCCT då det sätter rätt bra press på systemet och visar minnesfel ganska fort. När det kommer till spänningar så är det bra att börja med att öka VDDP till runt ~0.925v och ProcODT till ~53.3ohm, detta kan sedan behöva en något ökad SoC spänning om man går upp runt 2933 eller mer, SoC brukar ligga bäst runt 1.05 till 1.15v, de flesta tillverkarna sätter 1.1v direkt på SoC när man höjer minnesfrekvens men man bör inte köra mer än nödvändigt. Om ni går utanför spec på minnen (frekvens och/eller timings) så kan det behöva en ökad dram spänning och en justerad VTT_DDR spänning.
Om ni nu pressar frekvenser väldigt högt så kan ni behöva justera CAD och Databus inställningarna och sätta lite andra motståndsvärden på dessa men för lägre frekvenser brukar det inte behövas, kör man 4st minnesmoduler så kan det däremot behövas.

En annan sak att hålla ögonen på kan vara att om det laddas fail safe settings så kan spänningar ha återställts till default, får man en failsafe boot kan det med andra ord vara lönt att dubbelkolla främst Dram & vtt_ddr så de stämmer. Detta är dock lite moderkort & uefi beroende men det är rätt vanligt förekommande.

En till sak att hålla koll på är om moderkortet behåller manuella timings inställningar när man byter dram hastighet, det kan nämligen vara så dumt att det inte gör det, även detta är en aning moderkortsberoende.

När det kommer till spänningar vid minnes OC så Kom ihåg att en del spänningar i full auto konfig kommer gå ner nära 0 i idle läge och manuellt satta är alltid att föredra vid all form av överklockning då man kan hålla en lägre spänning rent generellt än vad som skulle behövas vid varierande spänning, det gäller även minnes OC.
Till att börja med kan man börja med att öka på DRAM (om man går utanför spec på timings eller frekvens på minnesmodulerna), VTT_DDR (½a DRAM med liten bump), SoC (0.95-1.15v) och VDDP, sätt inte SoC för högt för det hjälper inte på annat än IMC och intern stabilitet för CPU egentligen, har man lite problem med att få timings stabila eller hastighet så kan det vara bättre att öka på VDDP spänningen en smula först, denna kan man sätta runt 0.9-1v men det brukar räcka med ca 0.925-0.95v. Kom ihåg att du också kan behöva justera Vcore till cpu kärnorna vid höjd Infinity Fabric frekvens/minneshastighet om du har en sämre binnad cpu.

En ganska elementär sak som ändå är ganska enkel att glömma är just vilka minnes slottar man använder, nu påverkar detta på två sätt, ett är att man nyttjar bägge minneskanalerna och inte bara den ena och två är att man nyttjar de primära slottarna, två av de fyra är nämligen bara en slav på de två första så bäst hastighet fås oftast med de primära. Ledningsbanorna från CPU sockeln till minnesslotsen räcker egentligen bara till två slots (en per kanal) men tack vare lite teknisk hokus pokus så kan man sätta på en slavslot på varje primär slot, att sätta en tredje slot introducerar däremot för mycket signalförluster och för hög belastning på IMC'n så därför ser man sällan (aldrig?) mer än två per minneskanal i hårdvara till konsumentdatorer. Moderkort riktade till extrema överklockare brukar till och med ta bort slavslots helt då det bara tillför signalproblem utan något extra värde när man inte nyttjar dom. Nu är alla moderkort olika på denna punkt men väldigt många moderkort har följande layout

Slottarna är döpta A1, A2, B1, B2. A1 närmast cpu och B2 längst från cpu, normalt brukar man vilja populera A2 och B2 först. A står för minneskanal A och B för minneskanal B, ett och två är bara slot ett och två per kanal. Observera att detta är inte en standard alls så kolla alltid i moderkortets manual på vilka slots man ska bruka först, har du fyra minnesmoduler spelar det såklart ingen roll.

Vidare info:

Om ni nu känner er äventyrliga och vill ta det hela så långt det bara går med bibehållen stabilitet och utan tokhöga spänningar så kan ni börja pressa timings än hårdare, för att göra det så kan det vara bra att veta om följande inställningar i uefi som kommer påverka minnesbuss och minnesmodulers stabilitet. Tyvärr är det inte alla moderkort som har eller visar alla nedanstående inställningar och är uefi inte programmerat att justera dessa själv vid minnes OC blir det genast mycket svårare att uppnå högre hastigheter på internminnet, en del av dessa saker kan dock vara lite gömda under advanced/AMD CBS eller AMD PBS. AMD CBS verkar mestadels innehålla saker anslutna till processorn och nordbryggan i någon form, AMD PBS däremot verkar vara mer generellt moderkort och sydbrygge grejer.
Under AMD CBS brukar man därför hitta minnesrelaterade grejer som annars inte är synliga, saker som VDDP, CLDO_VDDP eller referens volt för individuella minneskanaler och så vidare, nackdelen att ändra saker här under är att default värden normalt sett inte är ifyllda så det gäller att utöva en viss försiktighet med de värden man sätter, speciellt på spänningar, dessa är ofta angivna i mV istället för volt. Det finns dock moderkort som lägger dessa under AMD PBS som i detta fallet:

Här syns VDDIO, VDDP, PLL, VTT MEM samt AddCmd MemVref

Spänningar, finns oftast under OC avdelningar i uefi:

Här syns på ett bra sätt de olika spänningarna och ProcODT och vart dom hör hemma

(1) CPU Voltage eller Vcore eller VDDCR_CPU
Detta kanske låter lite underligt men om ni kör manuellt överklockad CPU så kan ni komma att behöva köra något högre Vcore vid högre minneshastigheter, om detta beror på spänningsfall eller om det beror på den ökade Infinity Fabric frekvensen och att det då kan gå åt en del extra vcore är svårt att säga men om en minneshastighet fungerar i stock men inte vid manuell OC av CPU så kan det hjälpa med något ökad Vcore. (1.425v är enligt AMD max för Zen och 1.38v för Zen+ innan man ser förkortad livslängd). Även vid stock hastigheter på CPU kan man råka ut för problem vid ökad minneshastighet som kan avhjälpas med justerad vcore eller LLC för vcore, justerar man vcore då så bör man köra en offset voltage och justerar man LLC så får man se upp att det inte överskjuter målet för grovt.
(3) DRAM Voltage eller MEM_VDDIO eller VDIMM
Arbetsspänning för minnesmodulerna, mellan 1.35 och 1.45v funkar utan problem, vid 1.45 är det bra med lite luftcirkulation runt minnena, för varma minnen kommer orsaka instabilitet. Denna spänning påverkar minnesmodulens stabilitet i första hand. Observera att B-Die tål mer spänning än exempelvis Hynix AFR/MFR men upp till 1.4v ska vara i det närmaste totalt ofarligt oavsett minneschip, i övrigt bör man läsa på innan man övervoltar för hårt på just sin specifika minnesmodul. AMD säger att upp till 1.5v ska vara ok vad det gäller IMC.
(6) VTT_DDR eller VREF Voltage eller MEM_VTT
En referensspänning för minnesmodulerna, denna ska som standard vara halva DRAM spänningen men för extra stabilitet kan den förskjutas några snäpp uppåt, kör man 1.4v dram så ska VTT_DDR vara 0.7v, för extra stabilitet kan det vara bra med 0.725v eller närliggande, denna spänning ger bättre stabilitet för minnesmodul och minnesbuss. Gå ej över 0.9v
VDDP
En spänning som appliceras på länken mellan IMC och minnesmodulernas IC chip, denna spänning kan hjälpa till att ge stabil OC på minne och speciellt hjälper den på vid låga timings och höga frekvenser. Bör ligga inom 0.9v till 1.0v vid minnes OC och det brukar räcka med ca 0.925-0.95v
CLDO_VDDP
I vissa fall kan det hjälpa att justera denna en smula om man hittar en viss hastighet som total vägrar fungera stabilt även om både högre och lägre hastigheter gör det, lite av en sista åtgärd att prova. Denna har en sweetspot vid given minneshastighet, lite som SoC spänning. Vilka värden som gäller är lite svårt att få fram men utgå från stock och gör endast väldigt små justeringar. http://www.overclock.net/forum/26457559-post292.html innehåller en bra förklaring
(5) VPPM eller VPP_MEM eller AddCmd MemVRef
En ny spänning med DDR4 som tidigare togs från dram spänning, används för "DRAM row access", inget man ska behöva pilla på egentligen.
(2) SoC voltage eller VDDR_SOC eller VDDCR SOC
Den spänning som matas in i uncore i CPU, alltså de områden som innehåller allt utom cpu kärnorna rent praktiskt (IMC, PCI-E, SoC delen och iGPU). Denna bör hållas inom 0.95v till 1.15v och 1.2v max innan degradering inträffar på 1000 serien Ryzen (Zen), för APUer med integrerad GPU så kan denna vara högre. För 2000 serien (Zen+) är denna ökad till 1.25v som max innan degradering inträffar. Högre SoC spänning ger inte alltid mer stabilitet utan här gäller det att hitta en sweetspot. SoC spänning ger alltså IMC och minnesbussen bättre stabilitet i första hand, inte själva minnesmodulen i sig. Om ni kör överklockad CPU kan ni behöva öka denna ännu något mer än vid stock hastighet på cpu, blir dock beroende på Vcore en smula.
PLL Voltage eller +1.8 voltage
Phase Locked Loop, skall enligt utsago påverka renheten hos given klocksignal (BCLK). Skall vara fast värde och inte auto då moderkort har en tendens att övervolta PLL i onödan, bör vara 1.8v eller lägre om man känner för att undervolta något, påverkar temperatur (eller bara avläsning av temp) hos Zen (eventuellt Zen+ också) enormt mycket medans det endast ger extra stabilitet med höjd PLL vid LN2 situationer eller vid riktigt extrem BCLK klockning.
Load Line Calibration (LLC)
Denna inställning åtgärdar spänningsfall som kan ske vid full load (vdroop), vissa moderkort saknar detta helt, andra har det för individuellt för Vcore, Dram och SoC spänning. Poängen med LLC är att justera den så att den spänning som den appliceras på förblir exakt likadan oavsett idle eller full load, om spänningen stiger under load är LLC för högt satt, sjunker spänningen är den för lågt satt. Man måste med andra ord kolla upp detta med valfritt övervakningsprogram. Kom ihåg att en del spänningar i full auto konfig kommer gå ner nära 0 i idle läge och manuellt satta är alltid att föredra vid all form av överklockning.

Advanced memory settings:

Fail Count
Hur många gånger memory training ska försöka hitta rätt inställningar innan det defaultar till safe mode inställningar för minnet, när man jagar högsta möjliga hastighet kan denna sättas till 5, om man inte vill vänta i evigheter på att memory training ska ge upp kan man sätta den till 2, för det mesta skiter sig nämligen mem training på första försöket.
(4) ProcODT
En slags rening/ filter för signalen som motverkar brus(Processor on-die termination) som kan justeras till olika motståndsvärden, denna kan avhjälpa instabilitet vid höga minneshastigheter. Vid 3333-3466MT/s rekommenderas ett värde på 53.3 eller 60. Gå inte gärna över 60 eller under 40. Om inga problem finnes så låt stå på auto. För högre hastigheter än 3466 på 1000 serien Ryzen så kan man behöva gå över 60, 68 brukar räcka för 3600MT/s. Gå inte över 80 enligt AMD utan extrem kylning, andra säger 96 För Dual Rank minnen eller 4 minnesmoduler kan ett högre ProcODT värde funka bättre, så vid 3333-3466 kanske det är bättre att prova 68 eller mer.
Gear Down Mode
Låter minnesmodulen arbeta i halvfart på en form av intern växling (grovt förenklat), detta kan tillåta högre hastigheter men offrar prestanda för att komma dit, för B-Die minnen kan det avaktiveras utan större strul, över 3600MT/s kan det behövas igång. För ojämna CAS värden behöver denna vara aktiverad, slår du av denna med ojämt CAS värde resulterar det i att datorn inte bootar, det kan dock på vissa moderkort vara precis tvärs om. Osäkert om det är by design...
Power Down Mode
Strömspar för minnen genom att offra prestanda, slå av oavsett minnestyp för bättre prestanda på kostnad av pytteliten ökning i strömförbrukning.
Bank Group Swap
Denna påverkar hur minnet används rent fysiskt och hur data lagras samt var på minnet rent fysiskt det sker, man växlar ”mappning” med denna. Med BGS avslaget kommer spel prestera bättre medans syntetiska tester tenderar att prestera bättre med den påslagen
Command Rate
Hur många clock cykler som används innan data kan skickas efter ett chip blivit valt genom adress, 1T är det snabbare värdet men kan orsaka en del instabilitet på sämre minnesmoduler eller när man jagar extrema hastigheter, 2T kan då vara att föredra även om man offrar lite prestanda i processen. Hynix gillar oftast 2T (Delay between when a memory chip is selected and when the first active command can be issued. The factors that determine whether a memory subsystem can tolerate a 1T command rate are many, including the number of memory banks, the number of DIMMs present, and the quality of the DIMMs.)

CAD Bus settings: Här hittar man 4 olika motståndsvärden som i sin tur påverkar minnesbussen, dessa kan vara värt att prova om man vill få till den där sista gnuttan stabilitet som eventuellt saknas, annars lämna på auto. Värden som 30 på alla 4 eller 30/30/40/60 är också vanliga vid höga hastigheter, även Hynix moduler verkar må bra av högre värden på dessa. Vad som är maximala värden här verkar vara en aning tvetydigt.

CAD_BUS ClkDrvb
Clock Drive Strength, ett värde mellan 24 & 30ohm är att föredra, vissa rekommendera uppåt 40
CAD_BUS AddrCmdDrv
Address / Command Drive Strength, samma som Clock Drive när det gäller värde.
CAD_BUS CsOdtDrv
CS / ODT Drive Strength, mellan 24 och 40 brukar vara bra
CAD_BUS CkeDrv
CKE Drive Strength, värde mellan 30 och 60 är att föredra

Data bus settings Här har vi en del terminerings motstånd för minnesbussen, som exempel har vi RZQ vilket är 240ohm, tar man RZQ/7 så är det ~34 ohm, kör man RZQ/5 är det 48ohm

RTT Nom
Vanligt förekommande värde vid högre hastighet är RZQ/7 (34ohm)
RTT WR
vanligtvis Off
RTT Park
Vanligt förekommande värde vid högre hastighet är RZQ/5 (48ohm)
DQS str
Vanligt förekommande värde vid högre hastighet är 60

Som ett exempel så kör jag följande inställningar just nu med ett kit Corsair 3733 2x8GB single rank b-die minnen med en 1800x. Dessa är inte de bäst presterande B-Die modulerna men dom är lågprofil vilket väldigt få andra är, praktiskt med stora luftkylare.

Dram voltage: 1.45v efter LLC
vtt-ddr: 0.74v
SoC voltage: 1.125v efter LLC
VDDP voltage: Auto (0.928v)
CommandRate: 1T
GearDownMode: Off
PowerDownMode: Off
ProcODT: 53.3
CAD BUS: Auto
Data BUS: Auto
Det resulterar i följande prestanda

Med B-Die behöver man med andra ord inte krångla med allt för många inställningar men det beror lite på moderkortet också hur bra det är på memory training och allmän kvalité. Om jag vill högre än 3466MT/s lär jag börja pilla på CAD bus & på Data BUS inställningar plus att jag måste krana på spänningar såpass at det inte är värt det.

Nyttiga länkar:

Swec; Zen samlingstråd
Swec; AMD Ryzen 2000 "Pinnacle Ridge" – samlingstråden
Swec; Tråden om minnen till Ryzen, frågor svar, goda råd, resultat med mera
Swec; Ryzen - overclocks!
AMD Memory OC Blog
AMD DRAM Blog om timings

Inte helt dum genomgång av Robert Hallock, spelades in vid lansering av första gen Ryzen så senare förbättringar med fler minneshastigheter fanns inte då.

#AMD #Ryzen #zen #zen+ #b-die #bdie #DDR4 #timings #AM4 #minnen #överklockning

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Zen+ och dess beteende med minnen
Nu har det dykt upp flertalet tester och genomgångar av Zen+, även kallad Ryzen 2000 serien. Denna uppföljare har utlovat stöd upp till 4000MT/s överklockning på minnen men för att ta sig dit krävs det till att börja med rätt minneskit och rätt moderkort samt rätt otrevliga spänningar att mata allt med. Att förvänta sig 4000MT/s är lika sannolikt på 2000 serien som att förvänta sig 3600MT/s+ på Zen/1000 serien.
Det finns de som kommer upp i 4000MT/s men som normal 24/7 användare så kommer det mera sannolikt hamna runt ~3600MT/s som mest, följande bild är saxad från Gamersnexus test av 2700x där man kollar hur Zen+ skalar med minnesfrekvens när man kontrollerar alla timings helt manuellt och håller dom lika för alla hastigheter.

Som synes så används TimeSpy och dess fysiktest, detta test är otroligt känsligt för minnesprestanda så detta är praktiskt taget best case för att se skillnad mellan olika inställningar i syntetiska tester (Förutom Aida64 och dess cache/minnestest) och skillnad syns, dock är den inte direkt stor alls när man väl kommer upp i ~3333MT/s, man stöter på "diminishing returns" precis som på första generation Ryzen. Med andra ord kan man skippa de högsta hastigheterna till förmån för lägre latenser vid "normala" hastigheter. Tänk på att det timings som körs här är rätt slappa så det finns utan tvekan förbättringar att göra, detta är mer för att se hur Zen+ reagerar på frekvens och förtjänst av höjd Infinity Fabric frekvens.

Här ser man samma test men här låter man moderkortet bestämma sekundära och tertiära timings, som synes tappar man en hel del prestanda att göra det då moderkorten kör stora säkerhetsmarginaler på timings så att så brett utbud av hårdvara som möjligt ska funka. Det gör också att man kan faktiskt tappa all fördel av en högre frekvens om man inte ser upp med subtimings, många testare låser primära timings och inbillar sig att det ger konsekvent och bäst prestanda men det är hyffsat långt ifrån sanningen. Det som imponerar lite är dock att här lyckas moderkortet sätta tajtare subtimings på den lägsta hastigheten men förmodligen finns även här gott om marginal till förbättring. Det första testet satte relativt höga subtimings så man skulle kunna köra exakt samma timings i alla frekvenser.

Missförstå mig rätt, att köra 4000MT/s med 14-14-14-30 skulle med all förmodan prestera bättre än 3200MT/s 14-14-14-28 men för att köra det förstnämnda lär du praktiskt taget ta i så du skiter ner dig för att använda ett gammalt uttryck, ohm värden och spännings värden lär vara så hårt åtskruvade att det inte längre är en rimlighet att köra det 24/7. De inställningar som krävs att köra 3333/3466MT/s i runt CL14 är betydligt enklare att svälja som 24/7 lösning och det är dessutom inte så svårt att komma upp i med valfritt b-die baserat 3200cl14 kit. Har man tur kan man dessutom hitta ett kit som klarar 3200MT/s CL12 och då lär man prova sig fram till vad som presterar bäst i slutändan. Högre frekvens med lite högre latens eller lägre frekvens med lägre latens, den eviga och uråldriga frågan.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Zen2/Matisse/R3000, gäller även Zen3/Vermeer/R5000

Följande sektion tar upp det som skiljer med nya generationen Ryzen processorer, då de är uppbyggda på ett fundamentalt annorlunda sätt mot tidigare generationer så skiljer en del vad det gäller rekommendationer för frekvenser, spänningar motstånd osv. Mycket kan fortfarande appliceras på Zen2 så här nedan kommer jag mestadels gå igenom det som skiljer sig på just Zen2 snarare än allt rörande minnen. Grunden kan läsas ovanför fortfarande.

Index

  • Generell genomgång av Zen2

  • Rekommenderade värden samt ordlista

  • Minnets påverkan av prestanda

  • Avancerad tweaking

  • Nyttiga Länkar

Generell genomgång av Zen2

Stora skillnaden i och med Zen2 är att i dessa så sitter minneskontrollern i IO die och inte ihop med själva kärnklustren (CCD), därför kallas nu IMC (Integrated Memory Controller) istället UMC (Unified Memory Controller). Denna har en egen klockhastighet kallad UCLK och sätts som en divider mot minnesbussens hastighet (MEMCLK) vilket är halva din minneshastighet, exempelvis 3600MT/s=1800MHz, UCLK håller antingen 1:1 hastighet mot den (samma hastighet) eller 1:2 (halva minnesbussens hastighet). Anledningen till detta är att möjliggöra hastigheter över 4000MT/s vilket inte skulle vara möjligt om kontrollern behövde gå i 1:1 med minnesbussen. Att köra kontrollern i halva bussens hastighet har dock ganska extrema negativa effekter på latens vilket gör att förtjänsten av högre frekvens blir mer eller mindre uppäten, detta gör att de flesta satsar på att nå 36-3800MT/s med låga latenser och då gärna i 1:1 på FCLK/UCLK/MEMCLK (Infinity Fabric/Minneskontroller/minnesbuss)

Zen2 kan köra minneshastighet upp till 3200MT/s utan att det räknas som klockning, upp till och med 3600MT/s kommer gå synkat med FCLK:UCLK:MEMCLK, vill man köra synkat 3666,3733,3800 så måste man manuellt ställa detta på just synkat genom att sätta alla frekvenser manuellt. 1833/1834MHz för 3666MT/s, 1866/1867MHz för 3733MT/s och 1900MHz för 3800MT/s. Långt ifrån alla Zen2 processorer kommer orka upp i 1900MHz synkat läge och en del kanske stannar redan på 1800MHz, denna skillnad är i slutändan inte så enorm, speciellt inte om man ser till att optimera/polera timings vid 3600, även 3666 och 3733 fungerar utmärkt i 1:1 och slutar det med att det helt enkelt inte går att nå högre än någon av dessa så är det för liten prestandaskillnad för att lägga pengar på grejer som kan ta en till 3800, det blir en investering som inte går ihop rent ekonomiskt.

Buildzoid gör en bra genomgång av hur det fungerar på Zen2 här:

Rekommenderade värden samt ordlista

I ordlistan så anger jag en del rekommenderade värden för just Zen2, dessa är oavsett moderkort och chipset, nu skiljer sig dock all hårdvara pga kiselkvalité men också pga UEFI/AGESA version, så en del moderkort kan reagera lite underligt på en del saker, speciellt data bus inställningar och saker som command rate och gear down mode. Det som också skiljer mellan hårdvara är vad olika bolag kallar allt för, det finns tyvärr väldigt lite "standard namn" för saker så jag har försökt lista lite varianter som kan betyda samma sak beroende på tillverkare.

Här nedan syns ett exempel i uefi på hur FCLK är satt till 1867MHz och UCLK är satt till 1:1 med MEMCLK vilket är satt till 3733, detta sammantaget ger synkat läge mellan uclk:fclk:memclk

Rent generellt är det bäst att köra synkat läge för fclk/uclk/memclk men det finns situationer där asynkront läge kan löna sig, om du bara kan få upp dina minnen i 2933MT/s exempelvis så kan det löna sig att manuellt sätta en högre FCLK frekvens på 1800-1900MHz istället för 1466MHz som den annars skulle ha. Den ökade FCLK frekvensen kommer med stor sannolikhet ge mer prestanda än den förlust man får av att köra minnesbuss asynkront mot IF buss. Finns en del som testat detta och man ser klara fördelar av att klocka IF bussen, speciellt när minnena är väldigt långt ifrån maximala IF frekvensen. Om minnen når 3466-3600 så skulle jag personligen köra 1:1 på allt då latenser annars äter upp förtjänsten i spel, den förtjänsten kan dock fortfarande väga över i saker som inte är latensberoende. Når man 3600-3800 på minnena SKA man köra 1:1, allt annat är bortkastat.

SoC voltage eller VDDR_SOC eller VDDCR SOC
Den spänning som matas in i IO Die i CPU, alltså den separata chipleten som innehåller minneskontrollern (UMC) samt, PCI-E, USB etc. Denna bör hållas inom 0.95v till 1.15v. Högre SoC spänning ger inte alltid mer stabilitet utan här gäller det att hitta en sweetspot. SoC spänning ger alltså UMC bättre stabilitet i första hand, inte själva minnesmodulen i sig. Normalt värde vid 18-1900MHz FCLK/UCLK/MEMCLK är 1.1V
För x570 moderkort bör man inte gå över 1.1V på SOC då det kan sänka PCI-E bussen till gen3 med nuvarande agesa.
VDDG:
Infinity Fabric spänning, normalt 0.9-0,95V/ 900/950mV men kan sättas uppåt 1.175V/ 1175mV som mest, brukar generellt inte behöva höjas mer än till 0,95V även vid 18-1900MHz FCLK/UCLK/MEMCLK. Med nyare AGESA så är VDDG separerad till VDDG IO och VDDG CCD, den som påverkar mest är IO, den kan man köra upp strax under eller lika högt som SOC spänning, 1.1V brukar vara rätt lagom för höga frekvenser, VDDG CCD kan sättas mellan 0,9-1v med gott resultat. VDDG_IOD & VDDG_CCD är inte more=better utan det är en sweetspot, för mycket spänning och det blir instabilt, för lite och det blir instabilt. Sen påverkar VDDG också resten av processorn i fråga om temp och effekt vilket kan ge lägre frekvens på processorns boost, ju lägre VDDG du kan sätta med stabilitet desto bättre.
VDDP:
Minnesbuss spänning/drivspänning för transistor på bussen, inte samma som CLDO_VDDP, normalt 0,9V/ 900mV, kan sättas uppåt 1V/ 1000mV, gå inte över 1.1V/ 1100mV, normalt fungerar 0,9V även vid 18-1900MHz FCLK/UCLK/MEMCLK, stabilitet kan uppnås genom att sänka eller höja VDDP, små justeringar kan göra stor skillnad, behöver en kallstart för att aktiveras
CLDO_VDDP:
Interconnect spänning på UMC till chip på minnena, inte samma som VDDP, normalt 0,9V/ 900mV och kan sättas mellan 0,8V/ 800mV - 1V/ 1000mV, normalt fungerar 0,9V även vid 18-1900MHz FCLK/UCLK/MEMCLK
DRAM Voltage eller MEM_VDDIO eller VDIMM
Arbetsspänning för minnesmodulerna, mellan 1.35 och 1.45v funkar utan problem, vid 1.45 är det bra med lite luftcirkulation runt minnena, för varma minnen kommer orsaka instabilitet. Denna spänning påverkar minnesmodulens stabilitet i första hand. Observera att B-Die tål mer spänning än exempelvis Hynix AFR/MFR men upp till 1.4v ska vara i det närmaste totalt ofarligt oavsett minneschip, i övrigt bör man läsa på innan man övervoltar för hårt på just sin specifika minnesmodul. AMD säger att upp till 1.5v ska vara ok vad det gäller IMC/UMC.
VTT_DDR eller VREF Voltage eller MEM_VTT
En referensspänning för minnesmodulerna, denna ska som standard vara halva DRAM spänningen men för extra stabilitet kan den förskjutas några snäpp uppåt, kör man 1.4v dram så ska VTT_DDR vara 0.7v, för extra stabilitet kan det vara bra med 0.725v eller närliggande, denna spänning ger bättre stabilitet för minnesmodul och minnesbuss. Gå ej över 0.9v
VPPM eller VPP_MEM eller AddCmd MemVRef
En ny spänning med DDR4 som tidigare togs från dram spänning, används för "DRAM row access", inget man ska behöva pilla på egentligen.
PLL Voltage eller +1.8 voltage
Phase Locked Loop, skall enligt utsago påverka renheten hos given klocksignal (BCLK). Skall vara fast värde och inte auto då moderkort har en tendens att övervolta PLL i onödan, bör vara 1.8v eller lägre om man känner för att undervolta något, det ger endast extra stabilitet med höjd PLL vid LN2 situationer eller vid riktigt extrem BCLK klockning.
ProcODT
En slags rening/ filter för signalen som motverkar brus (Processor on-die termination) som kan justeras till olika motståndsvärden, denna kan avhjälpa instabilitet vid höga minneshastigheter. Vid 3600-3800MT/s rekommenderas ett värde på 30 till 40. Gå inte gärna över 60. För Dual Rank minnen eller 4 minnesmoduler kan ett högre ProcODT värde funka bättre, så vid 3600-3800 kanske det är bättre att prova upp mot 60 med 2xDR eller 4xDR/SR.
FCLK:
Infinity Fabric klockfrekvens, den buss som alla separata chiplets kommunicerar med varandra över, man når normalt som högst 1900MHz men beroende på kiselkvalité så kan man nå lägre eller högre frekvenser
UCLK:
Minneskontrollerns klockfrekvens (normalt en divider från MEMCLK så UCLK==MEMCLK är 1:1), man når normalt som högst 1900MHz men beroende på kiselkvalité så kan man nå lägre eller högre frekvenser, står normalt UCLK Div1: UCLK==MEMCLK
MEMCLK:
Minnesbussens frekvens (halva minneshastigheten, vid synkat läge samma som UCLK), hur högt man når här beror på UMC, minnen och moderkort, för x370 verkar det bästa borden toppa runt 3666-3733MT/s, för x470 så toppar de bästa borden runt 4500MT/s, x570 är de som orkar högst
BCLK
Den frekvens som används som basklocka för alla andra frekvenser i systemet, ändras denna kommer FCLK/UCLK/MEMCLK påverkas, samt PIC-E, USB osv.Normala frekvensen här är exakt 100MHz
Gear Down Mode
Låter minnesmodulen arbeta i halvfart på en form av intern växling (grovt förenklat), detta kan tillåta högre hastigheter men offrar prestanda för att komma dit, tänk på det som en slags command rate på 1½T, för B-Die minnen kan det avaktiveras utan större strul, över 3600MT/s kan det behövas igång. För ojämna CAS värden behöver denna vara avaktiverad, slår du på denna med ojämt CAS värde kan det resultera i att datorn inte bootar eller bara höjer tCL till ett jämt värde, det kan dock på vissa moderkort vara precis tvärs om. Osäkert om det är by design. GDM kan ge en snabb väg till stabilitet för ganska litet tapp i prestanda, speciellt med dual rank minnen av hög kapacitet
Command Rate
Hur många klockcykler som används innan data kan skickas efter ett chip blivit valt genom adress, 1T är det snabbare värdet men kan orsaka en del instabilitet på sämre minnesmoduler eller när man jagar extrema hastigheter, 2T kan då vara att föredra även om man offrar lite prestanda i processen. Hynix/Micron gillar oftast 2T
Power Down Mode
Strömspar för minnen genom att offra prestanda, slå av oavsett minnestyp för bättre prestanda på kostnad av pytteliten ökning i strömförbrukning.

CAD Bus settings: Här hittar man 4 olika motståndsvärden som i sin tur påverkar minnesbussen, dessa kan vara värt att prova om man vill få till den där sista gnuttan stabilitet som eventuellt saknas, annars lämna på auto. Värden som 30 på alla 4 eller 30/30/40/60 är också vanliga vid höga hastigheter, även Hynix moduler verkar må bra av högre värden på dessa. Vad som är maximala värden här verkar vara en aning tvetydigt. För Zen2 på Auto verkar alla defaulta till 24 och det rekommenderar även 1usmus.

CAD_BUS ClkDrvb
Clock Drive Strength, ett värde på 24 är att föredra
CAD_BUS AddrCmdDrv
Address / Command Drive Strength, ett värde på 24 är att föredra
CAD_BUS CsOdtDrv
CS / ODT Drive Strength, ett värde på 24 är att föredra
CAD_BUS CkeDrv
CKE Drive Strength, ett värde på 24 är att föredra

Data bus settings Här har vi en del terminerings motstånd för minnesbussen, som exempel har vi RZQ vilket är 240ohm, tar man RZQ/7 så är det ~34 ohm, kör man RZQ/5 är det 48ohm

RTT Nom
Vanligtvis Off/Disabled
RTT WR
vanligtvis Off/Disabled eller RZQ/3 (80ohm)
RTT Park
Vanligt förekommande värde vid högre hastighet är RZQ/5 (48ohm) eller RZQ/1 (240ohm)

Minnets påverkan av prestanda

Som tidigare generationer så spelar minnets hastighet och latens en ganska stor roll men fortfarande som mest i CPU limiterade situationer, high refreshrate gaming är en av de tillfällen som snabba minnen kommer göra skillnad men det kräver sin GPU. Steve från HW unboxed har gjort en bra video i ämnet och tar upp det som behöver tas upp.

Även Gamers Nexus

Gällande mer avancerad tweaking så finns det gott om prestanda att hämta in, nedanstående är tweakade timings på min rig med 2st 8GB b-die single rank minnen rullandes i 3666MT/s med en 3900x

3666MT/s tweakade timings

Det kan jämföras med samma minnen rullandes i standard XMP timings vid 3733 som med senare bios inte var möjligt att uppnå, här slog moderkortet dessutom på gear down mode vilket gjorde att tCL halkade upp på 18 då du inte kan köra udda timings med gear down igång, detta sammantaget gav rätt dålig prestanda rakt av.

3733MT/s XMP

Avancerad tweaking

En liten guide i hur ni läser av info från era minnen i thaiphoon burner & sedan importerar denna info i dram calc för att få fram bättre passande timings än vad r-xmp kanske föreslår.

Det är inte skriptat eller klippt utan inspelat rakt av & "on the fly". Så ta det för vad det är...

Som synes så är Dram Calc nu uppdaterat att stödja Zen2 och det fungerar idag bra på att ta fram en generell prognos i hur era minnen kan tänkas klocka men det har sina brister då all hårdvara är olika.

En annan sak som kan konfigureras på Zen2 är hur memory training (PMU Training) under POST fungerar, denna kan tweakas och DRAM Calc innehåller en sektion för detta som syns nedan, ni ser även en bild från min uefi på denna sektion & vart den går att hitta

Nyttiga länkar

DRAM Calculator for Ryzen by 1usmus
Thaiphoon Burner
HCI Memtest
KARHU Memtest
ZenTimings

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Helt missat den här, denna måste ju klistras ASAP!

Visa signatur

*Citera för svar*
Work smart, not hard.

Permalänk
Medlem

Precis vad jag behövde veta, tack!

Visa signatur

12c/24t 4.0GHz (Zen2) • 2x16GiB 3200MHz C14 • RTX 2080 FE 1965MHz 7000MHz • X570 I PW • Ghost S1 MKII

Permalänk
Medlem

@tellus82 Underbart jobbat. All eloge. <3

Permalänk
Medlem

FAP varning på denna tråden

Visa signatur

ASUS ROG Crosshair X670E Gene| AMD Ryzen 9 7800X3D Delidded | Custom EK Watercooling| WD Black SN850X 1TB + WD Black SN850X 2TB| Corsair Vengeance, DDR5-6600 64GB (2 x 32GB) @6400MHz CL 30-38-38-76| AMD Radeon RX 7900 XTX| LG UltraGear 45GR95QE OLED| MSI MPG A1000G PCIE5 1000W| Lian Li O-11 EVO|

Permalänk
Medlem

Fantastisk artikel. Underlättar mycket. Sparat den på min backupdisk. Tack!

Permalänk
Medlem

Helvete vad bra!

Kattbild som tack <3

Dold text
Visa signatur

R5 3600 | 5700 xt | XPG SPECTRIX 3200MHz 16GB | B450i Aorus Pro WIFI | Corsair SF750v2 | Evolv Shift Air |
Galleri: Aether | Chandra

-=CITERA FÖR SVAR=-

Permalänk
Medlem

Jäklar, har läst igenom hälften men det är mycket nyttig info här. Bra jobbat och tack så mycket!

Permalänk

Grymt jobbat....

Permalänk
Medlem

@tellus82: TACK

Dold text
Visa signatur

CPU: I7 7700k @ 4.6GHz - Noctua NH D15S - Asus ROG Strix Z270F Gaming.
GPU: RTX 3070TI @2 st 120mm cf-v12hp hydro dynamic fläktar. 👍
RAM: 32GB DDR4 3200MHz. HÅRDDISK: 4 st SSD, 2 Mekaniska.
MONITOR:1 Xiaomi MI 34"- 3440x1440 144Hz MONITOR:2 Optix MAG274R 27" 1080p 144Hz MONITOR/Tv:3 LG 47lv355n-ZB 47". Nätagg: Corsair Newton R2 1000W. Allt i ett Cooler Master CM Storm Stryker.

Permalänk
Medlem

Ögnat lite men tackar för detta, kanske även jag får till mina, mitt problem är väl att jag har 4 stickor samt 2 hynix och 2 b-die.
Bra jobbat

Visa signatur

WIN 11| Ryzen 7 5900X | Alphacool Eisbaer Aurora 420mm | Asus Rog Strix B550-F | Corsair Vengeance 32GB 3600RAM | XFX RX6950XT | Phanteks Enthoo Pro | EVGA Supernova G5 850W | Thrustmaster T500RS
OPENSUSE LINUX | Ryzen 5800X | Corsair Hydro H100x | ASUS PRIME X370-PRO | Corsair Vengeance 32GB 3200RAM | Vega 64 Vattenkylt | Corsair Obsidian 750D

Permalänk
Medlem

Man kanske ska ta och försöka brottas med det här igen. Mina Ripjaws V kördes ursprungligen i 3200Mhz CL14 men jag insåg ganska snart att det inte var stabilt nog och kör därför 2933Mhz CL14. Går det inte så går det inte, men det hade varit trevligt att få upp dom i det jag ursprungligen tänkt.

Vad brukar rekommendationen vara vid stabilitetstest med t.ex Memtest64, hur många timmar bör man låta testet gå?

Visa signatur

Stationär: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston A2000 1TB (x2), Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

Permalänk
Medlem

Jag kör mina fina 3200-speccade minnen i 3466Mhz, hade väl tur

Visa signatur

⚙️ Ryzen 5800X | G.Skill TridentZ 3866MHz CL14 | ASUS TUF 6900XT
🖥️ Samsung Odyssey G8 OLED ⌨️ Keychron Q4 60% 🖱️ Glorious Series One Pro
🎧 RME ADI-2-DAC FS | Focal Clear MG Pro | Sony MDR-Z7M2
📺 LG 65" GX OLED | Dynaudio Xeo 4

Permalänk
Medlem
Skrivet av Peking:

Man kanske ska ta och försöka brottas med det här igen. Mina Ripjaws V kördes ursprungligen i 3200Mhz CL14 men jag insåg ganska snart att det inte var stabilt nog och kör därför 2933Mhz CL14. Går det inte så går det inte, men det hade varit trevligt att få upp dom i det jag ursprungligen tänkt.

Vad brukar rekommendationen vara vid stabilitetstest med t.ex Memtest64, hur många timmar bör man låta testet gå?

Gissningsvis är det som håller dig tillbaka din R51600 icke X modell men ännu mera sannolikt ditt moderkort, rent HW mässigt ser det OK ut men vad som brukar fela är fördefinierade inställningar för vad som bör justeras för varje minneshastighet, om du har tillgång till precis varenda inställning tänkbar i uefi & du dessutom kan sätta rimliga värden så skulle du kunna göra jobbet manuellt själv men det kommer kräva en del detektivande för att hitta exakt vad det är som håller tillbaka dig. Om du kör manuellt klockad CPU så kan din CPU oc också hålla tillbaka dig då det kan göra en cpu mer känslig för höjd IF frekvens.

Steg 1: kolla timings hur dom sätts automatiskt, kan vara något som sätts helt åt skogen (primmär och subtimings), om möjligt sätt så mycket du kan manuellt.

Steg 2: Se över spänningar som normalt justeras automatiskt
Rent generellt så brukar moderkort automatiskt öka VDDP en smula från stock 0.9v till runt ~0.925v vid 3200MT/s, om ditt redan gör detta kan man prova ~0.94v för att se om det gör någon skillnad. Nästa sak som justeras automatiskt oftast är SoC spänning, denna brukar generellt må bäst inom 1.05 till 1.15v på första gen Ryzen och många moderkort sätter oftast 1.1v rakt av, detta kan dock vara lite bedrägligt då SoC spänning för bästa stabilitet kan vara lägre eller högre. Nästa sak att kolla är ProcODT, 48-53.3 är ofta lagom vid 3200MT/s men även här är det try & error som gäller.
När du sett över dessa så kommer man in på saker som moderkort ofta inte sätter automatiskt vid minnes OC, först har vi Vcore för cpu, när man höjer Infinity Fabric frekvensen så kan det hända att cpu kärnorna i sig vill ha lite mer spänning då kommunikationen till och från CCX klustren sker via just IF bussen, jobbar den då snabbare så verkar det som att vissa processorer vill ha lite mer kräm/blir lite känsligare för spänningsfall, detta gäller speciellt om man kör cpu'n manuellt klockad.
DRAM och VTT_DDR är nästa steg, B-Die mår bra av lite extra spänning och oftast kan man få betydligt mer stabilitet genom att öka VTT_DDR lite lite granna, VTT_DDR ska som sagt tidigare hållas på halva DRAM spänningen men att ge den lite knuff (0.72 istället för 0.7 som exempel) uppåt brukar göra underverk. Skulle man pusha minnesmoduler utanför sin specifikation så kan ökande av DRAM komma på tal men för 3200c14 med b-die brukar 1.35-1.4 räcka.
Sist kommer vi in på CAD bus & Data bus inställningarna och här är det bara och följa värdena postade ovanför i guiden för vad som brukar funka.

PS: Minnestester bör rulla rätt länge innan man kan känna sig säker på stabilitet, vi pratar minst en natts testande. Dock kan man för det mesta hitta hyffsad stabilitet ganska snabbt då de flesta program säger ifrån rätt snabbt om det inte är stabilt alls. Den sista gnuttan stabilitet kan dock vara dryg att hitta men fördelen med minnen är att det är ganska enkelt att ge lite extra utrymme åt stabilitet, speciellt för timings där det kan vara ganska enkelt att gå ett snäpp högre än man tänkt och få det helt stabilt relativt enkelt. Endast när man jagar den sista promillen prestanda kommer det bli en del svärande över väntan.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem
Skrivet av Peking:

Man kanske ska ta och försöka brottas med det här igen. Mina Ripjaws V kördes ursprungligen i 3200Mhz CL14 men jag insåg ganska snart att det inte var stabilt nog och kör därför 2933Mhz CL14. Går det inte så går det inte, men det hade varit trevligt att få upp dom i det jag ursprungligen tänkt.

Vad brukar rekommendationen vara vid stabilitetstest med t.ex Memtest64, hur många timmar bör man låta testet gå?

Jag har samma minnen som dig och har också problem att nå hlgt. Mina kan köras i 3133Mhz med "3200Mhz SAFE" timings enligt guiden, men det är nätt och jämt. Jag funderar på att sänka ett snäpp för ökad stabilitet.

Visa signatur

ozzed.net Min egenkomponerade 8-bit musik. Gillar du musiken från gamla klassiska NES eller Gameboy och liknande är det värt ett besök. :) Jag finns också på Spotify, Bandcamp, Jamendo, Youtube, och du kan även följa mig på Twitter och Facebook.
Vet du att du har fel? Signalera detta tydligt med Argumentationsfel och gärna Whataboutism.

Permalänk
Medlem
Skrivet av tellus82:

Gissningsvis är det som håller dig tillbaka din R51600 icke X modell men ännu mera sannolikt ditt moderkort, rent HW mässigt ser det OK ut men vad som brukar fela är fördefinierade inställningar för vad som bör justeras för varje minneshastighet, om du har tillgång till precis varenda inställning tänkbar i uefi & du dessutom kan sätta rimliga värden så skulle du kunna göra jobbet manuellt själv men det kommer kräva en del detektivande för att hitta exakt vad det är som håller tillbaka dig.

Tack för svar ang memtest (dock bortklippt ur citatet). Jag körde inte fördefinierade timings utan satte det själv. Spänningar likaså. Jag har sett folk med samma moderkort som haft bättre lycka än mig. Jag lade inte alls särskilt mycket tid på det innan jag ledsnade och safeade så jag tror nog det finns åtminstone lite mer att få ur minnena. Någon kväll framöver ska jag kolla närmare på det igen

Skickades från m.sweclockers.com

Visa signatur

Stationär: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston A2000 1TB (x2), Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

Permalänk
Medlem
Skrivet av Ozzed:

Jag har samma minnen som dig och har också problem att nå hlgt. Mina kan köras i 3133Mhz med "3200Mhz SAFE" timings enligt guiden, men det är nätt och jämt. Jag funderar på att sänka ett snäpp för ökad stabilitet.

Ja, alltså, 2933Mhz är ju inte dåligt egentligen. Det blir nog ett lite mer seriöst försök någon kväll för att försöka få ur lite mer. Blir det inget mer eller om jag hinner ledsna innan jag nått någon vart kommer jag inte ligga sömnlös över det

Skickades från m.sweclockers.com

Visa signatur

Stationär: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston A2000 1TB (x2), Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

Permalänk
Medlem
Skrivet av Peking:

Ja, alltså, 2933Mhz är ju inte dåligt egentligen. Det blir nog ett lite mer seriöst försök någon kväll för att försöka få ur lite mer. Blir det inget mer eller om jag hinner ledsna innan jag nått någon vart kommer jag inte ligga sömnlös över det

Skickades från m.sweclockers.com

Att man inte tar sig långt över 3000MT/s är inget att vara ledsen för direkt, speciellt inte om man som du har B-Die minnen och kan pressa timings betydligt hårdare än vad som sätts per automatik, det gäller även XMP/DOCP. Den prestanda du tappar på hastighet kan i stor del återfås med timings.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk

Har hittat en bugg (ASUS CROSSHAIR VI HERO UEFI 6004).

Väljer man asynkront läge för BCLK så höjs minneslatensen med ~25%
Tog mig ett tag innan jag kom på vilken av alla inställningar jag gjort som orsakade buggen (sitter ju inte och kör AIDA64 mellan varje enskild ändring i UEFI precis).

Tänkte om andra som har moderkort med detta val oxå upplever liknande.

Va osäker på om jag skulle skriva här eller i minnestråden men valde här då jag tror många kommer läsa denna bibel ts skrivit.

Permalänk
Medlem
Skrivet av Ozzed:

Jag har samma minnen som dig och har också problem att nå hlgt. Mina kan köras i 3133Mhz med "3200Mhz SAFE" timings enligt guiden, men det är nätt och jämt. Jag funderar på att sänka ett snäpp för ökad stabilitet.

Når inte heller jättehögt med mina Corsair 3600 C18.
Det bästa jag kan uppnå och ändå känna att det är 100% stabilt är 3200 14-14-16-36-52.
Kanske testar @tellus82 förslag någon gång, speciellt VTT_DDR. Att öka spänningen på minnena till 1.4V är ju alltid ett alternativ, men känns onödigt om det handlar om mindre än 1-2% prestandalyft.

Sedan får jag en känsla av att billigare moderkort som Prime X370 inte riktigt uppnår samma frekvenser som t.ex. C6H. Även om minneskontrollern sitter i processorn spelar kanske kvalitén på själva "banorna" på moderkortet också roll...

Visa signatur

Ryzen 7 3800X, Asus Prime X370 Pro, 32 GB LPX 3600, Gainward RTX 3060 Ti Ghost, 7 TB SSD + 4 TB HDD

Permalänk
Medlem
Skrivet av Pepsin:

Når inte heller jättehögt med mina Corsair 3600 C18.
Det bästa jag kan uppnå och ändå känna att det är 100% stabilt är 3200 14-14-16-36-52.
Kanske testar @tellus82 förslag någon gång, speciellt VTT_DDR. Att öka spänningen på minnena till 1.4V är ju alltid ett alternativ, men känns onödigt om det handlar om mindre än 1-2% prestandalyft.

Sedan får jag en känsla av att billigare moderkort som Prime X370 inte riktigt uppnår samma frekvenser som t.ex. C6H. Även om minneskontrollern sitter i processorn spelar kanske kvalitén på själva "banorna" på moderkortet också roll...

Moderkort spelar definitivt in på hur högt man kan komma men det beror inte bara på det rent fysiska som ledningsbanor, layout och VRM utan också på hur uefi är programmerat att justera saker vid ändrad minnesfrekvens. De dyrare borden får generellt sett betydligt mer polerade uefi versioner än de billiga och speciellt custom profiler för spänningar och timings för höga minneshastigheter där saker justeras en smula baserat på valda hastigheter.
Det är vanligast att SoC, VDDP, CLDO_VDDP och ProcODT höjs/justeras en smula vid olika frekvenser. Det finns även saker som tREF och andra timings man inte kan justera själv som också justeras och dessa spelar definitivt in på hur högt man kan ta sig. Alla dessa saker sammantaget gör att om tillverkaren av moderkortet har brytt sig i att investera en del polering i uefi så kommer hårdvaran i fråga med största sannolikhet orka högre i minnesfrekvens.
Att öka VDDP lite från sitt ursprungliga värde på 0.9 till ~0.925-0.95v ger oftast mer än att öka VTT_DDR & DRAM, speciellt om det är själva minnesbussen som orsakar problem. Om man kör timings och frekvens som ligger långt innanför spec på sina minnen behöver man generellt inte pilla på VTT_DDR eller dram.

Edit: Just Prime Pro är lite speciellt då ASUS tagit bort en hel del i dess uefi som finns tillgängligt på de dyrare borden, man har alltså haft saker som sedan rensats av outgrundliga anledningar. Det går att "låsa upp" dom genom att flasha en upplåst uefi där saker som VDDP eller AMD CBS/AMD PBS finns synliga, nackdelen är att det finns ingen direkt ny uefi version upplåst och dessutom kan det lura windows att tro att man bytt moderkort varpå windows licenser kan sluta gälla.

En sak som Prime Pro ägare kan prova är att sätta ett betydligt högre tRFC värde med b-die minnen för att se hur det reagerar; tRFC=560, tRFC2=416 och tRFC4=256, en annan sak som kan hjälpa är att aktivera gear down mode, detta kan dock va lite lurigt på en del moderkort ifall man satt command rate manuellt så kan det hända att det inte bootar, på andra moderkort kan det omvända vara sant. Det blir lite try & error, även command rate kan hjälpa att ta sig högre (2T).

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem
Skrivet av tellus82:

Moderkort spelar definitivt in på hur högt man kan komma men det beror inte bara på det rent fysiska som ledningsbanor, layout och VRM utan också på hur uefi är programmerat att justera saker vid ändrad minnesfrekvens. De dyrare borden får generellt sett betydligt mer polerade uefi versioner än de billiga och speciellt custom profiler för spänningar och timings för höga minneshastigheter där saker justeras en smula baserat på valda hastigheter.
Det är vanligast att SoC, VDDP, CLDO_VDDP och ProcODT höjs/justeras en smula vid olika frekvenser. Det finns även saker som tREF och andra timings man inte kan justera själv som också justeras och dessa spelar definitivt in på hur högt man kan ta sig. Alla dessa saker sammantaget gör att om tillverkaren av moderkortet har brytt sig i att investera en del polering i uefi så kommer hårdvaran i fråga med största sannolikhet orka högre i minnesfrekvens.
Att öka VDDP lite från sitt ursprungliga värde på 0.9 till ~0.925-0.95v ger oftast mer än att öka VTT_DDR & DRAM, speciellt om det är själva minnesbussen som orsakar problem. Om man kör timings och frekvens som ligger långt innanför spec på sina minnen behöver man generellt inte pilla på VTT_DDR eller dram.

Edit: Just Prime Pro är lite speciellt då ASUS tagit bort en hel del i dess uefi som finns tillgängligt på de dyrare borden, man har alltså haft saker som sedan rensats av outgrundliga anledningar. Det går att "låsa upp" dom genom att flasha en upplåst uefi där saker som VDDP eller AMD CBS/AMD PBS finns synliga, nackdelen är att det finns ingen direkt ny uefi version upplåst och dessutom kan det lura windows att tro att man bytt moderkort varpå windows licenser kan sluta gälla.

En sak som Prime Pro ägare kan prova är att sätta ett betydligt högre tRFC värde med b-die minnen för att se hur det reagerar; tRFC=560, tRFC2=416 och tRFC4=256, en annan sak som kan hjälpa är att aktivera gear down mode, detta kan dock va lite lurigt på en del moderkort ifall man satt command rate manuellt så kan det hända att det inte bootar, på andra moderkort kan det omvända vara sant. Det blir lite try & error, även command rate kan hjälpa att ta sig högre (2T).

Tack för tipset Ska prova det. Just nu får minnena vila lite när jag testar hur högt processorn kan gå. Men jag verkar inte fått någon golden sample direkt :/

Den här finns, för de som vill prova moddat UEFI på Prime Pro, men som sagt så kan Windowsaktiveringen sparka bakut efteråt. https://www.hardwareluxx.de/community/f219/asus-prime-x370-pr...

Visa signatur

ozzed.net Min egenkomponerade 8-bit musik. Gillar du musiken från gamla klassiska NES eller Gameboy och liknande är det värt ett besök. :) Jag finns också på Spotify, Bandcamp, Jamendo, Youtube, och du kan även följa mig på Twitter och Facebook.
Vet du att du har fel? Signalera detta tydligt med Argumentationsfel och gärna Whataboutism.

Permalänk
Medlem

Fantastiskt imponerande genomgång!

Visa signatur

Ny dator: Acer Predator Orion 5000 (RTX 3080)
[ I7 3770K @ 4.6Ghz | Asus 980 Ti 6GB | 16GB | Asus P8Z77-V PRO | Samsung 830 128GB | Corsair H100 | Cooler Master HAF X | Corsair AX 850W | Samsung DVD±RW ] [ Sony AF9 65" | Sony WF-1000XM3 | HTC Vive | Huawei P40 Pro | PS4 Pro | PS3 Slim | PS2 chippad | PS Vita | DS Lite | SNES Mini ]

Permalänk
Medlem

Din tråd har redan hamnat på förstasidan, grattis

Visa signatur

Coca Cola missbrukare Förbjuden dryck för mig pga diabetes
AMD älskare
Katt älskare

Permalänk
Medlem

Grym läsning, tack för att du satt ihop allt! Ser fram emot att sitta och pilla

Visa signatur

Ghost S1 | R7 2700 | 2 x 8 GB Corsair Vengeance 3200 | 1080 Ti

Permalänk
Medlem

Jäkligt kul att se att det uppskattas och jag hoppas många får nytta av det, har nu lagt till lite om BCLK och har putsat upp det lite mer rent allmänt, hade jag varit smart till att börja med hade jag gjort fler inlägg och delat upp det hela lite bättre men jag trodde inte att det skulle bli fullt så lång guide som det nu blivit, för att förenkla lite har jag färgsatt de olika avsnittens rubriker så nu bör det synas bättre.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Skrivet av tellus82:

Jäkligt kul att se att det uppskattas och jag hoppas många får nytta av det, har nu lagt till lite om BCLK och har putsat upp det lite mer rent allmänt, hade jag varit smart till att börja med hade jag gjort fler inlägg och delat upp det hela lite bättre men jag trodde inte att det skulle bli fullt så lång guide som det nu blivit, för att förenkla lite har jag färgsatt de olika avsnittens rubriker så nu bör det synas bättre.

Jag kopierade mer eller mindre dina inställningar för minnena för att testa. I AIDA64 så skiljer det typ ingenting men upplevelsen och responsen i alldaglig användning tycker jag känns som en kick.

Om bildlänken inte funkar: https://ibb.co/krEuEH

Permalänk
Medlem
Skrivet av JonkenPonken:

Jag kopierade mer eller mindre dina inställningar för minnena för att testa. I AIDA64 så skiljer det typ ingenting men upplevelsen och responsen i alldaglig användning tycker jag känns som en kick.

https://ibb.co/krEuEH

Om bildlänken inte funkar: https://ibb.co/krEuEH

Skulle du få instabilitet så är det enklast att öka tRFC till runt 307 med tRFC2 på 228 och tRFC4 på 140, det brukar räcka långt utan att du tappar stora mängder prestanda (allt är relativt...) mot att öka andra timings. Har man redan pushat timings hårt så kan mindre förändringar vara svåra att märka med blotta ögat, speciellt timings som påverka väldigt specifika minnesoperationer. De kan däremot synas väldigt mycket i spel så som Far Cry5 eller Rise of the Tomb Raider. Det beror dock på resten av hårdvaran man kör & den fps man kan komma upp i.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::