Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 47 reacties

Onderzoekers van Hewlett-Packard claimen een nieuw type geheugenelement te hebben ontworpen. De ontdekking kan er mogelijk toe leiden dat het onderscheid tussen werkgeheugen en vaste opslag verdwijnt.

Voor iedere natuurkundestudent zal het gesneden koek zijn: een elektrisch netwerk bestaat uit drie passieve elementen: een weerstand, een condensator en een inductor. Al in 1971 maakte Leon Chua van de Universiteit van CaliforniŽ echter een wiskundig model voor een vierde element: een memristor. Bijna 40 jaar later is het onderzoekers van HP gelukt een werkend exemplaar te maken. Stan Williams, hoofd van HP's Quantum Science Research-afdeling, en zijn team publiceren hun onderzoek deze week in het vooraanstaande wetenschappelijke blad Nature.

Stan WilliamsKort gezegd is een memristor - een afkorting van memory resistor - een weerstand met geheugen. De weerstand van een memristor hangt af van de hoogte van en de tijd die het element bloot staat aan een bepaalde spanning. De weerstand van een memristor daalt omgekeerd evenredig met de spanning die over het element wordt aangebracht. Daarnaast daalt de weerstand naarmate hij langer onder spanning staat. Dit betekent dat een memristor kan onthouden welke waarde het heeft, zelfs als het apparaat waar de memristor deel van uitmaakt, uitgeschakeld wordt.

Hoewel de theorie simpel lijkt, kostte het daadwerkelijk bouwen van een memristor behoorlijk veel moeite. Een memristor is opgebouwd uit een microscopisch dunne halfgeleider van titaniumdioxide en twee dunne lagen platina. Het hele component mag slechts 5 nanometer groot zijn - tienduizend keer dunner dan een menselijke haar. Zodra een memristor groter is gedraagt hij zich als een normale weerstand waarbij er een vaste verhouding is tussen de spanning en de stroom die vloeit. Dit verklaart ook waarom het 37 jaar heeft geduurd voordat de theorie van Chua bewezen kan worden: de componenten waren simpelweg te groot.

Naast de problemen met de grootte had het team aanvankelijk ook moeite de achtergronden van het model van Chua te begrijpen. Volgens Williams waren de wiskundige principes erg complex. Chua zelf is het hier niet helemaal mee eens: 'De theorie is niet erg ingewikkeld. Het probleem is dat het model volledig indruist tegen wat mensen als vanzelfsprekend beschouwen'.

Volgens Chua zullen memristors een grote rol gaan spelen in de computerindustrie. In de computers die we tegenwoordig kennen worden gegevens bij het booten van een harde schijf in het veel snellere werkgeheugen geladen. Als het werkgeheugen op basis van memristors ontworpen wordt is dit niet nodig. De memristors zullen immers alle gegevens bewaren, ook als de computer uitgeschakeld wordt. Naast dit voordeel zullen computers met memristors aanzienlijk minder stroom verbruiken en niet meer gevoelig zijn voor stroomuitval. Overigens zullen niet alleen computers kunnen profiteren van de nieuwe technologie. Voor alle apparaten waarin elektronica wordt gebruikt kan de ontdekking van groot belang zijn.

Naast deze toepassingen liggen er nog meer mogelijkheden met memristors in het verschiet. Een memristor kan meerdere waarden vasthouden, en niet alleen een 0 of een 1 zoals klassieke chips. Dat betekent dat een memristor ook geschikt zou zijn voor toepassingen in neurale netwerken en toepassingen voor kunstmatige intelligentie. Het mag in ieder geval duidelijk zijn dat het onderzoek van het team van Williams een belangrijke doorbraak heeft opgeleverd.

Moderatie-faq Wijzig weergave

Reacties (47)

sommige mensen denken dat wegschrijven dan tijd kost, maar zoals dat nu gebeurt is die tijd de tijd tussen chp en geheugen. de chip rekent iets uit in een kloktik en schrijft dat weg in het geheugen
dan de volgende kloktik. de staat van het geheugen is dus altijd een staat tussen kloktikken in. je moet alleen zorgen dat je cache ook een stroomstoring overleeft, o gewoon geen cache gebruiken. ik neem tenminste aan dat de memristor chips snel genoeg zullen zijn om nog een cache nodig te hebben.

de chip zelf herbergt immers geen data ( de processor dan)

communicatie tussen hardeschijf en geheugen kan nog wel mislopen, maar dat is wel op te lossen door het wegschrijven van data op de hardeschijf zo te laten plaatsvinden dat de schrijfactie door het geheugen wordt geverifieerd, en pas daarna de data uit het geheugen wordt gewist.

maar omdat het nog wel een tijd zal duren denk ik dat dat probleem nog makkelijker op tye lossen is door gewoon het hele opslaggebeuren in memristors uit te voeren. ipv een disk met platters en gehuegen en cache.
gewoon een grote bak memristors direct aan de processor koppelen.
Even reageren op het dataverlies aspect wanneer je de sap afhaallt gedurende een schrijfactie. Dat probleem speelt alleen bij overzetten naar een ander medium of omgeving.

Wanneer je data & werkgeheugen permanent status-houdend is, heb je geen corruptie. Immers stroom er af, de cpu etz. valt stil.
Spanning er weer op en de hele machine gaat weer vrolijk verder, inclusief de (hoe moet je het noemen) de inflight schrijfactie. Hierbij ogemerkt dat je, wanneer je dit extreem vergroot, feitelijk helemaal geen (disk)schrijfactie meer hebt. Immers waarom zou je iets wegschrijven je hebt een groot werkgeheugen van zeg 2TB of voor mij part 2PB.

Een probleem dat echter wel veel sterker gaat optreden is consistentie (consistency) van data die zich verhoudt tot externe data die ondertussen mogelijk wel is veranderd.
Je bent "bezig" geld over te boeken en die inflight-transactie kan dagen later mogelijk mislukken omdat in de tussentijd, je saldo is opgesoupeerd.

Ook het concept van dataverwerking met aanwezigheid van grote & permanent werkgeheuges, zal een forse omwenteling betekenen in het programmeren en denken daarover. Denk maar 's in, je hoeft geen data die "er is", meer met een I/O op te halen en te bewaren. de bewerking is realtime op CPU bussnelheid. . . . . en ja ook status registerflags enz van de cpu is memresistent. . . .

Wolkenfietserij wellicht nu nog, maar mark my words, binnen 10 jaar is dit behoorlijk reality voor de dingen om ons heen.
Ik snap het eigenlijk niet goed. Er wordt gezegd dat het onderscheid tussen werkgeheugen en lager gelegen geheugen zal verdwijnen. Geheugen is een lagen-structuur, waarin de laag dichtst bij de CPU de snelste is, maar dus ook de duurste. Zo gaan we van registers naar L1-cache, naar L2 en L3-cache, naar memory, naar flash-geheugen, naar harde schijf. De harde schijf is het goedkoopste per Gb, maar tegelijkertijd ook het traagst.

Waarom zou die structuur nu plots verdwijnen? Zijn die memristors goedkoper dan elke bestaande technologie, en tegelijkertijd de snelste? Zoneen, dan zal de huidige structuur nog steeds de efficientste blijven. Dan kan de brave heer Chua op zijn kop gaan staan; het is duidelijk een theoretisch wiskundige in plaats van een praktisch computerwetenschapper.
Heeft niet zozeer te maken met het snelste of het goedkoopste als wel met het feit dat dit geheugen zijn data vasthoud als de sap eraf is.

Goedkoop wordt het vanzelf wel, en het is volgens mij een stuk sneller om te werken met 1 soort geheugen dat mischien iets langzamer is dan dat je met 5 verschillende levels zit te kloten.

Jij bent duidelijk geen computerwetenschapper. :P
Het heeft ook zeker te maken met de prijs. Het geheugen waaruit de cache bestaat is bijvoorbeeld SRAM (Static), geen DRAM (Dynamic). SRAM is sneller, maar ook duurder.

