Micron en Intel ontwikkelen nieuw type geheugen

Intel en Micron hebben samen een nieuw type geheugen ontwikkeld dat de snelheid van werkgeheugen combineert met de opslagcapaciteit van flashgeheugen. Dit type moet een zeer snel geheugen opleveren dat zijn gegevens niet kwijtraakt zonder stroom.

Diverse bedrijven ontwikkelen al jaren de heilige graal van geheugen: zeer snel toegankelijk geheugen dat in grote capaciteiten te produceren is en bovendien geen stroom nodig heeft om gegevens vast te houden. Hoewel werkgeheugen zeer snel is, zijn de capaciteiten beperkt en verliest het zijn gegevens zonder stroom. Nand-geheugen als in ssd's heeft een grote capaciteit en houdt data vast zonder stroom, maar is vergeleken met werkgeheugen traag. Het nieuwe type geheugen dat Intel en Micron ontwikkelden moet de beste eigenschappen van nand en dram met elkaar verenigen.

De samenwerkende bedrijven noemen de geheugentechnologie 3D XPoint. Volgens Intel en Micron is 3D Xpoint-geheugen tot duizendmaal sneller dan nand-geheugen zoals in ssd's zit. Daarmee komt het geheugen meer in de buurt van snelheden van werkgeheugen. De opslagcapaciteit is echter tot tienmaal groter dan werkgeheugen, terwijl chips momenteel op ongeveer 16Gb zitten. De twee bedrijven hebben het 3D XPoint-geheugen inmiddels al in productie genomen en het geheugen zal later dit jaar aan partners gesampled worden. Intel en Micron zullen zelf ook producten met de nieuwe geheugentechnologie ontwikkelen.

Veel details over de werking van het nieuwe geheugentype zijn er nog niet. Wel spreken de bedrijven van een Cross Point Array Structure, waarin tot 128 miljard geheugencellen aangesproken kunnen worden, ieder goed voor 1 bit data. Daarmee bedraagt de initiële capaciteit 128Gb, wat nog verhoogd kan worden door stapeling van de geheugenlagen. De cellen, die overigens niet met transistors werken, worden door spanningsvariaties uitgelezen en beschreven.

Door Willem de Moor

Redacteur

28-07-2015 • 18:00

77 Linkedin

Reacties (77)

77
77
56
5
1
0
Wijzig sortering
Erg interessant! Ik heb hier ongeveer een maand geleden eerst over gehoord via Seekingalpha. Zoals ik altijd ben met dit soort geruchten (die stoelen op bijvoorbeeld patenten) over "grote innovaties", was ik nogal sceptisch hier op korte termijn iets van te horen van Intel/Micron en besloot gewoon te wachten, maar het blijkt dus zelfs al in productie.

De webcast is blijkbaar nog bezig (update: hier), dus er zal nog meer info komen, maar het lijkt hier dus te gaan over PCMS. Zelf heb ik hier geen bijzondere kennis over, maar wie zich erin wilt verdiepen kan ik alvast volgend in-depth artikel aanraden om te lezen: Intel and Micron: The Purple Swan
Now, PCM is "phase change memory" for those who haven't been following next-gen memories. I've explored PCM and its hypothetical benefits in a past article that might be worth reading if you need to bring yourself up-to-speed with something less technical.

PCMS is Intel/Micron shorthand for "phase change memory with switch." The differentiation is that the "switch" is an Ovonic Threshold Switch "OTS" that is leveraged in lieu of a silicon transistor that would normally be used to isolate each of the memory cells for reading and writing. The benefit of the OTS is that it delivers the high-power that is required to quickly manipulate the PCM but does so in a form factor that is much more compact than an equivalently-powered transistor.

The big news here is that we now know that phase change memory is "significantly cheaper and denser" than DRAM and that, by using a clever arrangement of the two, there is an opportunity to disrupt many different industries. The rest of the world was waiting for PCM to become cheaper than flash.
Aangezien het zowel in dit artikel als dat op SA over een technologie zonder transistor gaat, lijkt het dus inderdaad hetzelfde. De persoon zegt zich al 15 jaar in de technologie verdiept te hebben, dus hij had er blijkbaar inderdaad een goede kennis over.

Edit: Seekingalpha heeft een overzicht gepubliceerd van het nieuws van vandaag. Deze quote is interessant:
Update 3: Both Intel and Micron plan to make 3D XPoint products. Micron CEO Mark Durcan claims he doesn't know of any comparable rival products on the way, and predicts 3D XPoint will be used for both storage (like NAND) and main memory (like DRAM).
Erg indrukwekkend als alleen Intel en Micron deze technologie hebben. Benieuwd wanneer andere bedrijven als Samsung ermee komen.

Verwar deze technologie trouwens niet met 3D NAND. Momenteel wordt NAND met 15-16nm nodes ontwikkeld, en in de toekomst volgt 10nm. Tegelijk ontwikkelt men echter ook producten met een grotere node, maar met vele lagen op elkaar gestapeld (3D) om een hoge dichtheid te verkrijgen. Bij die twee aanpakken komt dus deze nieuwe technologie (die heel anders werkt) die duurder is maar veel sneller en ook voor RAM gebruikt zal worden.

