Crucial introduceert nvdimm-geheugen

Micron-bedrijf Crucial komt met nvdimms voor servers. Dit geheugen combineert dram en nand op een enkele module. Daarmee moet het geheugen de snelheid van dram bieden, maar bij bijvoorbeeld een stroomstoring belangrijke gegevens blijven bewaren.

Crucial nvdimmNvdimm staat voor nonvolatile dimm en het geheugen neemt zitting in de ddr4-geheugensleuven van servers. De 288pin-reepjes van Crucial bieden een snelheid van 2133MT/s en een bandbreedte van 17GB/s. Het geheugen werkt op een spanning van 1,2V. Bij een stroomstoring of andere interruptie zendt de systeemcontroller een signaal naar de module, zodat de data van het dram naar het non-volatiele geheugen geschreven kan worden.

Bij herstel van de voeding zorgt de controller dat de data weer naar het dram weggeschreven wordt, zodat het systeem ermee verder kan. Crucial verkoopt het nvdimm als losse module en in een 2,5"-formfactor in combinatie met een PowerGem-condensator van AgigA Tech, die het geheugen bij stroomuitval tijdelijk van energie blijft voorzien. Voorlopig biedt Crucial alleen 8GB-nvdimm aan, net als Micron zelf. Volgens Micron zijn er 16GB-versies op komst.

Door Olaf van Miltenburg

Nieuwscoördinator

21-06-2016 • 16:36

48

Reacties (48)

48
48
41
6
0
1
Wijzig sortering
Crucial verkoopt het nvdimm als losse module en in een 2,5"-formfactor in combinatie met een PowerGem-condensator van AgigA Tech
Als ik de flyer bekijk en de webpagina lijkt het er meer op dat je de condensator altijd erbij nodig hebt deze word verbonden met een kabeltje naar 1 dimm module. Volgens mij moet er altijd 1 module zijn die de voeding krijgt welke dan onderling de voeding delen, waardoor je niet alle modules hoeft te voeden waarschijnlijk. zie de flyer Ik vraag me trouwens af waarom ze zo een grote condensator nodig hebben? Het gaat maar om hooguit enkele seconden waarin de data moet worden overgezet naar het flashgeheugen. Ik kan ook niet vinden wat de capaciteit is van deze zogenaamde ultracapacitor?
Ik snap sowieso het nut niet van deze gehele setup.
Lijkt me veel praktischer om gewoon een UPS te gebruiken die bij stroomuitval een shutdown commando naar de server geeft zodat deze tijd heeft om alles (programmas, os, open netwerk connecties) netjes af te sluiten/weg te schrijven.
Dit zorgt wel dat je RAM state bewaard blijft maar het is niet echt netjes, ik krijg liever een 'connection closed - device shutting down' bericht op clients dan een 'remote connection timed out' bericht.
Stel dat je een database van redelijk wat gb in ram hebt geladen. Een cold boot gaat dan even duren en dit is wellicht wat sneller. Sowieso duurt een cold boot op de meeste systemen wel eventjes.
Nonsense. Een productie DB server met 'redelijk wat GB' in ram geladen heeft gewoon SSD's waarvan die database geladen wordt en een cold boot hoeft dus echt niet zo lang te duren hoor. Overigens hoeft niet álle data al ingeladen te zijn alvorens de DB operationeel is, hij kan gewoon on-the-fly meer gegevens inladen (met prio op gegevens welke opgevraagd worden). Jou argument gaat mijns inziens dan ook niet op.
Dit is niet voor kleine DB's en huis/tuin/mbk servertjes bedoeld.

Als je MEMCACHE + DB uit Memory draait wil je niet dat je omwille van stroomstoring corruptie hebben.

Als jij 128 GB aan data in RAM hebt draaien dan wil je dat risico niet lopen.

Bovendien niet alle SSD houden rekening met data bij power outage om maar te zwijgen dat ook SSD t.o.v. RAM gewoon traag is.
ACM Software Architect @totaalgeenhard21 juni 2016 20:19
Maar je wilt ook niet dat je bij uitval van een memcached-node alsnog moet wachten op het booten van wat dan ook (een server booten duurt zomaar een paar minuten).

