Sådan fungerer Apples nye sammensmeltede SSD og harddisk

Fusion Drive er Apples bud på en snedig hybrid, hvor fordelene fra flash-lager og traditionel harddisk bliver kombineret til ét drev. Nu bliver sløret løftet for teknikken bag, som er lånt fra datacentret.

Apple stationære computere vil fremover blive udstyret med et såkaldt Fusion Drive, som kombinerer billig lagerplads fra en harddisk med høj fart fra en SSD.

Men hvordan Fusion Drive helt præcis er skruet sammen, var der ikke mange detaljer om, da Apple præsenterede en stribe nye produkter i sidste uge. I stedet har den tyske Mac-udvikler Patrick Stein, som kalder sig Jollyjinx, undersøgt sagen og fremlagt resultaterne i et blogindlæg. Det skriver Ars Technica.

Han ville se, om han kunne bygge sit eget Fusion Drive og koblede derfor en SSD til sin Mac via den normale SATA-forbindelse, tilsluttede en ekstern harddisk via USB, og brugte så værktøjet Diskutil til at kombinere de to fysiske drev til ét logisk drev.

Derefter fyldte han data på drevet, og kunne se, at SSD’en blev brugt først. Det, der ikke var plads til her, havnede så på den eksterne harddisk. Og så begyndte testen. Han sørgede nemlig for kun at hente de data, som lå på den langsomme disk, og efter en times tid blev disse åbenbart populære data så automatisk flyttet til SSD’en, mens andre, ubrugte data blev forvist til harddisken.

Funktionen er altså bygget ind Mac OS X 10.8, hvor diskhåndteringen Core Storage automatisk tjekker, om der er forskel på hastigheden blandt flere drev, der er kombineret til ét logisk drev. Ved at overvåge brugen af disse data, kan de mest brugte data så få plads på det hurtigste drev.

Det er samme teknik, som bliver brugt i datacentre under navnet tiering. Her kan man arbejde med mange forskellige lag - tier 1, tier 2, og så videre - og løbende sørge for at have de mest brugte data klar på den hurtigste og dyreste lagerplads.

Patrick Stein manglede dog stadig svar på, hvor finkornet Apples Fusion Drive-løsning er. Måler den i filer, eller på blok-niveau? Det kan gøre en stor forskel, hvis man for eksempel har en stor fil på 50 gigabyte, hvor man i praksis kun bruger få af blokkene.

Men næste eksperiment viste, at Fusion Drive godt kan se forskel og kun flytte rundt på netop de blokke, der er efterspurgte. Og flytning af filerne mellem forskellige drev sker i øvrigt ikke med de samme, men når computeren ikke er belastet. Dermed kommer læse- og skrivearbejdet ikke i vejen for brugeren.

Har man en bærbar Macbook, med plads til to diske, burde man derfor kunne gøre som Patrick Stein og skabe sin eget sammensmeltede hybrid-storage-løsning. Om Apple vil tillade det, er dog endnu ukendt.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (20)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#4 Jesper Poulsen

Det, synes jeg, er nyt.

Men det er ikke effektivt. Der er en grund til, at alle seriøse storage-systemer arbejder udfra hardware. Hardware-RAID og ikke software-RAID.

Momentus XT lider ikke at de flaskehalse der eksisterer i software. Den lider ikke af ventetider i OS'et. Den arbejder på opgaven selvom OS'et er hårdt presset af andre opgaver. Så derfor forstår jeg slet ikke, at Apple overhovedet vil spilde udviklingstid og CPU-ressourcer på det her.

Apple, først med det sidste - igen.

  • 5
  • 9
#5 Jens Schumacher

Der findes adskillige løsninger som gør det samme enten med hardware eller software... OCZ har nogle ssd diske beregnet til at køre som cache i en normal pc og de bruger netop software til at styre hvad der skal være på old school disken og hvad der skal over på SSD'en.

Det eneste apple har gjort er at smide en flere år gammel løsning direkte ned i deres OS. (tror nu bestemt jeg har haft kigget på en eller anden obskur linux distro som kunne noget i den stil... out of the box that is..)

  • 4
  • 4
#9 Lars Hansen

Apple har jo netop ikke lavet en dims, som rummer det hele, men har indarbejdet det i styresystemet. Det, synes jeg, er nyt.

Det nye er at Apple har lavet det.