Edit: Wat ook niet in dit artikel staat is dat het ook erg lage latencies heeft.
The NAND JV partners also declare 3D XPoint "significantly reduces latencies, allowing much more data to be stored close to the processor and accessed at speeds previously impossible for non-volatile storage." Unique materials and a cross point array structure are said to make 3D XPoint possible.
Een belangrijke toepassing op termijn zal misschien in socs zijn omdat het non-volatile is (geen dataverlies wanneer energie wegvalt) en allicht dus een stuk minder energie verbruikt dan RAM, dus goed voor accuduur.

Intel zegt in ieder geval dat één van hun doelgroepen naast professionele toepassingen gamers zijn, dus de technologie zal ook naar consumenten komen op termijn.

[Reactie gewijzigd door witeken op 28 juli 2015 22:55]

Ik heb de technische publicatie gevonden. 3D XPoint is inderdaad PCMS.

De structuur is opmerkelijk simpel. Er zijn twee lagen met draden, 1 in de X richting en 1 in de Y richting. Op elke kruising zit een PCM cel met daarbovenop een OTS switch. PCM is Phase Change Material, met een stroomstoot kun je het letterlijk smelten. Dat kan met een kleine of een grote stroomstoot, zodat je een 0 of een 1 kunt schrijven. Met lage spanningen blijft de PCM in vaste toestand, maar kun je wel meten of de laatste stroomstoor klein of groot was.

Ik geloof direct dat dit al een paar jaar loopt. De paper verwijst naar Numonyx BV, een bedrijf wat in 2008 opgericht is door o.a. Intel en in 2010 door Micron is overgenomen. . En ja, Numonyx was in 2009 al druk bezig met PCM.

Wat ook super interessant is, is de opmerking dat dit "over CMOS" geproduceerd kan worden. Dat wil zeggen dat dit geheugen als een toplaag over DRAM en/of CPU's heen gelegd kan worden!

[edit]
Even verder gelezen: 1 miljoen writes levensduur. Dat is dus een flash-vervanger, geen RAM vervanger. Stel dat je geen RAM hebt, en simpelweg de huidige tijd in seconden bijhoudt in dit soort geheugen. 86400 writes per dag, dan is het in 12 dagen defect. Maar gooi er 1 GB battery-backed DRAM cache voor, en je hebt geen issues meer met regelmatige writes, plus je hebt dan de tijd voor wear levelling.

[Reactie gewijzigd door MSalters op 28 juli 2015 23:06]

Je commentaar over aantal writes is waar het idd om gaat. Met 1 miljoen writes zal het idd een ssd vervanger kunnen zijn maar geen alternatief voor ram helaas.

Neemt niet weg dat een ssd alternatief met de snelheid van ram ook niet verkeerd is.
Dank voor deze geweldige eenvoudige uitleg over de werking van PCM _/-\o_
Hoelang gaat het nog duren voor wij systemen hebben die niet alleen praktisch solid state zijn; maar ook nog eens zonder stroom kunnen overleven? Zou dat niet extreem cool zijn? kan dit principe ook toegepast worden op onderdelen zoals processors? Ik weet dat de twee vreselijk veel verschillen met elkaar maar er zou een manier moeten zijn om een computer gewoon alles vast te laten houden bij compleet stroom verlies en na herstel gewoon door te laten werken toch?

Wat een prachtige ontwikkelingen; ik krijg er bijna tranen van in mijn ogen.
Aangezien dit een veel hogere density heeft dan regulier DRAM, zie ik echt wel het nut ervan in voor SoC's en on-die memory voor intel CPUs.
Dit is dan ook echt waar ik Intel dit zie gebruiken. Een Atom/Celeron/Pentium met 4GB of 8GB on-die memory voor nauwelijks hogere meerkost en veel hogere performance dan 2GB DRAM.

Hierbij toegevoegd dat RAM opeens geen constante power meer zal nodig hebben, behalve bij uitlezen of wegschrijven, doordat het solid state is ipv vluchtig. Ook weer een halve watt ofzo minder verbruik voor mobile devices.

Ook voor bv high density computing clusters kan dit zeer nuttig zijn. Op dit moment is er al een zeer grote hoeveelheid ruimte die "verloren" raakt door het aantal RAM slots. Wanneer je opeens maar 2 of 4 slots hebt per socket, in plaats van 8 tot 12 slots, kan je opeens wel een extra CPU of 2 steken op een enkele blade.

Zo'n 25% toename in processing power per rackunit, is toch wel interessant!
zal niet zo snel gebeuren. miss eerder een HBM achtig iets
bij ram is snelheid belangrijker dan hoeveelheid.
dual socket servers met 16 sloten geheugen zijn vaak verdeeld over 8 geheugen kanalen . 4 per cpu.
juist om snelheid te halen
want als je tig aantal cpu cores hebt. dan moeten die ook in ballans staan met je geheugen tog
Wel, bij servers zijn er net meer sloten om een hogere RAM density te halen dan om hogere snelheid te halen.

Technisch gezien zou je met 4 sloten per CPU ook max snelheid kunnen halen, maar dan kan je op dit moment maar 64GB aan RAM per socket steken met 16GB DIMMs, 32 zijn nog iets te duur om goed gebruikt te kunnen worden.

In de plaats daarvan zien we veel servers met 8 of 12 sloten per socket, voor respectievelijk 2 of 3 DIMMs per kanaal te kunnen steken, dit is echt wel voor een hogere capaciteit te kunnen halen.