Daarvoor heb je redundantie, zeker memcached is daarvoor geschikt omdat je de data toch verder niet opslaat en dus beperkt met synchronisatie te maken hebt.

Ook voor databases wil je redundantie trouwens. Als die primaire database een of andere ernstige failure krijgt (moederbord stuk ofzo), dan wil je gewoon verder kunnen. Als je echt last van cold boots hebt, kan je die standby-database ook dan gebruiken.

Met de Nederlandse uptimes van stroomnetwerken (zeker in datacentra) is dit imho een moeilijk te verkopen product. En als je je wilt wapenen tegen de uitval van datacentra (naast stroom ook netwerk), dan ben je sowieso al aangewezen op uitwijklocaties.

Voor apparaten waar een standby modus normaal is, zoals laptops, zou het misschien juist wel interessanter kunnen zijn omdat ze dan nog minder stroom nodig hebben in de standby/hibernation modus.
de vraag (voor mij) is dan, waarom zo moeilijk je bouwd dims, met eigen geheugen controllers (of wacht die zaten toch in de cpu), die bij stroomuitval data van de ene chip naar de andere gaan lopen pushen.. natuurlijk snap ik, dat 16 van ram naar nand pushen met minder stroomverbruik kan dan wanneer je het hele systeem laat draaien en gewoon een systemstate, naar een ssd (of zelfs onboard (moederbord) nand schrijft. maar toch wil ik wel beweren dat ik zo mijn vermoedens heb, dat een implementatie van een PSU met kleine UPS ingebouwd, en een implementatie in uefi uiteindelijk goedkoper zou uitvallen, dan wanneer je elke dim met zo'n nano-systeem zou willen uitrusten. vooral, omdat (zo hoop ik tenminste) elke serieuze systeembeheerder zijn servers toch al aan een UPS heeft hangen,

dus laat ze hun tijd liever steken in het mainstream maken, en versnellen van zaken zoals ECC (ook voor de workstation / en consumenten markten).
Hrm nee.

Databases schrijven standaard alle data met een hard flush naar de transaction log. De reden dat ze dat doen is zodat er geen data verloren gaat tijdens het proces. De operationele data verdwijnt in een b-tree, waarbij je memory als een cache wordt gebruikt hiervoor. Dat laatste gebeurt meestal als je database even wat tijd over heeft (of als het gunstiger is om een rebuilt te doen).

Moderne Enterprise disk controllers hebben altijd een accu en meestal memory en/of flash. Waarom? Die 'hard flush' is het langzaamste in de meeste transacties en zo'n controller kan (omdat het gesafeguard is via de batterij) een 'OK' geven voordat de data is geschreven naar disk. Bij een stroomstoring is je data veilig, omdat de controller bij een power-up ziet dat het nog data moet wegschrijven en dat vervolgens gaat doen.

Enterprise SSD's hebben bovendien ook altijd een condensator erop. Dat heeft een vergelijkbare reden, maar in dit geval is de condensator groot genoeg om de buffer nog net weg te kunnen schrijven bij een power outage.

Welnu, als je een Memcache gebruikt voor je transactie log is dat gewoon vragen om ellende. Een Memcache gebruiken voor operationele data is onzin, want dat doet je database al met een fallback naar disk. En anders heb je een andere database engine nodig :)

Eigenlijk het enige waar ik eventuele toegevoegde waarde zie voor deze memory chips is voor op bovengenoemde Enterprise disk controllers.

--

Heb nog even doorgelezen. Als ik het zo zie proberen ze wel deze dingen als database (transaction) log file te gebruiken vanwege de enorme hoge IOPS. Ja, dat kan... mits je hele kleine transacties hebt en daarna de log alsnog naar disk schrijft (want anders heb je te weinig ruimte op "disk"). Grote downside daarvan is dat je onder hoge load met schrijfacties vaker een flush van operationele data naar stable storage moet doen(lees: je SSD, niet je NVRAM). Dus ja, met simpele recovery models moet dat eventueel kunnen... in de meeste enterprise settings heeft dat alleen weer weinig nut. Dan is het nog steeds nuttiger om het geheugen op de controller te prikken.

PS: Als ik me goed herinner hebben moderne PERC controllers al NVRAM.

[Reactie gewijzigd door atlaste op 23 juli 2024 13:49]

Ik zeg niet dat een cold boot heel lang duurt. Ik zeg alleen dat nvdimm wellicht sneller is. Ligt er allemaal maar net aan hoe snel je alles weer draaiend wilt hebben en hoeveel je daarvoor over hebt. Je kunt natuurlijk ook een stapel ssds in raid hebben en dan icm een ups gaan hibernaten bij stroomuitval.
Prijs?

UPS = duur, condensator = paar cent...
UPS is niet zo duur dat het een showstopper is voor een bedrijf. De schade door stroomuitval is zoveel groter dan een UPS kost, dat geen enkel bedrijf die gok wil nemen. En nvdimm is natuurlijk vrij nieuw, dus qua risico's zou een bedrijf wellicht sneller kiezen voor een bewezen techniek als een UPS :)
Dat zeker! Ik heb zelf onlangs kunnen zien dat een eenvoudige 700 kVA UPS voor thuis ook niet "alles" meer kost : https://www.centralpoint....art-be700g-gr-num-303742/

Mijn PC, (LED)TV en 90's stereo kunnen hier prima aan! ;)
In Windows 2016 server kun je dit geheugen als disk gebruiken bijvoorbeeld (log files voor je db bijvoorbeeld). Als je dit op de juiste manier gebruikt kun je een performance winst van dik 100x halen tov van SSD's.
Zie bijvoorbeeld https://channel9.msdn.com/events/Build/2016/P466 en https://channel9.msdn.com/events/Build/2016/P470
Ongetwijfeld kun je in Windows server 2016 ook regulier RAM als RAMCACHE disk gebruiken en heb je precies dezelfde (100x?) performance winst. Non-argument dus.
Ik zeg: gewoon UPS eraan en gaan.

@ToolBee UPS hoeft niet je systeem uren van prik te kunnen voorzien, enkel genoeg voor een gecontroleerde shutdown. Zo duur zijn UPS nou ook weer niet en eerlijk gezegd vind ik het sowieso een strak plan om een UPS tussen je server(s) en stroomoutlet te hebben voor het opschonen van de stroom.
Inderdaad. Ik zie de meerwaarde van alleen je geheugen 'warm' houden nauwelijks. Tenzij je een soort sleep/hybernation wil doen. Maar dan ben je toch echt beter af (en stukken goedkoper) met een gewone UPS, die de zaak netjes afsluit in het geval de stroom uitvalt. Een gewone cold boot, met je oude geheugen nog intact, is namelijk tamelijk zinloos, tenzij je systeem dus uit een vorm van hybernation kwam (anders overschrijft een cold boot je geheugen gewoon weer). Maar als je toch stroom hebt voor hybernation, waarom dan niet gewoon een UPS dus?
nee, het is niet 'gewoon' ram disk. kijk de videos dan even dan snap je wellicht het verschil
Klopt, deze video's had ik ook gezien. De denkfout die Ayporos en albatros maken is dat ze dit geheugen zien als vervanger voor traditioneel geheugen, maar je moet het meer zien als vervanger voor schijven. Dit is een perfecte mix tussen memory en schijf; schijf met de snelheid van RAM, wie wil dat niet?

En dik 100x sneller is nog voorzichtig uitgedrukt.
Klinkt als RAM-Disk die het bij afsluiten snel allemaal saved op een andere schijf of zie ik dit verkeerd?
In een zeer simpel manier ja ...

In praktijk spreken we over onverwachte stroomuitval waarbij het geheugen nog even stroom heeft, om de data weg te schrijven. Een beetje zoals de batterij op een Raid controller, dat zal de laatste schrijf acties dat nog niet weggeschreven zijn, bijhoud tot er terug stroom is.

Je kan stellen dat dit een backup op een backup is. Normaal heeft ieder deftig datacenter:

a) De hoofdstroom
b) Backup in de vorm van batterijen voor x aantal minuten
c) Een diesel stroom generator ( waarbij het meer dan eens is misloopt, omdat ze die dingen niet genoeg testen ).

