Flashminne
Från Rilpedia
Minnestyper |
RAM-minnen |
Flyktig |
Icke-flyktig |
Icke RAM-minnen
|
Flashminne kallas de transistorbaserade minnen som i dag används i mobiltelefoner, digitalkameror, USB-minnen och annan vardagselektronik. Det är denna sorts minnen som exempelvis lagrar foton i en kamera eller telefon. I kameror är de ofta utbytbara för att ge möjlighet att köpa till större minnen för de som behöver lagra fler bilder. På senare år har mp3-spelarna gjort stor succé, och de spelare med en kapacitet på mindre än 20 gigabyte använder oftast flashminnen. Flashminnen finns i många olika storlekar, de är billiga att tillverka och har den egenskapen att de inte förlorar den lagrade informationen om de blir utan ström.
Tekniken bakom flashminnena uppfanns av forskare inom Intel Corporation år 1988. Majoriteten av de minnen som säljs i dag tillverkas av Intel, AMD, Toshiba och ST.
Det två vanligaste varianterna av flashminnen är NOR och NAND.
Innehåll |
NOR-minnet
NOR-minnet kännetecknas av att det går snabbt att läsa data från minnet (10–100 ms), men det tar lång tid att skriva data till minnet (1–10 ms). NOR-minnet läser normalt ett ord i taget.
NAND-minnet
NAND-minnet har utvecklats av Toshiba. Det är långsamt både vid läsning (10–15 µs) och vid skrivning (1–10 ms). Dock läser man en stor mängd data samtidigt till en mellanlagringsbuffert. Därifrån kan det sedan läsas ut snabbt.
Ett NAND-minne är inte tillförlitligt, så data måste normalt felrättas efter utläsning. Fördelen med NAND-flashminnen är att en NAND-minnescell är mindre än en NOR-minnescell och billigare att tillverka. NAND-flashminne används därför enbart för att lagra data. Om man vill lagra program i NAND-flashminne, brukar man kopiera programmet till en snabbare minnesarea innan det anropas.
Dataflash
Ett mellanting mellan NOR-flashminnet och NAND-flashminnet är Atmels Dataflash. Det är ett NOR-flashminne med ett enklare långsammare gränssnitt än det vanliga parallellgränssnittet. Det används ofta för att lagra data i mindre datorer för styr- och reglerfunktioner, så kallade microcontrollers. På grund av den begränsade hastigheten så är inte heller detta minne lämpligt för programlagring utan föregående kopiering till en snabbare minneskrets.
Funktion
En flashminnescell består av en enda transistor vars styrsignal förändras vid programmeringen. En ickeprogrammerad minnescell har värdet "1" och en programmerad minnescell har värdet "0".
Ett flashminne är indelat i block som normalt är ganska stora. En typisk blockstorlek är 64 kilobyte.
När man vill förändra en bit från en etta till en nolla kan man göra det genom att programmera just den biten. Om man vill göra tvärt emot, dvs förändra en nolla till en etta, är det svårare. Man måste då sudda ut hela blocket.
Ju mindre blocket är, desto enklare är det för användaren. Men mindre block är dyrare att tillverka, varför blocken tenderar att bli stora i NOR-flashen. Typiskt sett är blocken mindre i NAND-flash samt i Dataflash.
Ett problem med användningen av flashminnen är att det inte är möjligt att läsa från flashminnet när man väl har börjat programmera ett block. Därför är en del moderna flashminnen uppdelade i flera plan som är isolerade från varandra. Då är det möjligt att läsa från ett minnesplan under tiden man programmerar ett annat.
När elektronikkonstruktören skall använda ett flashminne så är det två egenskaper som är viktiga:
- hur många gånger går det att programmera flashminnet?
- hur länge behåller minnet laddningen?
Moderna minnen går att programmera kanske 100 000 gånger innan fel börjar uppträda. Man beräknar att minnet håller 10–20 år innan enstaka exemplar börjar få problem.
För att öka minnets lagringsförmåga så har det introducerats flernivåflashminnen. Varje transistor kan då lagra två eller fler bitar. I det ursprungliga flashminnet var styrsignalen till transistorn antingen oprogrammerad ("1") eller programmerad ("0"). Med flernivåminnescellen programmerar man styrsignalen till nivåer ’’mellan’’ "hög" och "låg". För att sedan vid läsningen avgöra värdet, jämför man nivån med egna fördefinerade gränser.
Användning
Flashminnen förekommer i avancerade systemchip med inbyggda processorer. Den första kretsen av det slaget var Atmels mikrostyrkrets med en processorkärna (8051) från Intel.
I stort sett alla flashbaserade mikrostyrkretsar har en liknande teknologi som heter EEPROM. Den använder två transistorer i stället för en, och minnescellen är därför större. Fördelen med EEPROM är att man inte behöver stora block. I små EEPROM-kretsar kan man programmera och sudda 8 bitar i taget. (Att jämföra med det typiska flashminnets 524 288 bitar).
De flesta flashminneskorten för digitalkameror och mobiletelefoner är i dag baserade på NAND-teknik, medan minneskortens programkod använder NOR-flashteknik.
Gränssnittet på tidiga flashminneskortet av Smartmediatyp var integrerat på minneskretsen. I senare flashminneskort av modellerna Multimediacard (MMC), Secure Digital (SD) samt Memorystick, finns det en mikrostyrkrets som hanterar signalerna i kontakten. Styrkretsen hanterar också felkorrigering och annat i NAND-flashminnet.
Begränsningar
Flashminnen har på grund av sin konstruktion en inbyggd begränsning i antalet skrivcykler. Det går med andra ord inte att skriva ett oändligt antal gånger till denna typ av minnen utan att det förstörs.
Nuvarande utveckling
Flashminnet har i dag i stort sett helt ersatt den tidigare EPROM-tekniken som kunde programmeras elektriskt, men måste suddas via bestrålning av ultraviolett ljus. Framtida möjliga konkurrenter till flashminnen kan vara plastminnen samt ferro-RAM.
Ferro-RAM kan ses som en miniatyrisering av kärnminnet som fanns i datorns ungdom. Fördelen med ferrominnet är att det kan skrivas lika snabbt som det kan läsas. Det har varit under utveckling under ett stort antal år men har hittills inte använts i större sammanhang.
Plastminnet som utvecklas bland annat på Linköpings tekniska högskola har inte kommit så långt än.