Moesten we opeens de RAM capaciteit uit die 8 DIMMs nu op 1 of 2 DIMMs krijgen, zou dit de nood aan een hoger aantal slots per socket verkleinen, tenzij de nood naar meer RAM evenredig stijgt met de capaciteit per DIMM.
Anoniem: 399807
@aryan117129 juli 2015 12:16
Technologie als overdrachtssymbool, vergelijkbaar met religie. Inclusief tranen. Of je nu god aanbid of technologie, het is hetzelfde principe.
Samsung had dit type geheugen (PCM) al in ontwikkeling toen ik daar zes jaar geleden langs ging. Ik denk dus dat Samsung niet lang op zich laat wachten.
Dat zegt op dit gebied niet bijzonder veel. De technologie kennen is heel wat anders dan het op grote schaal in productie brengen. Het kan net zo goed nog een paar jaar duren, en dan moeten ze misschien nog om patenten heen ook.
Op zich ben ik het met je eens, maar ik wil wel een paar nuances aanbrengen.

Zoals gezegd, hadden ze het al in ontwikkeling (werkend op kleine schaal), dat is dus wel iets meer dan 'de technologie kennen'. Dat de stap van research naar R&D naar productie inderdaad groot is, klopt. Maar kennis over technologie wordt wereldwijd met elkaar gedeeld en over het algemeen slechten de grote spelers daarom ongeveer op hetzelfde moment de grootste hordes.

Reken er maar op dat Samsung ook de nodige patenten heeft op deze technologie. Overigens blinkt de PCM technologie uit in eenvoud en het overgrote deel van de (productie)technologie is al lang in gebruik elders. Tot slot zegt het bijzonder weinig dat je over patenten beschikt. Tussen aanvraag en toekenning zit vaak tussen de 5 en 10 jaar, en na toekenning kan een patent nog aangevochten worden. Intel en Micron zullen ongetwijfeld ook vele patenten schenden, dit is gebruikelijk en haast onontkoombaar. Ze zullen hooguit een inschatting maken welke patenten echt voor een blokkade kunnen zorgen en hier een workaround voor maken. Maar dit zal wellicht voor <0.1% van de patenten zijn die deze 'zogenaamd' technologie afschermen.

[Reactie gewijzigd door KoffieAnanas op 28 juli 2015 22:33]

Bijzonder interessant artikel, over die Purple Swan. Schijnt ineens ook een veel breder licht op de recente overname van Altera door Intel. PCMS is namelijk ook uiterst geschikt voor FPGA(achtige) toepassingen.
Ik ben erg benieuwd wat de komende jaren gaan brengen, dit zou wel eens voor een flinke technologische aardbeving kunnen zorgen :)
Met zo'n product zou je goed kunen stellen dat de klassieke RAM + HDD combinatie wordt vervangen door één enkel geheugensoort: 3D XPoint.

Maar ik zie hier één probleem in:
Hoe word hier de bridge geslagen tussen huidige software die geschreven is voor een RAM + HDD combinatie en een dergelijke single memory type implementatie?
Ik kan me voorstellen dat je dit nieuwe geheugen in je moederbord steekt zoals je dat momenteel doet met RAM. Je zou dan als het ware een soort partitie op je XPoint geheugen kunnen toewijzen als RAM-geheugen en het resterende deel gebruiken als opslag.

Vervolgens kan er aan de softwarekant natuurlijk flink worden geoptimaliseerd doordat programma's en databestanden niet meer eerst naar RAM gekopieerd hoeven te worden zoals nu het geval is. Het openen en inlezen van een bestand is dan niks anders dan het instellen van een pointer naar een bepaalde plaats in het als opslag in gebruik zijnde gedeelte van het 'unified' geheugen. Wanneer dit op OS-niveau zo wordt geïmplementeerd betekent dat dat alle programma's die we vandaag de dag hebben hiervan zullen profiteren. Als de hele overhead van het lezen van bestanden wordt gereduceerd tot een simpele pointer komen waarschijnlijk opstarttijden van onder de 1 seconde in zicht. Bovendien gaat het geheugengebruik van programma's dan spectaculair omlaag omdat alleen de 'writable pages' dan nog in het RAM-gedeelte hoeven te staan. Alle data die niet writable is, en dus niet kan veranderen, kan gewoon op het opslaggedeelte blijven.

En dat verminderde RAM-gebruik betekent dan natuurlijk weer dat je een groter gedeelte van je geheugen als opslag kunt gebruiken :)