Dit zoals batterijen op een raid controller, is bedoelt om de server op te vangen zonder enige data verloren gaat. Bij het terug opstarten zal de server vanaf zijn laatste punt normaal terug kunnen verder gaan, alsof er niets gebeurt is.

Zonder deze techniek en als je geen "backup" UPS staan hebt in je rack, en je data center verliest stroom, dan zal je server vanaf een cold boot terug moeten starten. Met alle gevolgen van dien. Zeker aangezien server tegenwoordig enorm wat data in geheugen hebben ( inc volledige databanken ).
Enige echte goede reden om RAM 'hot' te houden lijkt me een ZFS systeem of iets dergelijks. Kan me anders weinig voorstellen dat echt per se niet naar disk weggeschreven kan worden. Database (automatisch) clean afluiten, binnen PSU tijd, en klaar is Kees.

[Reactie gewijzigd door albatross op 23 juli 2024 13:49]

Wat er met RAM gedaan wordt is transparant. Je kan er een RAM disk in aanmaken maar daar heeft de nvdimm geen weet van.
Is dit puur voor servers of zou het ook in bijvoorbeeld een workstation kunnen?
Met ondersteuning van bios optie e-820 in UEFI zou je zo een snapshot kunnen maken van een fysiek systeem op het moment van stroomuitval. Lijkt mij niet iets dat je in een werkstation nodig hebt.
Juist wel. Een server in een datapark heeft vaak een veel betere stroom voorziening met backup UPS dan de workstations die op kantoor staan. Ik gebruik zelf altijd mn laptop zodat ik altijd zeker weet dat stroomuitval geen problemen geeft. Vaak zat gehad dat een pc eruit klapte door weet ik veel wat voor probleem met stroomstoringen, kapotte USB sticks, kabels die net niet goed zaten, mensen die over het verlengsnoer struikelden of simpele overbelasting door het gridnet met nieuwe workstations die allemaal op dezelfde groep zitten.

Dat kan dit mooi afvangen.
Als je er zo van afhankelijk bent dan is denk ik een eenvoudige ups goedkoper dan per dimm een bbu.
Er zijn genoeg fabrikanten die met server chipsets workstationproducten aanbieden, dus het zal er uiteindelijk wel komen. Gezien de nieuwigheid verwacht ik echter niet dat het snel een goedkope oplossing gaat worden en om die redenen misschien wel een tijdje word overgeslagen op ws borden en hardware.
Lijkt mij handiger en goedkoper (zoals je vaak ook in POS systemen ziet) om gewoon een interne UPS te nemen.
een ups kan een stroomdipje veroorzaken bij overschakeling (zelfs de continu modellen die altijd over de accu gaan) De accu moet dan ineens stroom gaan leveren ipv dat het net dat doet
Die korte onderbreking zitten in het stroomnet ook, dat vangt de PSU wel op.
Die onderbrekingen zijn kortstondig met 50Hz en worden gelijkgetrokken. De dip die aadje93 bedoelt is de omschakeling tussen stroom krijgen en stroom leveren en die duurt langer dan 20ms.
Dan voldoen ze niet aan de Europese standaard.

Myth vs. Reality
MYTH: Zero UPS transfer time is required by
mission-critical equipment — for example, to
prevent lock-up and/or packet loss in network
switches.
REALITY: SMPSs are the power supplies found
in virtually all mission-critical equipment. They
must have a “ride-through” time of 10 milliseconds
or more to comply with international
standards (see Figure 3). Any electronic equipment
that cannot sustain such a ride-through
time is generally considered to be of inferior
design or extremely rare — most likely a
specialized application (i.e. not computer or IT
equipment).

bron: http://www.apcdistributor...ctive%20UPS%20designs.pdf
Dat gaat over iets heel anders. De ride-through time is de tijd die het apparaat door kan blijven draaien voordat het stopt wegens een spanningsdip. SMPSs (standaard PSU dus) moeten dus minimaal 10ms zonder spanning kunnen zitten (wat opzich makkelijk kan). Dat is iets anders dan dat het langer dan 20ms kan duren voordat een back-up generator/ UPS aan kan slaan om daadwerkelijk het verschil op te vangen. het zou niet best zijn als een UPS na 10ms al direct de boel overneemt (tenzij je de UPS voor sanitizing gebruikt, maar waarom je dat zou willen is mij een raadsel aangezien je PSU dat prima doet).
Jij haalt er telkens weer andere singen bij. We hadden het over de schakeltijd naar accu van een ups bij stroomonderbreking.
Klopt en dat is dus iets anders dan dat een apparaat een ride-through time van 10ms of meer moet hebben om te kunnen voldoen aan de eu standaard. Ik weet niet waar ik dan per se met andere dingen kom, maar volgens mij ben jij juist degene die dingen door elkaar haalt.