Volgens mij wordt het om deze laatste reden niet gebruikt voor het 'gewone systeemram'. (of in kleine hoeveelheden, als een soort interne cache van het 'gewone systeemram'. Maar ik heb geen idee of deze 'cache' ook in standaard geheugenreepjes zit.)

Daarnaast - en belangrijker -, zijn grotere geheugens (veel) langzamer dan kleinere, simpelweg omdat er meer adressen/locaties zijn waar de te lezen data zich kan bevinden (of waar de data naartoe geschreven kan worden). Dit maakt een veel groter verschil dan je zou zeggen.

Dit nieuwe type geheugenelement - fantastisch trouwens :*) - zal de niveaus misschien dichter bij elkaar kunnen brengen in termen van prestaties, maar de gelaagdheid zeker niet wegnemen.

Kortom, Parasietje heeft gelijk, zij het niet alleen om de financiŽle redenen die hij aanvoert. De zin 'Jij bent duidelijk geen computerwetenschapper.' lijkt me dan ook niet echt op zijn plaats.
Naast dit voordeel zullen computers met memristors aanzienlijk minder stroom verbruiken en niet meer gevoelig zijn voor stroomuitval.
Een kleine nuancering:
Het zal vast zo zijn dat het niet meer kapot gaat, echter zolang er nog data wordt geschreven en deze schrijfactie wordt onderbroken zal de data alsnog evengoed corrupt incompleet zijn.

Verder een hele mooie ontwikkeling. Ik ben benieuwd hoe groot zo'n geheugencel is vergeleken met de huidige techniek. Dit zal de opvolger moeten worden van de SSD zoals ik het lees. Verder voordeel is dat we hiermee waarschijnlijk (zeker als het het RAM kan vervangen) af zijn van het apparaat dat al jaren veels te traag is: de HDD.

Het zal nog wel een hele tijd duren, maar het begin is er. Ik ben benieuwd.

Edit: Ik bedoelde eigenlijk incompleet in plaats van corrupt.

Edit2:
Ik heb ook de indruk dat je het concept niet helemaal begrijpt; 'wegschrijven' is een woord die overbodig zal worden, aangezien werkgeheugen hetzelfde is als permanent geheugen.
Parasietje blijkt het te zien. Je hebt helemaal gelijk, daar had ik nog niet aan gedacht. Wat dat betreft dus een hele mooie oplossing dus.

[Reactie gewijzigd door GENETX op 1 mei 2008 18:27]

Een kleine nuancering:
Het zal vast zo zijn dat het niet meer kapot gaat, echter zolang er nog data wordt geschreven en deze schrijfactie wordt onderbroken zal de data alsnog evengoed corrupt zijn.
Onzin. Je zit in een for-loopje waarin je steeds 1 byte geheugen kopieert van adres A+i naar adres B+i. Als de stroom uitvalt, blijft je Program Counter, alle registers en de hele mikmak gewoon bewaard, en is het alsof je computer nooit is uitgeweest.

Ik heb ook de indruk dat je het concept niet helemaal begrijpt; 'wegschrijven' is een woord die overbodig zal worden, aangezien werkgeheugen hetzelfde is als permanent geheugen.
dan moet je cpu ook memresistor-registers hebben, anders heeft die program counter van jouw ook geen nut.

Of bedoel je dat je nog maar 1 groot generiek geheugen heb dat zo snel is dat je geen eigen cpu-geheugen meer hebt?
Ik neem aan dat wanneer dit makkelijk te produceren wordt, deze techniek alle soorten van geheugen zal vervangen, er zijn namelijk veel voordelen.

Weet niet of dit zo direct het geval is, maar wie weet is iets dergelijks ook een mooie oplossing binnen het AMD Fusion project, al dan niet door constant het interne CPU geheugen te syncen met een klein stukje van dit spul er buiten, maar wel op het zelfde pcb-tje.
Het zal vast zo zijn dat het niet meer kapot gaat, echter zolang er nog data wordt geschreven en deze schrijfactie wordt onderbroken zal de data alsnog evengoed corrupt zijn.
Dat gaat denk ik niet op als het om een 'atomaire' schrijfactie gaat. Aangezien het schrijven hier waarschijnlijk op bitniveau gebeurt is een bit wel of niet geschreven, nooit ergens er tussenin, een halve schrijfactie bestaat dan niet.
Echter blijft een file corrupt. Als er tijdens het schrijven de stekker wordt uitgetrokken dan wordt de rest van de data niet weg geschreven. Maar dat is iets wat je nie tkan oplossen, ook niet zoals hierboven met een elco.

het hele probleem wat daarbij speelt is tijd. Er is gewoon een x tijd nodig om iets weg te schrijven, deze data wordt aangevoerd over een aantal lijnen. Met een Elco zou je hooguit 1 state verder kunnen kijken, maar niet meerdere "pakketjes" van bits.

Ik heb het hier dus over nieuwe data zoals een textbestand dat je opslaat en net tijdens het opslaan de PC vastloopt. De helft is dan weg geschreven en de andere helft niet => Dataverlies.
Ik heb het hier dus over nieuwe data zoals een textbestand dat je opslaat en net tijdens het opslaan de PC vastloopt. De helft is dan weg geschreven en de andere helft niet => Dataverlies.
Dat is dus niet zo want een memristor kan dus de data behouden als er spanningsuitval is. Dus ook de data in je werkgeheugen. Wat wil zeggen dat je pc in exact de zelfde staat aangaat als je hem uitzet. Dus ook je tekst bestandje blijft bestaan.
Je tekst bestand bestaat wel, maar enkel de helft van het tekstbestand want enkel de helft is weg geschreven.
Als dit met een binaire file gebeurt zoals een gewone .exe dan krijg je wss een corrupte file.
UlyssesNL heeft gewoon gelijk.

Doordat je interne en externe geheugen (=RAM en Hardeschijf) dezelfde zijn, maakt het niets meer uit. Je hoeft niets meer weg te schijven naar harde schijf doordat alles wat in je geheugen staat ook statisch is (als in het blijft daar staan totdat je het overschrijft)

Eigenlijk krijg je dan een soort van flash dat zo snel is dat het als intern geheugen kan worden gebruikt. Dus als de stroom wegvalt, lekker boeiend, want zodra je terug komt ben je in exact dezelfde staat als voordat de stroom wegviel.

Dus als je een document aan het tikken bent en de stroom valt uit, dan staat alles wat je aan het doen was nog gewoon in het geheugen. Kom je weer terug, dan ga je gewoon verder waar je gebleven was.

Echter zal je het werk- en opslaggeheugen nog steeds wel moeten scheiden. Want als je software crashed, dan boot je pc nimmer meer. Maar zoals iemand hierboven voorstelde om een optie in je bios te zetten die je hele geugen kan clearen, is ook geen optie. Je wilt niet bij elke crash van windows/linux ook al je data kwijt raken :-)

Daarnaast is hibernaten instantaan geworden, je hoeft namelijk niets meer naar disk weg te schrijven. Standby modus wordt dan hetzelfde als hibernaten. Gewoon helemaal uit.
Hoezo, wat is er dan met de helft gebeurd die "niet" is "weggeschreven"? :X
Geheugen behoudt z'n inhoud dan ook bij power outage. Saven is niet meer nodig, dwz, alleen nog maar om een wijziging in een bestand door te voeren. Niet om je gegevens te bewaren.
Een kleine nuancering:
Het zal vast zo zijn dat het niet meer kapot gaat, echter zolang er nog data wordt geschreven en deze schrijfactie wordt onderbroken zal de data alsnog evengoed corrupt zijn.
Met behulp van bijvoorbeeld elco's en dergelijke moet kunnen worden geregeld dat de laatste 1 of 0 goed weggeschreven wordt. Als er dan weer spanning op komt te staan gaat de pc gewoon verder waar hij gebleven was.
De vraag is natuurlijk of dat een voordeel is.

Een vastloper is dan niet meer op te lossen met een simpele reboot.

