Datalagring är namnet på ett antal komponenter i en dator. Huvudsyftet med dessa komponenter är att lagra data så att den kan användas av den centrala processorn (CPU). Processorn kan hämta, bearbeta och ändra uppgifterna; i praktiken finns det en hierarki av minnen där minne som ligger "närmare" CPU:n normalt är snabbare men också mindre i kapacitet. Data som lagras i de snabbare lagren är i många fall flyktiga och behöver elektrisk ström för att behålla innehållet, medan placerad längre bort i hierarkin ofta är icke-flyktig.

Varför en hierarki?

Syftet med en datorminneshierarki är att balansera tre grundläggande faktorer: hastighet, kapacitet och kostnad per lagrad enhet. Genom att ha flera nivåer av minne kan systemen hålla de mest frekvent använda uppgifterna i mycket snabb åtkomst (t.ex. register och cache) samtidigt som stora mängder data lagras billigare i långsammare medier (t.ex. hårddiskar eller band).

Primär lagring (nära CPU)

Primär lagring brukar avse de minnen som CPU:n kan adressiera direkt och snabbt. Exempel:

  • Register: Mycket små, extremt snabba minnesplatser inne i själva processorn (register är ofta de allra snabbaste).
  • Cache: Flera nivåer (vanligen L1, L2 och ibland L3) som ligger mellan CPU-kärnorna och huvudminnet. Cache är oftast av typen SRAM och ger mycket låg åtkomsttid.
  • Huvudminne (RAM): Större än cache men långsammare i jämförelse. RAM (vanligtvis DRAM) används för att lagra program och data som är aktiva. Det är i regel flyktigt och kräver ström för att bevara informationen.

Generellt gäller att åtkomsttider för primärt minne mäts i nanosekunder (ns), medan kapaciteten ökar ju "längre bort" man kommer i hierarkin.

Sekundär lagring

Sekundär lagring är större och mer långsamt men icke-flyktigt: data sparas även utan ström och medierna används för att lagra filer, operativsystem och program på lång sikt. Sekundär lagring är vanligtvis inte direkt tillgänglig för processorn; data måste kopieras till primär lagring för bearbetning. Vanliga exempel:

  • Hårddiskar (HDD) — mekaniska enheter med relativt stor kapacitet och lägre kostnad per GB.
  • Solid state-enheter (SSD) — flashbaserade enheter som erbjuder mycket snabbare åtkomst än mekaniska hårddiskar och lägre latens.
  • USB-minnen och andra flashbaserade lagringskort — portabla och icke-flyktiga.
  • Icke-flyktiga minnen med slumpmässig åtkomst — en bred beteckning som omfattar olika typer av icke-flyktig RAM/flash-teknik.

Åtkomsttider i sekundärlagring ligger vanligen i mikrosekunder (SSD) till millisekunder (HDD). För att öka prestanda används ofta cache, filer i minnet och tekniker som RAID, SSD-caching och hybridlösningar.

Tertiär lagring (arkivering och säkerhetskopiering)

Tertiär lagring används främst för arkivering, säkerhetskopiering och långtidslagring när åtkomstbehovet är mycket lågt. Det är ofta billigast per GB men har hög latens (det tar länge att nå en viss fil). Exempel:

  • Bandstationer — magnetband används fortfarande i stora anläggningar för arkiv och långsiktiga säkerhetskopior.
  • Optiska medier, till exempel cd-rom och DVD, som tidigare användes för distribution och arkivering.

Ofta kopieras data från tertiär lagring till sekundär lagring innan den används. Det är vanligt att programvara och stora distributionspaket historiskt har distribuerats via tertiära medier — t.ex. magnetband och cd-rom — men idag används i allt större utsträckning nätverksbaserade och molnbaserade distributionskanaler.

Praktiska aspekter och användningssätt

  • Operativsystem och hårdvara samarbetar för att flytta data mellan nivåerna: när CPU:n behöver data som finns på sekundärlagring kopieras den först till huvudminnet (och genom cache) för snabb åtkomst.
  • Kostnad per gigabyte ökar ju närmare CPU:n man kommer; register och cache är dyrare per bit än RAM, som i sin tur är dyrare än SSD och HDD.
  • Prestanda mäts både i latens (hur snabbt en åtkomst börjar) och genomströmning (hur mycket data som kan flyttas per tidsenhet).
  • Säkerhet och hållbarhet: tertiär lagring (t.ex. band) används ofta för offsite-säkerhetskopior och långtidsarkiv, medan sekundär lagring ofta speglas eller backas upp via RAID, moln eller externa kopior.

Moderna tillägg och trender

Nyare tekniker förändrar hierarkin något: exempelvis snabbare flashminnen (NVMe) krymper gapet mellan sekundär och primär lagring, och tekniker som persistenta minnen (NVDIMM) gör vissa delar av primär lagring icke-flyktig. Molnlagring och objektbaserade system flyttar även hanteringen av stora datamängder till nätverksbaserade tjänster, vilket påverkar hur organisationer planerar sin lagringsarkitektur.

Sammanfattning

En fungerande datorminneshierarki bygger på kompromisser mellan hastighet, kapacitet och kostnad. Register, cache och RAM utgör primär lagring nära CPU:n och erbjuder mycket låg latens men begränsad kapacitet. Sekundär lagring som hårddiskar och USB-minnen ger större utrymme och varaktighet, medan tertiär lagring som bandstationer och optiska medier används för arkiv och säkerhetskopiering. Genom att förstå dessa nivåer kan man designa system som är både snabba och kostnadseffektiva.