Selvfølgelig er der tekniske forskelle, men det at man cacher eller fordeler diskblokke der tilgås ofte imellem SSD og HD er ikke nyt.

Så skulle forskellen ligge i, at det enten ligger/lagres det ene, eller andet sted, fremfor at det er en cache.

Slutresultatet burde mere eller mindre være det samme, da det disk, der spares i så fald ville blive på HD, da det kun er de blokke der ofte tilgås der enten ville blive cachet eller lagret på Tier 1 (SSDen). Måske dog med den forskel, at i cache løsningen burde det kunne opbygges dynamisk uden det skal foregå, når computeren ikke er belastet ala 1: Læs fra HD & Gem i Cache, i stedet for, at der flyttes til SSD, når der ingen belastning er.

  • 4
  • 1
#10 Rune Larsen

Linux har haft bcache og flashcache (facebook) i et par år, som begge gør det samme. Dvs. man sætter en SSD til at writeback cache det roterende drev.

http://bcache.evilpiepirate.org/ https://github.com/facebook/flashcache

De er dog ikke med i mainline kernel endnu, men det arbejdes der på for bcache: https://lkml.org/lkml/2012/7/23/431

Endvidere er tiered storage også bygget ind i nogle filsystemer, ZFS som Baldur nævner https://blogs.oracle.com/brendan/entry/test og på vej til btrfs.

  • 2
  • 2
#11 Deleted User

er vel det eneste der er relevant, når vi taler om Apple produkter. Det er vel ret uinteressant at det ikke er et teknologisk tigerspring og at Linux-nørder, datacentre mv har haft den funktionalitet i årevis. Den almindelige forbruger køber en forbedret brugeroplevelse (hurtigere skrive/læse til/fra lager) kombineret med et stort lager, der ikke koster helt så meget som ren SSD. Og det VIRKER uden at fru Hansen skal forstå hvorfor, installere alt muligt SW

  • 10
  • 1
#14 Povl H. Pedersen

Som det er sagt før, så er SSD'en ikke en cache. Men man laver en volume der spænder SSD og mekanisk disk. Så man får summen af plads. Det er nyt i forhold til de fleste løsninger på desktop området. Readyboost og andet er en cache + en disk. Og det er også en skridt fremad at den gør det ved idle time, fremfor at optimere når disken bruges. Både at flytte til SSD, men også flytte fra SSD->HDD.

  • 7
  • 0
#15 Deleted User

Et ærligt ment spørgsmål, da jeg desværre ikke ved alt om dette her felt:

Kan man tilslutte en SSD og en HDD til en Windows-maskine (Vista, 7, 8), koble dem sammen til ét logisk drev, og så automatisk få tiering (ikke cache), uden at man skal gøre mere selv?

vh.

Jesper Version2 (som - bare for en god ordens skyld - hverken ejer en iPhone, en iPad eller bruger Mac)

  • 8
  • 0
#16 Nikolaj Brinch Jørgensen

Men det er ikke effektivt. Der er en grund til, at alle seriøse storage-systemer arbejder udfra hardware. Hardware-RAID og ikke software-RAID.

Jesper det er ikke korrekt. Flere og flere store og meget seriøse systemer arbejder netop med software løsning og ikke hardware løsning på f.eks. RAID. Btrfs, ZFS, Google FS osv. osv. osv. Software løsninger er meget mere fleksible og ikke meget mindre sårbare.

  • 4
  • 0
#17 Henrik Madsen

Kan man tilslutte en SSD og en HDD til en Windows-maskine (Vista, 7, 8), koble dem sammen til ét logisk drev, og så automatisk få tiering (ikke cache), uden at man skal gøre mere selv?

Det er vel netop det Intel Rapid Storage Technology gør.

Man smider en SSD og en alm disk i maskinen og under installation af driveren konfigurerer man det hele og så finder windows selv ud af at smide det som er mest brugt på SSD'en.

Du ser derimod kun eet stort drev som er en kombination af begge.

IRST har mig bekendt understøttet dette "længe"..

  • 0
  • 0
#18 Jimmy Krag

Problemet med IRST er hardwaren. Med understøttelse i OS'et får du de samme fordele uden at behøve et stykke hardware i din computer, der i princippet ikke er nødvendigt for at det er en computer. Og så er brugervenligheden altså bare vigtig for den almene forbruger.

  • 2
  • 0
Log ind eller Opret konto for at kommentere