Bovendien heeft dit interessante gevolgen voor de sluimerstand/hybernation. (Wanneer je je computer in sluimerstand zet wordt alle data die zich in het RAM bevindt naar de HDD/SSD geschreven en wordt de computer uitgeschakeld. Bij het opstarten wordt de data weer in het RAM geplaatst en kun je verder met je computer waar je gebleven was.) Windows 8 en nieuwer behaalt al redelijk goede opstarttijden doordat Windows standaard sluimerstand gebruikt in plaats van écht afsluiten (dit noemen ze 'hybrid shutdown', hybride omdat de programma's die je open had staan nog wel echt worden afgesloten). Kun je je voorstellen wat het met 'unified' geheugen betekent om de computer in sluimerstand te zetten? Er hoeft helemaal niks meer te gebeuren! Omdat het 'unified' geheugen zijn data niet verliest wanneer de stroom eraf gaat is de sluimerstand met dergelijk geheugen niets anders dan gewoon: stroom eraf. Ik zou me kunnen voorstellen dat het BIOS/UEFI zo kan worden ontworpen dat je zelfs gewoon de stekker eruit kunt trekken zonder data te verliezen. Dan heb je een opstarttijd van dicht bij nul :9~

[Reactie gewijzigd door Jerrythafast op 28 juli 2015 18:46]

De boot times van moederborden zullen dan een 'bottleneck'(bij gebrek aan betere beschrijving) gaan vormen.
Vooral high-end systemen met x79 en x99-moederborden hebben relatief lange boot-times.
Het komt nu al wel voor dat de POST (Power On Self Test, dat wat je computer doet voordat hij het OS begint op te starten) langer duurt dan het laden van het OS vanaf een SSD. Wanneer (ik zeg expres niet "als", want vroeger of later is dit gewoon waar we naartoe gaan) we op dergelijk unified geheugen zijn overgestapt zal de opstarttijd van je computer voor 99% uit de POST bestaan.
Wie zegt dat we met die POST niet ook revoluties gaan zien?
Het concept wat je neerzet is opIch mooi maar niet correct naar mijn idee. Een voorbeeld: een PNG op disk opgeslagen heeft een andere structuur dan een PNG die ingeladen is in het geheugen. Deze twee zijn niet vergelijkbaar, dus een pointer veraatsing zou bijvoorbeeld un dit geval niet werken. er zullen meet situaties zijn waarbij dit niet werkt dan wel
Gecomprimeerde data zal allicht moeten worden uitgepakt voordat het gebruikt kan worden. Dan nog scheelt het wel degelijk: in plaats van dat je eerst de PNG in het geheugen inleest en dan decodeert, decodeer je hem rechtstreeks vanuit het PNG-bestand.
Er hoeft helemaal niks meer te gebeuren! Omdat het 'unified' geheugen zijn data niet verliest wanneer de stroom eraf gaat is de sluimerstand met dergelijk geheugen niets anders dan gewoon: stroom eraf. Ik zou me kunnen voorstellen dat het BIOS/UEFI zo kan worden ontworpen dat je zelfs gewoon de stekker eruit kunt trekken zonder data te verliezen. Dan heb je een opstarttijd van dicht bij nul :9~
Dit is nu net het deel waar ik weinig enthousiast van kan worden. Immers geeft Suspend to Ram op een desktop min of meer hetzelfde effect (blijft dan stroom op het ram staan) en zijn de huidige wake tijden uit de hybrid sleep überhaupt seconden werk (in ieder geval op mijn Surface Pro 2).
Onder Linux heeft men recent een dummy driver toegevoegd om zulke stukken als block device beschikbaar te maken. Er wordt trouwens nog gebakkeleid over welke implementatie de beste is.

De moeilijkheid is dat dit geheugen rechtstreeks aangesproken kan worden door de CPU (dus via geheugenaddressen - huidige HD/SSD's worden op logical block addressen geaddresseerd).
Dit brengt enkele zaken met zich mee:
- er moeten extra instructies gebruikt worden wil je data consistent weg schrijven (i.e. ordering instructies). Deze instructies zijn vziw ook speciaal voor dit soort memories (CLWB en PCOMMIT)
- wil je het geheugen aanspreken als DRAM, dan moet je ook DRAM metadata (de zogeheten struct page) bijhouden per page (typisch 4KB). Voor de grootteordes die men verwacht van dit type geheugen komt dit op een zeer grote overhead uit.
- wil je het geheugen aanspreken als een block device, dan hoeft dit niet, maar kom je met een aantal andere moeilijkheden: mmap() (die een file rechtstreeks in het geheugen van een process kan mappen) moet normaal alle data cachen in RAM. Voor dit soort geheugen is dit echter niet nodig. En wat doe je dan met fragmentatie - je moet dan de TLB populeren met data uit het filesystem? Wat met Execute-in-place?

Daarnaast wordt ook verwacht dat dit type geheugen geen oneindig aantal write cycles heeft. Zomaar gebruiken als RAM, doe je beter niet. Anderzijds kan het wil interessant zijn om bepaalde run-time data toch daar bij te houden als snelle cache.

Dus zomaar een greep uit de moeilijkheden die dit soort geheugen met zich mee brengt. Voorlopig is het idee: laat verschillende mensen maar met implementaties komen en als we eenmaal hands-on experience hebben, zal de markt wel uitwijzen hoe ze plant om dit geheugen echt te gaan gebruiken. Op dat moment kan het snel gaan om de code (waar dus al langer aan gewerkt wordt) in de kernel te stoppen.

Verder leesvoer:
https://lwn.net/Articles/498283/ (2012)
https://lwn.net/Articles/610174/ (2014)
https://lwn.net/Articles/610184/ (2014 - Dave Chinner, developer van XFS, legt de problematiek uit)
https://lwn.net/Articles/609755/ (2014 - deze driver werd gemerged om NV-DIMMs als simpel block device beschikbaar te maken)
https://lwn.net/Articles/649652/ (2015: 4.2 kernel changes: libnvdimm met generieke functies werd toegevoegd)
Die "brug" is helemaal niet nodig. De benodigde interface bestaat al jaren. Er zijn twee kanten waarop je naar die bestaande techniek kan kijken.

De eerste benadering is virtueel geheugen. Als je meer geheugen alloceert dan je RAM hebt, dan wordt een deel dat geheugen op disk geplaatst. Het OS managed dit. Als je geen apart RAM en disk meer hebt, dan hoeft het OS dit niet meer te managen. Als je nog wel RAM houdt, dan kan het OS het 3D XPoint geheugen als disk blijven gebruiken maar dan merk je het swappen niet meer.

De tweede manier om die techniek te bekijken is als memory mapped files. Je vraagt aan het OS naar een pointer in geheugen om de inhoud van een file te benaderen. Met dit nieuwe 3D XPoint geheugen is dit supersimpel: die file had toch al een geheugenadres.

Dit zijn twee manieren om dezelfde techniek te bekijken. Beiden werken doordat elk programma een eigen unieke kijk op het geheugen heeft. Deze blik is opgeslagen in de page tables. Als er te weinig RAM is, dan is de page table incompleet. Een programma dat dan toch probeert dat deel van het geheugen te gebruiken moet even wachten tot het OS de inhoud van disk (swap file) naar RAM kopieert, maar merkt er verder niets van. Een memory mapped file "inladen" doet dan ook niets anders dan een geheugenadres kiezen; pas als dat adres gebruikt wordt moet de file ook worden ingeladen.

Het OS moet dus wel aangepast worden voor 3D XPoint geheugen om slimmer met de page table updates om te gaan, maar goede kans dat het 3D XPoint geheugen rechtsreeks in de page tables wordt vermeld.
Zoals ik hierboven aanhaal, ben ik er nog zo zeker niet van.
Als je vele gigabytes, tot terabytes, van dit geheugen hebt, dan moet je plots heel erg veel metadata gaan opslaan. Het kan zo maar even zijn dat je een kwart van je normale RAM moet inleveren om rechstreekse addressering mogelijk te maken.

Je zou dit nog kunnen oplossen door slechts tijdelijke mappings te maken, maar ook dat is een grote wijziging.

Daarnaast is memory mapped I/O niet zo'n kleine ingreep als je denkt. Op dit moment zijn I/O subsystems erop gebouwd om data via een block-layer op te vragen en te cachen. Die cache wordt dan via de memory map beschikbaar gesteld. De block-layer moet er echter van tussen, page faults moeten plots op een ander manier met het filesystem interageren, en nog meer van dat.

Nope, ik ben er nog niet zeker van de rechstreekse vermelding in de page tables zomaar dé oplossing zal zijn en dat ze ook simpel en snel geimplementeerd zal zijn.
De metadata groeit lineair in de geheugengrootte. Als je terabytes van dit soort geheugen hebt, dan maakt het niet uit dat je ook gigabytes aan "struct page" objecten hebt.

Je I/O susbsysteem is helemaal niet meer nodig voor de memory-mapped "I/O" als de non-volatile storage op hardware nivo al memory mapped is, in plaats van via I/O benaderd wordt. Wat er voor in de plaats moet komen is echter een NV-aware filesysteem waarin geheugenadressen in plaats van bloknummers worden gemanaged.
Behalve dat het geheugen nog steeds trager is dan echte DRAM en dat het aantal write cycles wel hoger is dan typische NAND, maar niet oneindig.
Dus als pure DRAM gebruiken zie ik nog niet zo snel gebeuren. Als cache voor databases, als zram/zswap/swap, snelle storage, sure.
De latency wordt trouwens nog steeds hoger verwacht dan gewoon DRAM, dus een vervanger voor DRAM is het ook niet.

Dus als je dan je metadata in RAM bewaart en niet in NVRAM, dan ben je plots een grote hoeveelheid van je snelste RAM kwijt aan metadata voor je tragere NVRAM. Of je plaatst het alsnog in NVRAM, maar dan moet je opletten met teveel writes. En die struct page wordt best veel aangepast (tenzij je ook de memory management code zwaar aanpast).
Sowieso moet er enorm veel veranderen in zowel memory management, file system en block layer code (hoewel men daar al even mee bezig is, zie link naar DAX hieronder).
En een filesystem schrijven is een onderneming van ~10jr eer het stabiel is, dus" zomaar even" een NV-aware filesystem maken? Will not happen.

Ik verwacht dat na de dummy block driver die we nu hebben we wel wat vormen gaan zien van hoe je het kan gebruiken:
- als dedicated device volledig in userspace gemanaged. (bvb voor databases)
- een deel van deze NVRAM als mirror device voor snelle bootup/hibernate - gebruikt door de kernel waar interessant.
- als temporary storage voor bulk data. Bijvoorbeeld: wat als Intel CPU hun performance trace (bvb branch info) data rechstreeks in een heel groot blok NVRAM kan duwen? Je DRAM controller heeft geen extra werk hierdoor dus je kan met bijna volle snelheid je programma flow volgen, terwijl dat nu toch de nodige vertragingen met zich meebrengt.
- als block layer device (zonder page cache ertussen, met directe mmap(), met XIP en meer - via het direct access (DAX) systeem). Hier moet nog wel wat werk voor verzet worden.

Uiteindelijk zullen wel nieuwe toepassingen voorzien worden. Zo zou je een sectie in je ELF file kunnen definieren (zoals de .bss) die een stuk NVRAM mapped op een bepaalde locatie. Zo kun je zowel interprocess NV-data sharen als over de lifetime van het process heen. Goed voor wat settings, bijvoorbeeld.
Ram emulatie in je OS bakken?
Anoniem: 22438
@niektb28 juli 2015 18:27
Eeh totdat de software is aangepast zou ik me kunnen voorstellen dat je met RAMdisk een soort van virtuele harde schijf emuleert.
Huidige software is niet geschreven voor een ram+hdd combinatie, dat is iets waar het besturingssysteem rekening mee moet houden om de data van de harddisk naar het geheugen te kopieren voordat het uitgevoerd of bewerkt kan worden.
Vergeet ook nog niet dat dit nieuwe type opslaggeheugen in de buurt komt van de snelheid van het werkgeheugen, dus ik zie het nog niet direct gebeuren dat dit nieuw type geheugen ook het RAM gaat vervangen.

Overigens doet het me denken aan HP die wel het geheugen en opslag tot één wil combineren:
nieuws: HP werkt aan nieuw type computer met memristors en optische datacommunicatie
Met zo'n product zou je goed kunen stellen dat de klassieke RAM + HDD combinatie wordt vervangen door één enkel geheugensoort: 3D XPoint.
Zover is het voorlopig nog niet. Sommige berichten zeggen dat het 1000x vaker beschrven kan worden dan NAND Flash, dat is natuurlijk geweldig, maar om RAM te vervangen is het nog lang niet genoeg.
We hebben met de Intel 750 SSD al gezien dat een snellere opslag geen enkele functie heeft voor particulieren. Wat willen ze hiermee bereiken? Ik gok op servers van zeer grote bedrijven, zoals Google, Facebook, Microsoft etc. Die hebben flinke databases die hier gebruik van kunnen maken. Maar dan is er weer een probleem: slechts 128GB?
Dit geheugen kan het boot proces volledig omzeilen. Booten is eigenlijk niet veel meer dan informatie van het permanente geheugen naar het RAM brengen (aangezien dit telkens leeg is als de stroom weg is). Met dit soort geheugen kan je een computer maken die volledig aan is nog voor je vinger van de knop is. Het idee van programma's starten en sluiten kan hiermee eigenlijk ook uit het raam (voor een groot deel).

Met wat slimme technieken zou dit ook voor mobiele apparaten enorm op batterij leven kunnen uitsparen. Als je je GSM lockt kan met dit het volledige OS afgesloten worden op misschien een paar heel basic services voor connectiviteit na die eventueel door een dedicated low-power chip voorzien kunnen worden. Hiermee kan de CPU en RAM van je GSM effectief af staan wanneer je hem niet gebruikt.

Ik speculeer natuurlijk maar, maar dit zou enorme gevolgen hebben voor hoe software ontwikkeld en gebruikt worden. Ik ben zeker benieuwd waar dit naartoe gaat.
Hoe langer je je pc aan laat staan, hoe meer geheugen er gebruikt wordt, ook als je netjes al je applicaties sluit. Dit kan je voorkomen door opnieuw op te starten, kan dat in jouw ogen nog?
Dat zou niet het geval moeten zijn, en is ook niet het geval tenzij je last heb van een memory leak. Servers hoeven ook niet om de zoveel tijd een herstart omdat anders het geheugen vol loopt.
Drivers zijn vaker een boosdoener dan je denkt. Het geheugen die drivers gebruiken kan je namelijk niet traceren in Task Manager.

In server opstellingen zijn deze problemen minder voorkomend, omdat er minder drivers zijn.
Ik boot 10x per jaar ? Met OSX.
Als je systeem meer geheugen begint te gebruiken dan is er iets mis.

Het bedrijfsleven draait op continue servers, unix/linux/windows en die worden echt niet geboot, alleen bij noodzaak.
Anoniem: 310408
@ManIkWeet28 juli 2015 19:38
Hoe langer je je pc aan laat staan, hoe meer geheugen er gebruikt wordt, ook als je netjes al je applicaties sluit. Dit kan je voorkomen door opnieuw op te starten, kan dat in jouw ogen nog?
Ongebruikt geheugen is nutteloos. De clue is het vrij te geven zodra het nodig is. en Windows 8.1 doet dat vrijwel perfect. Als je dus heel weinig vrij geheugen op je systeem ziet weet je dat je machine optimaal werkt.
Sure daarom moet ik mn mac ook idere dag uitzetten enzo. De laatste keer dat ik mn macbook uitzette was 3 maanden terug toen ik een update moest doen van de firmware. Moderne os-en als win8.1/10, OS X en veel unix distri's hebben een reboot alleen nodig in geval van updates.
Niet juist. Er gebeurt tijdens het booten nog wel veel meer, voornamelijk hardware detecteren en initialiseren. Trouwens is booten met lege RAM ook een feature! Mogelijke corrupties, malware en andere evilness zijn dan zomaar snel even gewist en je begint met een propere lei. Niet voor niets is de eerste vraag als je een windows support-dienst belt "heb je al eens opnieuw opgestart?"
Je kan dus gaan verwachten dat systemen waarbij dit als een vorm van DRAM extensie (ZRAM, ZSWAP, hibernate file, ...) gebruikt wordt alsnog een optie gaan hebben om met een propere lei te starten.

Windows 8 Hybrid shutdown is waarschijnlijk de eerste opportuniteit om dit onder windows te gebruiken.
Ik denk dat dit eerder bedoeld is als vervanger van het werkgeheugen..
Ach, in feite heb je geen werkgeheugen nodig. Maar de hardeschijven/ssd's zijn momenteel nog zoooooo traag dat als je gaat swappen de boel traag wordt. Er komt een dag.... :)
L1 L2 en L3 cache is ook overbodig
cpu en gpu ook
gewoon goed programeren van printsporen. en je hebt niks nodig
Nee, alhoewel een factor 1000 meer write cycles een significante verbetering is t.o.v. NAND flash is het absoluut niet goed genoeg om als vervanger van DRAM te gebruiken. Zie dit geheugen meer als als een soort backup memory voor je DRAM voor het geval dat je het systeem in sleep zet of voor gebruik in een supersnelle SSD.

Het is echter totaal niet geschikt voor continuous read/write applicaties zoals waar DRAM nu voor gebruikt wordt omdat het een eindige hoeveelheid write cycles heeft.

Een typische NAND flash cell heeft een erase/write cycle limiet van ongeveer honderd duizend (Single Level Cell, Multi Level Cells hebben significant minder e/w cycles), dus met 1000x meer write cycles (erase is niet meer nodig met deze technologie) zit je nog maar aan 100 miljoen write cycles (over de lifetime van het device) wat natuurlijk nooit genoeg is voor high intensity memory change applicaties waarvoor DRAM gebruikt wordt.

Voor SSD-achtige toepassingen is dit natuurlijk minder een probleem (zeker met wear-levelling om de schrijfbelasting van de memory cells te verdelen over het gehele device) en met een 1000x hogere lees en schrijf snelheid van iedere cell is dit natuurlijk een perfecte oplossing voor read-only/read-mostly en limited write cycle toepassingen (denk databases of texture cache etc).

[Reactie gewijzigd door CrazyJoe op 29 juli 2015 09:50]

Lees: 128Gb, met de kleine b, welke niet staat voor Bytes maar voor Bits, wat naar mijn vermoeden de grootte is van een enkele geheugenchip.
Lees: 128Gb, met de kleine b, welke niet staat voor Bytes maar voor Bits, wat naar mijn vermoeden de grootte is van een enkele geheugenchip.
Geheugenchips (ook RAM) worden vrijwel altijd aangeduid in Mbit/Gbit.
Maar het is niet gek wanneer er 8 of meer op 1 printplaatje zitten, wat je in een DIMM-slot duwt.
Dus reken maar dat er modules zullen verschijnen van 128 of meer GByte per module.
Daar dan een paar van in een mainboard en je kunt een lekkere hoeveelheid data verwerken :)
Denk aan processen van 'big data' of heel grote databases.
Sneller is altijd beter. Hoewel je er misschien NU geen voordeel van hebt krijg je dit vanzelf wel als applicaties en OS'en daar voor geschreven worden.
Daarmee bedraagt de initiële capaciteit 128Gb, wat nog verhoogd kan worden door stapeling van de geheugenlagen.

Oftewel zet er 2 op mekaar en je hebt al 256Gb.
Anoniem: 685475
@ManIkWeet28 juli 2015 18:53
Ik ben het met je eens. Ik zie niet in wat dit voor particulieren op de korte termijn gaat verbeter. Mijn inziens gebruiken de meeste particulieren hun computer nog steeds voor huis-tuin en-keuken applicaties en weten uberhaupt niet dat ze hun ouderwetse HDD simpel kunnen vervangen voor een al veel snellere SSD.
uhh, geen enkele functie voor particulieren? get real... dat is hetzelfde zeggen als dat een SSD geen enkele functie heeft voor particulieren...
Niet exact, omdat bij een SSD nog geen andere onderdelen de bottleneck vormden...
128Gb niet 128GB. Is dus 16GB!
Dit nieuwe geheugen is 1000 keer sneller al NAND, levens duur is 1000 langer en is 10 keer kleiner.

Dit is echt een hele grote stap vooruit!
mijn sram is 100.000 keer sneller dan nand
Nee, dit geheugen is *groter* (en dus duurder) dan NAND flash.

De factor 10 verkleining is ten opzichte van SDRAM.

Het is dus nog niet op alle vlakken beter dan NAND of SDRAM.

Ten opzichte van SDRAM is het non-volatile en kleiner (potentieel goedkoper), maar minder duurzaam.
Ten opzichte van Flash is het sneller, duurzamer, maar groter (potentieel duurder).
Hoewel werkgeheugen zeer snel is, zijn de capaciteiten beperkt en verliest het zijn gegevens zonder stroom. Nand-geheugen als in ssd's heeft een grote capaciteit en houdt data vast zonder stroom, maar is vergeleken met werkgeheugen traag.
Dit is voor zover ik weet niet volledig waar. Als mijn geheugen mij niet in de steek laat hebben NAND cellen tot op de dag van vandaag nog steeds te maken met lekstroom. het gaat welliswaar heel traag, maar eigenlijk zou data op een SSD om de zoveel tijd ververst moeten worden om de houdbaarheid te garanderen. De snelheid waarmee dit process verloopt is ook nog afhankelijk van de temperatuur
http://www.extremetech.co...e-as-7-days-without-power

[Reactie gewijzigd door osluis op 28 juli 2015 19:07]

Anoniem: 310408
@osluis28 juli 2015 19:41
Dit is voor zover ik weet niet volledig waar. Als mijn geheugen mij niet in de steek laat hebben NAND cellen tot op de dag van vandaag nog steeds te maken met lekstroom. het gaat welliswaar heel traag, maar eigenlijk zou data op een SSD om de zoveel tijd ververst moeten worden om de houdbaarheid te garanderen. De snelheid waarmee dit process verloopt is ook nog afhankelijk van de temperatuur
Dat is slechts een factor bij Enterprise SSDs. En ook daar is data verlies slechts in vrij extreme gevallen te zien. Er is geen enkele reden om je eigen SSD elke paar weken geheel te 'verversen'.
Dat is voor SSD's die al 100 TB aan writes hebben gehad. Zoals je weet slijten SSD's door gebruik. Dat kan zich vertalen in dramatisch falen (onleesbaar/onzichtbaar voor OS) maar ook op deze subtiele manier. In beide gevallen is de slijtage het gevolg van schade aan de isolatie-laag van elke NAND cel. DIe isolatie moet voorkomen dat de elektronen weglekken, maar voorkomt daarmee ook dat je nieuwe elektronen naar die cel kunt wegschrijven. Om toch te kunnen schrijven worden daarom hoge voltages gebruikt, die de isolatie enigzins beschadigen.
Wat ik zo lees op t web is dat t qua snelheid nog niet geheel aan ram voorbijgaat. En dat t dus een soort van tussenoplossing wordt op dit moment.
precies, het is langzamer dan DRAM (en heeft een beperkt aantal writes) en duurder dan Flash dus het vervangt voorlopig niks.

Maar als de prijs van dit geheugen genoeg is gedaald dan is het natuurlijk veel interessanter dan Flash geheugen, en ik neem aan dat we dan ook veel grotere capaciteiten krijgen.
Kan iemand mij uitleggen wat het nu uitmaakt dat -geheugen- zijn data verliest? Dat is toch juist mooi? Even los gelaten van het feit dat dit een soort multifunctioneel ding is, met daadwerkelijk 'harde' opslag. Je wilt toch juist niet allemaal meuk in je geheugen blijven houden. Het enige wat ik mij kan voorstellen is dat er dan niet steeds allemaal dingen 'ingeladen' hoeven te worden, maar aan de andere kant lijkt het me raar om alles al kant en klaar in je geheugen vast te hebben staan.
Bij je PC thuis, sure, geen probleem. In enterprise opstellingen is het meestal ververlend als je alles uit je RAM kwijt bent. Denk aan database transacties die nét bezig waren. Dit wordt meestal afgevangen door een UPS of twee (of meer) stroom groepen (A en B bijvoorbeeld in datacenters).

Daarnaast (wat zeker niet onbelangrijk is), is dat de dit soort RAM als opslag kan gaan gebruiken. RAM in traditionele zin zoals we het nu kennen (DRAM) is nog velen malen sneller als de huidige SSD's op de markt.
De cellen, die overigens niet met transistors werken, worden door spanningsvariaties uitgelezen en beschreven.
http://www.intelfreepress...oint-memory-storage/9790/
3D XPoint owes its performance attributes and namesake to a transistor-less three-dimensional circuit of columnar memory cells and selectors connected by horizontal wires. This “cross point” checkerboard structure allows memory cells to be addressed individually. This structure enables data to be written and read in smaller blocks than NAND, resulting in faster and more efficient read/write processes.
Ze zijn vergeten neer te zetten dat de prijs ook 1000x duurder wordt.
Dat doet er in eerste instantie volstrekt niet toe. Zoals bij (bijna) alle technologie zal die prijs ook weer dalen, en zoals bij (bijna) alle technologie zijn er toepassingen waarbij deze eigenschappen zó nuttig zijn dat ze de meerprijs rechtvaardigen. Met dit soort geheugen kunnen sommige serverparken flink besparen op dikke UPS'en en aggregaten bijvoorbeeld, voor machines die op zich wel even uit mogen vallen, maar die geen state kwijt mogen raken. Dit leent zich ook prima als buffergeheugen tussen fysieke opslagmedia voor databaseservers en dergelijke -- in plaats van dure controllers met losse batterijen die moeten garanderen dat alle data naar de schijf commit is voor de schrijfopdracht terugkeert pomp je het gewoon eerst hiernaartoe en vandaar naar de schijf. Als de database klein genoeg is kun je zelfs je complete transactielog hierin kwijt, in plaats van op externe opslag, wat de throughput enorm verhoogt.
Nee, dat valt dus grappig genoeg super mee. De structuur is erg regelmatig - vlak, recht en hoekig. Dit kan supergoed gemaakt worden met bestaande lithografie. Metaallaag neerleggen, lijntjes etsen, PCM laag neerleggen, vierkantjes etsen, OTS laag neerleggen, vierkantjes etsen, en tenslotte een metaallaag neerleggen en lijntjes etsen. Klaar!

De paper die ik hierboven aanhaal suggereert een 4λ² cellgrootte. Voor een 10 nm proces betekent dat 400 nm² per bit, oftewel 2.5 Gbit per vierkante millimeter, per laag. Die 128 Gbit is dus maar een halve vierkante centimeter
Ik zie dit nog wel in combinatie met de toekomstige Intel Core i5/i7 7660/7770 en Xeon processoren werken gezien Intel hieraan meewerkt.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee