BadRAM gebruikt kapot geheugen
Groen: Gemak:
Het is mogelijk om een computer probleemloos te draaien op kapot geheugen, dankzij een Nederlandse vinding: de BadRAM patch voor Linux. Een patch met toekomst.
Wat?
Computers gebruiken steeds meer geheugen, en daartoe moet steeds meer opslagcapaciteit worden opgeslagen op dezelfde chipruimte. Doordat de chiptechnologie dus het uiterste biedt wat ze te bieden heeft, is er vrij veel uitval van chips. Met een computer onder BadRAM hoeft dat niet langer een probleem te zijn.
BadRAM werkt door geheugen vooraf te scannen op defecten, en de posities te onthouden waar problemen worden gevonden. Het geheugen werkt in blokken, en de blokken met de foute posities erin worden door BadRAM gewoon achtergehouden uit de "uitleenlijst" van geheugenblokken zoals die door het operating systeem aan programma's worden "uitgeleend".
Door BadRAM te gebruiken maak je het mogelijk je computer te gebruiken met chips die anders als afval zouden zijn weggegooid. Zulk geheugen kan tegen gereduceerde kosten worden verkocht. Wat ook voorkomt is dat een laptop met vastgesoldeerde geheugenchips een geheugendefect vertoont. Het is dan niet meer voor alles bruikbaar, tenzij je BadRAM toepast. BadRAM verlengt dus de potentiele levensduur van hardware, en draagt daarmee bij aan besparingen van zowel geld als milieu.
Waarom?
Chipfabrikatie is een milieu-onvriendelijk proces. Allereerst zijn er zeer zuivere materialen voor nodig, en de productie daarvan vreet een hoop energie. Daarna worden legio chemische processen gedraaid, waarvan de afgevoerde stoffen ook als afval moeten worden behandeld omdat ze niet langer de zuiverheid hebben die voor de productieprocessen noodzakelijk is.
Zonder elektronica leven is vrijwel onmogelijk geworden, maar het is wel de moeite waard om hetgeen geproduceerd wordt zo nuttig mogelijk in te zetten. BadRAM zet erop in om dat te doen voor geheugens.
Door de enorme complexiteit van chips, de gevoeligheid van het proces en de vele lagen die een moderne chip bevat is de uitval nogal hoog. Deze uitval wordt veroorzaakt doordat ergens op de chip een foutje zit, en doordat de functionaliteit op zo'n plek niet vervangbaar is. De fouten in geheugens zijn echter in de praktijk goed te tolereren, doordat het toch gaat om functionaliteit die van een grote hoop met gelijkvormige cellen komt. Het enige wat daarvoor nodig is, is een voldoende slim operating systeem. Of, zoals bij Linux, een operating systeem dat open genoeg is om aangepast te worden.
In de toekomst zullen harde schijven uit computers verdwijnen en worden vervangen door geheugens. Vermoedelijk zal er eerst een generatie komen die de schijffunctie vervangt door een op flashgeheugen gebaseerde technologie, de zogenaamde Solid State Devices die een harde schijf immiteren. In een later stadium zal zowel het normale RAM-geheugen als de harde schijf worden vervangen door een groot blok geheugen dat de inhoud ook vasthoudt als de spanning wegvalt. Met dat toekomstbeeld lijkt het bijzonder nuttig om ook minder goed gelukte geheugens te kunnen gebruiken.
Hoe?
Een geheugen raakt niet zomaar beschadigd. Het kan zijn dat je een defecte module hebt gekocht, of dat je door statische elektriciteit een paar cellen in je geheugenstick hebt beschadigd. In zulke gevallen biedt BadRAM uitkomst. En doordat de defecte cellen zich niet verplaatsen of verspreiden kun je met een eenmalige aanpassing volstaan.
Het eerste wat je doet is je geheugen scannen op defecten. Daarvoor maak je gebruik van MemTest86, een scanner die vrijwel alle defecten vindt die in de praktijk kunnen voorkomen. Stel hem in om BadRAM-patronen te geven, zodat je gewoon weet wat je aan de kernel moet meegeven. Dit formaat is een zo compact mogelijke representatie van de fouten die in de praktijk in geheugens voorkomen.
Als je geluk hebt dan wordt BadRAM op je computer gewoon ondersteund. Dit is niet standaard, zeker niet op Windows (dat niet zo op technische hoogstandjes is gericht) maar ook de meeste distributies van Linux hebben het nog niet standaard aan boord. Dat betekent dat je vooralsnog een kernel zult moeten kunnen bouwen. Zoek eventueel iemand die je hiermee kan helpen, over het algemeen zijn technici wel geinteresseerd in dit soort wilde toepassingen.
Je downloadt de patch voor je Linux-versie en past die toe. Daarna bouw je de kernel vanaf nul en installeert hem op het systeem in kwestie. Bij de boot geef je een extra argument mee, iets in de vorm
badram=0x0cf14200,0xffffe300
Als dit werkt, dan vermeld je het in de opstartgegevens van je computer, bijvoorbeeld in /boot/grub/menu.lst bij de andere commandline-opties voor de kernel.
Waar?
BadRAM is te vinden op http://rick.vanrein.org/linux/badram/
MemTest86 is onderdeel van de meeste installaties en is bovendien te vinden op http://memtest86.com/ -- daar kun je kiezen tussen gratis doe-het-zelf downloads, of het bestellen van een officiele CD-ROM en zonodig support.