A DDR4-es memóriaszabványról

Bevezető

A DDR3-as memóriák bizony már nem kevesebb mint hét esztendeje vannak velünk, ami egyben azt is jelenti, hogy eddig a harmadik generációs DDR húzta legtovább a családból. Mindez természetesen nem véletlen. Az első DDR szabványt még 2000. júniusában adta ki a JEDEC, ahol a legmagasabb szabványosított órajellel (400 MHz) a DDR-400 rendelkezett. Ezt 2003. szeptember 12-én követte a DDR2, melynél a leggyorsabb szabványosított megoldás végül a DDR2-800 lett. Mindezt 2007-ben a DDR3-800/1066-tal elstartoló DDR3 követte, mely ezidáig a legalacsonyabb elérési idővel rajtoló DDR szabványnak tekinthető, ami jól megalapozta a harmadik generációs DDR pályáját.

Hét év nem kevés idő, különösen a hardverek világában, ahol nagyjából kétévente cserélődnek a processzorfoglalatok és egyéb főkomponensek. Egy szó mint száz, a DDR3 lassan kezdett kifogyni a szuszból, melynek jelei szokás szerint elsőként a szerverek világában mutatkoztak meg. Az Intel például a közelmúltban rántotta le a leplet 18 magos Xeon processzoráról, ahova már bizonyos esetekben nem lett volna elegendő a DDR3 által nyújtott sávszélesség. Asztali környezetben kizárólag CPU-khoz valószínűleg még egy darabig megfelelt volna a DDR3, ugyanakkor az integrált grafikus processzorok már képesek kihasználni a nagyobb sávszélességet, sőt a gyorsabb AMD APU-knak bizonyos esetekben már a kétcsatornás DDR3-2133 által nyújtott 33,33 GB/s is szűkös tud lenni.

A limitált sávszélesség természetesen nem minden. Az elmúlt évek trendjei egyértelműen a különféle mobil számítógépek irányába mutatnak, ahol a fogyasztás egy sarkalatos pont, de ugyanez áll az okostelefonkra is, melyekben szintén valamilyen DDR memória (manapság leginkább LPDDR3) tölti be az operatív tár szerepét. Egy asztali számítógép esetében nem jelentős 1-2 watt differencia, de egy több 100, vagy akár 1000 modult is tartalmazó szerverben, illetve egy csupán 2-3 watt összfogyasztású eszköznél már 20-30% is igen sokat számíthat.

Út a DDR4-ig

Hirdetés

Ahhoz, hogy a DDR4-et megértsük, kicsit vissza kell menni az időben, és fel kell idézni a DDR memóriák működési elvét. Double Data Rate, ami nagyjából annyit tesz, hogy dupla adatmennyiség, legalábbis az SDR SDRAM-hoz képest. A DDR memóriák ezt úgy érik el, hogy az órajel mindkét (fel-le) ága hordoz információt, így az SDR-hez képest kétszer annyi, azaz pontosan két darab adatszót (data word) továbbít vagy fogad egyetlen órajelciklus alatt. Ezért is kétszereződik az effektív órajel, azaz 200 MHz-es DDR memória esetén például DDR-400-as modulokról beszélünk. A memórialapkák (nagyon leegyszerűsítve) két főkomponensből állnak, a memóriacellákból és az IO-pufferekből. A memóriacella órajele az első DDR esetében 100 és 200 MHz között váltakozott (DDR-200 esetén 100, DDR-400 esetében 200 MHz), tehát ahhoz, hogy a memóriamodul órajelenként (400 MHz) 1 bit átmozgatására legyen képes, a belső adatbuszon 2 bitnek kellett átutazni a memóriacellákból (200 MHz) az IO-pufferbe. Ezt anno elnevezték 2N-prefetch-nek.

A DDR2-t úgy fejlesztették ki, hogy a leglogikusabb és legegyszerűbb módon nőjön tovább a külső órajel (azaz a modul órajele): megfelezték a memóriacellák órajelét, viszont a belső adatbusz órajelét megduplázták, vagyis elérték, hogy órajelenként már ne 2, hanem 4 bit vándorolhasson át a memóriacellákból az IO-pufferbe (amit végül 4N-prefetch-nek neveztek el). Mivel továbbra is DDR-ről van szó, azaz minden egyes órajel esetében oda-vissza vándorol az információ, a sávszélesség megduplázódott (azonos órajelet feltételezve). Például a DDR2-800 esetében a memóriacellák órajele a DDR-400-hoz hasonlóan 200 MHz, viszont az IO-puffer órajele immáron 400 MHz (a DDR esetében 200 MHz), ám mivel DDR-ről van szó, vagyis ezt szorozni kell kettővel, a memória külső órajele már 800 MHz, azaz DDR2-800-ról beszélünk.

Mint szinte mindennek, úgy ennek is vannak előnyei és hátrányai. Egyrészt mivel a memóriacellák órajele végeredményben nem nőtt a DDR-hez képest (elvégre megfelezték azt), csökkenhetett a fogyasztás, hiszen például egy DDR400-as modulhoz 200 MHz-es chipekre van szükség, míg egy DDR2-400-ashoz 100 MHz-es chipek kellenek, miközben a sávszélesség változatlan marad (3200 MB/s). Ugyanakkor a belső adatbusz sebességének megduplázásából adódóan azonos belső órajelű chipek esetében a DDR2 kétszer akkora sávszélességgel kecsegtet: a belső adatbusz 200 MHz a DDR-400 és a DDR2-800 esetében is, előbbi 3200, míg utóbbi már 6400 MB/s-os sávszélességet kínál. Azonban van a módszernek hátulütője is. Mivel azonos sávszélességet feltételezve a DDR2-es memóriacelláinak órajele feleakkora, mint elődjéé, az elérési idő megnőtt.

Miután már tudjuk, hogy a DDR2 hogyan volt képes a DDR(1)-hez képest megnövelni a tempót, nem nehéz kitalálni, hogy mi játszódott le a DDR3 esetében: gyakorlatilag ugyanez. Megfelezték a memóriacellák órajelét, viszont a belső adatbusz sebességét megduplázták, vagyis a DDR3 memóriacellái órajelenként 8 adatbitet továbbítanak az IO-pufferbe (8N-prefetch). Az új memóriaszabvány ott kezdte el az órajelhajhászást, ahol a DDR2 abbahagyta, azaz DDR3-800-as értéken, bár olyan rendszer sosem született, ami kizárólag ezt, a leglassabb szabványt támogatta volna. Anno 2007-ben a JEDEC DDR3-1600-ban határozta meg a maximum órajelet, aminek végül a DDR3-2133-ban lett vége.

Az előnyök-hátrányok megegyeznek a DDR-DDR2 váltásnál megismertekkel: azonos sávszélesség eléréséhez a DDR3-nak feleolyan gyors memóriacellákra van szüksége, vagyis csökken a fogyasztás. Ugyanakkor azonos memóriacella-órajelekkel duplaakkora sávszélesség érhető el, természetesen a DDR3 javára (pl. DDR2-800 vs. DDR3-1600, mindkettő 200 MHz-es memóriacellákat használ). Immár a hátrányok is kézenfekvőek: a DDR3 késleltetési értékei a DDR2-höz képest emelkedtek, ami már eleve némi hátrányban volt a DDR-hez képest, így az elérési idő nőtt. Összességében és lényegében a DDR2 és a DDR3 elődjénél magasabb elérhető sávszélességet biztosít alacsonyabb működési feszültség és bizonyos esetekben magasabb késleltetési értékek mellett.

A DDR4 születése

Az előző oldalon taglalt tendencia azt sejteti, hogy a DDR4 az elődök nyomán menetelt tovább, de végül nem így történt, ugyanis a negyedik generáció egy fokkal innovatívabbra és komplexebbre sikerült. A DDR4 úgynevezett bank csoportokkal (bank groups) operál a teljesítmény növeléséhez, amihez hasonlót a grafikus kártyákról jól ismert GDDR5 esetében már láthattunk. Ahogy az előző oldalon részleteztük, a DDR(1) kettő, a DDR2 négy, míg a DDR3 nyolc adatszót továbbít vagy fogad egyetlen ciklus alatt, ami gyakorlatilag az úgynevezett minimális lökethosszt (burst length) is meghatározza. Utóbbi fogalom jelenti a memóriasínre küldött adatszavak számát egy cím vételezése után, ami 2, 4, vagy 8 lehet egy meghatározott sorban.

Mivel a lapkák magórajele a fogyasztás kordában tartása végett gyakorlatilag semmit sem változott a DDR(1) óta, így logikus lépés lett volna 16-ra emelni az órajelciklusonkénti adatszavak számát. Ez végül több okból sem történt meg, ergo a DDR4 a DDR3-hoz hasonlóan 8N-prefetch-et alkalmaz. Ellenkező esetben a memóriák fizikai mérete jelentősen megnőtt volna az extra kivezetések miatt, ami egyúttal a költségeket is rendesen megemelte volna. Talán ennél is fontosabb, hogy a 16 szavas beolvasás nem passzolt volna a 64 bájtos cache vonalmérethez, ami negatív hatással lett volna a teljesítményre.

Itt jött a képbe a bank csoportok (bank groups) létrehozása. Alapvető különbség, hogy míg egyetlen DDR3-as chip 8 különálló bankot tartalmaz, addig egy DDR4-es már 16 darabot, de csoportosítva. Ez a chip kapacitására is pozitív hatással van, de jelen esetben nem ez a lényeg. DDR4 esetében a chipekben négy darab négy bankból álló csoport található, amikből a vezérlés egyszerre kettőt vagy négyet választhat ki.


DDR3 - DDR4 [+]

Ezek képesek egymástól teljesen különállóan működni, ergo egyetlen oszlopciklus (aktiválás, olvasás, írás, frissítés) lefuthat egy csoporton belül, ami egyáltalán nem befolyásolja, hogy eközben egy másikban épp mi történik. A rendszer gyakorlatilag az időosztásos multiplexelés elvén képes kezelni a bankokat a megfelelő lökethossz (burst lenght), legvégül pedig a magasabb effektív órajel eléréséért.

Az, hogy mindez a nyers számok tükrében nagyjából mit jelent, az alábbi táblázattal próbáljuk szemléltetni.

Memóriák adatainak összehasonlítása
Memória típusa Memóriacellák magórajele Effektív órajel Elérhető max. sávszélesség Időzítések Elérési idő (ciklusidő)
DDR3-800 100 MHz 800 MHz 6400 MB/s 5-5-5-15 12,5 ns
DDR3-1066 133 MHz 1066 MHz 8500 MB/s 7-7-7-20 13,1 ns
DDR3-1333 166 MHz 1333 MHz 10 666 MB/s 9-9-9-22 13,5 ns
DDR3-1600 200 MHz 1600 MHz 12 800 MB/s 11-11-11-28 13,8 ns
DDR3-1866 233 MHz 1866 MHz 14 933 MB/s 13-13-13-32 13,9 ns
DDR3-2133 266 MHz 2133 MHz 17 066 MB/s 14-14-14-34 13,1 ns
DDR4-2133 133 MHz 2133 MHz 17 066 MB/s 15-15-15-35 14,1 ns
DDR4-2400 150 MHz 2400 MHz 19 200 MB/s 16-16-16-39 13,3 ns

Először is jól látható, hogy a tendenciának megfelelően tovább emelkedtek az időzítési értékek, ami magasabb késleltetést jelent(ene), de csupán emiatt nincs értelme pánikolni. Önmagában a késleltetés nagyjából annyit mutat meg a teljes képből, mint CPU-k esetében az egyetlen órajelciklus alatt végrehajtható utasítások száma. Az órajel és CL (CAS latency) érték együtteséből kiszámolható elérési idő már egy fokkal beszédesebb. Ezekből kiderül, hogy DDR3-1066 és DDR4-2133 viszonylatban nagyjából 1 nanoszekundumot (~8%) emelkedett az elérési idő, ami bár némi lassulást jelent, ugyanakkor a modulonkénti maximális sávszélesség szinte pontosan a duplájára, azaz 17 066 MB/s-ra ugrott fel. Tekintve az aktuális trendeket, valószínűleg bőven megéri a néhány százalékos elérésiidő-romlás a lényegesen magasabb sávszélességért cserébe. Sok évvel ezelőtt az alacsony késleltetés jóval többet számított, mint manapság. A processzorok nagy része ma már L3-as gyorsítótárral is rendelkezik, ami bizonyos esetekben kompenzálja a memória esetelegesen magasabb elérési idejét, illetve, ahogy említettük, az integrált grafikus egységeknek sokkal fontosabb a nagy sávszélesség, mint az alacsony késleltetés.

A időzítési értékek pedig még tovább fognak emelkedni, akárcsak az órajel. Egyelőre meglehetősen gyerekcipőben jár a DDR4, hisz jelen állás szerint csupán a DDR4-2133, illetve DDR4-2400 szabvány van lefektetve, holott a DDR4 várhatóan egészen 4266 MHz-ig, azaz a DDR4-4266 szabványig fog robogni, ahol az egyetlen modul által biztosított sávszélesség nem lesz kevesebb, mint 34 132 MB/s, azaz valamivel több mint 33 GB/s.


[+]

De ennyire azért ne szaladjunk előre, hisz mindez még jóval odébb van, bár kettő vagy esetleg négycsatornás vezérléssel már ennél alacsonyabb órajel mellett is csinos értékeket lehet elérni.


[+]

Megbízhatóság, fogyasztás, kapacitás

A DDR4 több, mint egyszerű sebességhajhászás, ugyanis a tervezők számos egyéb ponton is módosításokat hajtottak végre az elődhöz képest. Az egyik fontos rész a megbízhatóságot, pontosabban az üzembiztonságot javítja, aminek elsősorban a szerverek esetében van igen nagy jelentősége, de más felhasználási területeken is hasznos. Kissé faramuci módon erre egy részről épp a magasabb órajel miatt van szükség.


[+]

A DDR3, illetve az azt megelőző szabványok csupán az ECC (Error Checking & Correction) egyes válfajait támogatták, ezért a DDR4 ilyen téren több új funkcióval is bővült. Elsőként megjelenik a más területekről már ismert CRC (Cyclic Redundancy Check), ami a véletlenszerű változásokat (anomáliákat) érzékeli az úgynevezett nyers adatokon, melyek az adatbuszon futnak át. A DRAM chipenkénti extra paritás a parancsok (CMD) és címek (ADD) integritásáért felelős, míg a chipenkénti, illetve azokon belüli lezárást (ODT - On-Die Termination) és feszültségszabályzást a jelintegritás megtartásáért alkalmazzák. Végül az úgynevezett Gear Down Mode (~leváltás) képes időlegesen csökkenteni a prefetch értékét, miközben az adatvonal tempója nem változik, természetesen mindezt szintén a jel megfelelő minőségének fenntartása érdekében.

A fogyasztás legfőképpen az üzemi feszültség csökkentése miatt mérséklődött, melyet 20%-kal, 1,5 voltról 1,2 voltra redukáltak. Emellett a chipek aktiválásáért felelős 2,5 voltos Vpp feszültség mostantól kívülről, azaz az alaplap irányából érkezik, így azt nem a jóval alacsonyabb üzemi feszültségből kell előállítani, ami szintén jó hatással van a fogyasztásra. Mindent összevetve nagyjából 30-35%-os csökkenést sikerült elérni a DDR3-as szabványhoz képest.

Nőtt a chipek kapacitása is, ráadásul elég nagy mértékben. Jelen állás szerint 8 Gb-es chipekkel számolhatunk, ami szokványos PC-kbe szánt modulok esetében 16 GB-os kapacitást jelent. Szerverek esetében ennél természetesen jóval magasabban lesz a léc, így egyes gyártók már 128 GB-os modulokkal is előrukkoltak, miközben a maximális elméleti kapacitás 512 GB. Utóbbihoz viszont már elengedhetetlen lesz a TSV (through silicon via) technológia, mellyel a gyártók egyetlen tokozásban 4, illetve akár 8 memórialapkát is használhatnak.