Aan de andere kant, misschien krijgen we dan (eindelijk) bugvrije software.
Dream on, bugs komen echt niet alleen van het phenomeen dat hierboven beschreven wordt.
Het lijkt me een fluitje van een cent om in het BIOS (of de EFI) een functie te bouwen die bij opstarten de mogelijkheid geeft het hele geheugen te wissen. Dus dat voordeel is er wel degelijk.
De kernel van een OS zal denk ik toch een beetje voor de nieuwe hardware aangepast moeten worden. Waarom dan niet een restore functie?

En zolang mensen software schrijven zullen er altijd bugs in zitten. Mensen zijn nou eenmaal niet foutloos.
En ook IBM heeft al zo'n gigadoorbraak gedaan: http://network.nationalpo...o-500-000-song-ipods.aspx
Gaat leuk worden die toekomst!
een Memristor lijkt wel een beetje op een Resistive RAM. ( titaandioxide is trouwens een isolator volgens mij). Het fenomeen van resistive switching is al in 1967 in SiO2 gevonden. Het is door samsung een paar jaar geleden gebruikt om geheugen elementen te maken van 64kb met een pitch kleiner dan 100nm als ik me goed herhinner.
TiO2 is wel degelijk een halfgeleider, althans, wordt als halfgeleider regelmatig gebruikt. Er is natuurlijk geen harde grens, maar eerder een overgangsgebied, van halfgeleiders naar isolators.
Hoe wordt de waarde van zon memristor eigenlijk uitgelezen? Als je de waarde uitleest komt er toch ook een spanning op te staan? zou die weerstand daardoor niet veranderen? of snap ik het nu niet helemaal :P
Zou goed kunnen inderdaad. Zolang er voor gezorgd wordt dat de bits redelijk snel uitgelezen worden levert dit geen probleem op, maar dan moet je inderdaad niet teveel mogelijke posities hebben (Ik bedoel dat bijv. binair een waarde makkelijker te bepalen is dan decimaal, omdat bij binair een voltage-drop naar 4V (ipv 5) nog steeds geldt als een 1, terwijl het decimaal al een lagere waarde zou zijn (bijv 8.).)

Na de leesactie zou er weer een 'herstelspanning' over de memristor gezet moeten worden, om hem zijn oorspronkelijke waarde terug te geven. Maar dit is bij het huidige RAM ook al zo: na een leesactie is de oorspronkelijke waarde gewist (volgens mij zijn alle gelezen bits dan 0, doordat condensators zijn leeggelopen dankzij het lezen.). Na de leesactie moeten de waarden dan ook weer opnieuw geschreven worden.

Wellicht heeft het bij die memristor wat meer voeten in de aarde, maar het zal wel kunnen.

Overigens is zijn de bitwaarden in het huidige DRAM sowieso al vluchtig, en moet elke waarde eens in de zoveel tijd ververst worden. (Dit gebeurt door de waarden uit te lezen en terug te schrijven, en kost dus tijd.) Gelukkig zou dat met deze memristor niet meer nodig zijn (met SRAM is het al niet nodig trouwens, dat is niet vluchtig)

[Reactie gewijzigd door ChillinR op 1 mei 2008 22:55]

Zeer interessant , dit zullen we zeker wel terug zien in de computer industrie denk ik. Alleen of het energiebesparend is twijfel ik nog aan. Het uiteindelijke product is dat misschien wel maar wat voor een energie kost het om zo iets kleins te maken?
Hmmm.

De vraag "Wanneer krijg ik dat in mijn PC ? " ligt dan zů voor de hand , dat je je tegelijkertijd gaat afvragen, door de zo ontezettend variabele onthouden waarde "Wanneer krijg ik dat geÔmplanteerd ? ".
(als uitbreiding van het biologische neurale netwerk ;) )
nooit meer lege bios batterijen, wohoo
Dat zou inderdaad een goede eerste test en praktische toepassing zijn.
Dan moet je wel iedere keer de klok opnieuw instellen...
Of je logt in op een time server...

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True