Het is toch logisch dat een UPS niet direct na 10ms aanslaat? 20 ms is namelijk precies de tijd tussen twee spanningspieken in. met 10ms zou de UPS dus direct aanslaan op het moment dat de spanning op het net wisselt en langs de 0V trekt. Voor dat een UPS echt aanslaat zijn we wel degelijk al 20ms verder hoor.
Mogelijk snappen wij elkaar niet maar de ride through time is juist om die dip bij overgang te overbruggen. Overigens de tijd tussen 2 pieken is helemaal niet van toepassing. Het is niet zo dat er daar tussen in geen stroom wordt geleverd, de ups kan gewoon op ieder moment van de sinus bijschakelen.
Ride thriugh time gaat niet over stroom maar over spanningsval en dat is dus wel degelijk waar we het hier over hebben. Een computer moet toch minstens 10ms aankunnen want anders gaat het fout.

Ja een UPS kan op ieder moment van de sinus bijschakelen, maar voordat deze getriggered wordt door een daadwerkelijke spanningsval zijn we al wel weer meer dan 20 ms verder.
Dat is niet wat ik uit de documentatie en wiki haal.
Zal er in zo'n ups geen dikke of meerdere condensatoren zitten die dat juist opvangen ?
die zullen de zelfde omschakeling hebben als de accu, condensators dienen om pieken en dalen vlak te trekken, niet om stroomuitval volledig op te vangen, zie het als een buffervaatje tussen vraag en aanbod.

Als de accu's stroom moeten gaan leveren zal dit langer dan 20ms duren over het algemeen
Condensatoren springen niet pas aan na 20ms of zo. Die staan gewoon altijd vol; en als de spanning (main power) wegvalt lopen ze simpelweg leeg. Daar is geen schakel-delay voor nodig.
Nee dus. Tenzij je een klote UPS hebt. Maar een beetje normale PSU vangt die dipjes juist op (naar boven en naar beneden).
Anoniem: 69322 21 juni 2016 18:06
Voor algemene doeleinden zie ik het nut niet van DRAM geheugen dat d.m.v. flash een meer permanent karakter krijgt. Het OS ziet en gebruikt het nog steeds als gewoon DRAM!

Interessanter is om Flash als high-density DRAM dienst te laten doen (met een hoeveelheid echt DRAM als cache). Dan zijn er compacte configuraties mogelijk met meerdere terra-byte aan geheugen met maar enkele modules.

Zie: http://blogs.marvell.com/...lc-redefines-main-memory/

Een module dat dit al doet: http://www.tomsitpro.com/...y1-dram-flash,1-2781.html

[Reactie gewijzigd door Anoniem: 69322 op 23 juli 2024 13:49]

Dit is dan ook niet voor algemene doeleinden ;)
Net zoals voor algemene doeleinden een losse RAID controller met BBU write cache ook niet echt nodig is, voor die situaties waar je wel dergelijke snelheid/uptime nodig hebt is dit wel een mooie optie.
Leuk als ZIL voor ZFS filesystems.
15 jaar geleden deden wij al iets gelijkaardigs in alarmsystemen...
SRAM module met een 1.5V knoopcel batterij en we hadden ook non-volatile memory.
Flash was te duur...

Toegegeven SRAM is veel trager dan DDR en hoeft geen refresh...

Toch wel knap dat ze nu ook de copy naar FLASH toegevoegd hebben.
Sram is juist enorm snel, het wordt ook voor cache geheugen gebruikt bijvoorbeeld.
maar was intel ook niet bezig ( geweest) met zoiets als dit, maar dan voor echte data opslag?
Nvidia dimm geheugen.? :+ :+

Op dit item kan niet meer gereageerd worden.