Fontos változás, hogy az új szabvány Point-to-Point összekötésre cseréli a DDR3-nál is alkalmazott Multi-drop buszt, és ez a körítés kiépítésében is számottevő változást jelent. Ebből fakadóan komoly megkötés, hogy egy memóriacsatorna csak egyetlen memóriamodult tud kezelni, azaz a manapság leginkább elterjedt kétcsatornás rendszerekbe legfeljebb két modul pattintható. Ez több szempontból sem probléma, hisz egyrészt az asztali gépek nagy részében a négy foglalat ellenére is csak két modul található, másrészt a DDR4 imént említett kapacitásnövekedése sok esetben még akkor is feleslegessé teszi a kettőnél több modult, ha arra a nagyobb kapacitás miatt komolyan szükség lenne. Mindezen felül a gyártók a csatorná(k)ra kötött speciális kapcsolók segítségével akár négy modul alkalmazását is lehetővé tehetik egyetlen memóriacsatorna mellett, így aggodalomra nincs ok.


[+]

A modulok kivitele nem igazán változott. Hosszúságuk milliméterre megegyezik az előd méretével, míg magasságuk alig 1 milliméterrel nőtt. Itt a legnagyobb változás minden bizonnyal az érintkezők száma, ami 240-ről 284-re emelkedett, ami egyben azt is jelenti, hogy a DDR3-DDR4 páros semmilyen formában nem kompatibilis egymással.

Pár mérés és a konklúzió

Jelen pillanatban meglehetősen nehéz lenne reálisan összehasonlítani a DDR3 és DDR4 teljesítményét, hisz (egyelőre) nem létezik olyan platform (vagy processzor) ami mindkét szabvánnyal egyaránt elboldogul, így nem lehet kiszűrni az eltérő mikroarchitektúrákból fakadó különbségeket, ami például bizonyosan fennáll az Ivy Bridge-E és a Haswell-E között. Ezért úgy döntöttünk, hogy első körben az utóbbi processzor társaságában próbálunk ki néhány eltérő DDR4 beállítást egy marék alkalmazásban.

Az alkalmazások processzortól és memóriától függetlenül reagálnak a különféle beállításokra. Például köztudott, hogy a tömörítők sokkal jobban használják a memóriát, mint a renderelők, de ugyanez igaz néhány videókonvertálóra is.


[+]

Akárhonnan is nézzük, a DDR4 kétségkívül határozott előrelépés a korosodó DDR3-hoz képest. A sávszélesség (idővel tovább) nő, a fogyasztás csökkenése azonnal érezhető, akárcsak a nagyobb kapacitás, az üzembiztosabb működésről nem is beszélve. A váltás időszerű, hisz a sokmagos szerverprocesszorok és a heterogén processzorok kora itt van a nyakunkon. Természetesen, ahogy arra már néhány remek példát mutatott a történelem, mint minden újdonság, a DDR4 is vastag felárral érkezett meg, ami a DDR3-hoz képes nagyjából 50-60%-os pluszt jelent.


[+]

Később azonban, amikor az árak elkezdenek csökkenni, és a memóriagyártók a DDR3-hoz hasonlóan sikeresen továbbfejlesztik a technológiát, még magasabb órajeleket és/vagy alacsonyabb késleltetéseket lesznek képesek elérni, és megjelennek még nagyobb kapacitású modulok is, a DDR4 is meg fogja mutatni, hogy van létjogosultsága, ami felől nekünk már most sincs kétségünk. Egyelőre asztali környezetben a Haswell-E személyében csupán egyetlen prémium platform támogatja, de nagyjából egy esztendő múlva az Intel Skylake érkezésével már szélesebb körben is megindulhat az elterjedése, így az előrejelzéseknek megfelelően 2016-ban akár be is következhet a fordulópont, amikor a DDR4 piaci részesedése felülmúlja majd a DDR3-ét.

Oliverda

Azóta történt

Előzmények

Hirdetés