Den vanskelige veien

Du vet sikkert at solid state drives (SSD) skiller seg fra harddiskstasjoner (HDD) i hvordan de lagrer informasjon, og du har kanskje hørt at noe som kalles TRIM, kan opprettholde ytelsen.

I denne veiledningen vil jeg ikke bare vise deg hvordan du kan aktivere TRIM-støtte for SSDene dine, men også forstå hva begrepet betyr og hvordan det passer inn i funksjonaliteten til solid state storage.

screen~~POS=TRUNC


Slik sjekker og aktiverer du TRIM på en Mac SSD

SSDer vs HDDer

Du har sikkert hørt at SSD har en levetid, og at du kan forlenge den levetiden ved å aktivere noe som kalles TRIM. Dette er stort sett sant, og jeg vil vise deg hvordan du skal sjekke og aktivere TRIM-støtte på stasjonene dine, men først er det viktig å ta et skritt tilbake og forstå hva vi snakker om.

En HDD koder data på et magnetisk belegg på en spinnplate inne i stasjonen.

En SSD, derimot, er bare et nettverk av flashminneceller montert i en stasjonskasse, noe som betyr at det ikke har noen bevegelige deler. Det er som å ha en rekke svært høyytende USB-nøkler som er kladdet inn i en boks.

I motsetning til deres diskbaserte forgjengere, er SSDer mer som en serie med svært høyytende USB-taster som er kledd sammen.

Fordelene med SSD er klare: de er eksponentielt raskere, de er helt stille, de er mer holdbare, og de er immune fra problemer som fragmentering.

Som med hvilken som helst ny teknologi, var de ganske sjeldne til nylig på grunn av deres høye priser. Men nå som disse prisene faller, blir SSDer standard på de fleste nye datamaskiner, og enda flere erstatter sine gamle harddisker med moderne solid state alternativer.

Utløpsdata

Dette fører meg til å takle elefanten i rommet, som er lang levetid. Fordi flashminneceller kun kan skrives til et bestemt antall ganger, har solid state-stasjoner teknisk begrenset levetid, mer enn deres forgjengere på diskstasjonen.

Dette blir ofte blåst ut av forhold, men hvis du føler deg lurt om dette, bør du vurdere følgende: Selv med tung bruk, vil det ta deg mer enn ti år å slite ut din gjennomsnittlige solid state-stasjon. Du er langt mer sannsynlig å erstatte datamaskinen først.

Likevel er det måter å maksimere den levetiden, og det er der TRIM kommer inn.

Sidenote: Selv om det ofte er skrevet i alle caps, er TRIM egentlig ikke en akronym for noe! Det er skrevet på den måten fordi kommandoer som overføres via ATA (Advanced Technology Attachment) -grensesnittet for tilkobling av bussadaptere til lagringsenheter (som SATA-Serial ATA), refererer til kommandoene i alle kapsler.

For å forstå hva TRIM egentlig gjør, må du først forstå litt om hvordan solid state drives faktisk lagrer informasjon.

Sider og blokker

Enhver fil på datamaskinen din er bare en samling av data, og en solid state drive skriver dataene på en serie sider, som hver er satt sammen i flere blokker. Blokker og sider er grunnleggende struktur for datalagring på SSD-er.


Denne forenklede visningen viser hvordan data er strukturert på en SSD.

Hver fil på datamaskinen har et antall av disse blokkene forbeholdt for bruk. Problemet er at SSDer bare kan skrive nye data til tomme regioner - de kan ikke overskrive data direkte som harddiskstasjoner kan.

Videre er SSDer ikke i stand til å slette enkelte sider med data. De kan skrive ny informasjon på sideneivå, men gamle data kan bare slettes på blokknivå.

Det fungerer mye som et Etch-a-Sketch. Du kan doodle hvor du vil ha på Etch-A-Sketch når den er tom, og fortsett å dø til skjermen er full. Men på det tidspunktet, hvis du vil tegne noe nytt, må du riste Etch-a-Sketch og slette hele skjermen. Etch-a-Sketch er som en blokk med data på din SSD.

Dette betyr at når bare noen av datasidene i en blokk blir utdaterte, kan de ikke selektivt slettes. I stedet beveger SSD alle de gode sidene inn i en helt ny blokk, og den gamle blokken slettes, noe som gjør rom for fremtidige data.

Tar ut søpla

Kjører en datamaskin betyr mye skriving og omskrivning av data, slik at SSDer må hele tiden bevege seg blokker rundt for å konsolidere de gyldige dataene, og slette ugyldige blokker for å holde mye ledig plass tilgjengelig for når det trengs. Denne prosessen er kjent som Garbage Collection.

Når du sletter en fil på datamaskinen, fjerner operativsystemet ikke noen data, den fjerner bare den virtuelle lenken mellom den tidligere filen og hvor dataene ble lagret på stasjonen. Slik fungerer en grunnleggende sletting og opprettelse av filer på en SSD.

Trinn 1


Dette er hva fire filer på datamaskinen ser ut til deg og din SSD.

Denne hypotetiske situasjonen starter med fire filer på harddisken din.

Så vidt du er bekymret, kan de være noen form for fil i det hele tatt, av hvilken som helst størrelse. Fra SSD-perspektivet er hver fil bare en serie datasider som er skrevet sammen i en enkelt datablokk. I de fleste ekte tilfeller er filene store nok til at hver tar opp flere blokker, men dette er en forenklet visning.

De rosa cellene nederst i databasen er tomme, noe som betyr at nye data kan skrives til disse sidene. Slett nå fil C.

Fase 2


Fil C er slettet, men SSD har ingen anelse om at dataene nå er ubrukelige.

På Mac-maskinen er File C nå borte, jeg kan ikke se det lenger. Dataene på SSD forblir imidlertid helt uendret.

Fil C-data er fortsatt skrevet til de samme sidene, og det eneste som er annerledes er at operativsystemets referanse for hvor å finne File Cs data er slettet. Dataene i seg selv er nå ubrukelige, men SSD forblir uvitende og holder den der.

På hvert trinn i denne prosessen må du huske at stasjonen utfører Garbage Collection periodisk. Hver gang en garbage Collection-syklus kjører, tar SSD hele databasen og skriver den på et annet område av stasjonen for å holde gyldig data konsolidert og ledig plass tilgjengelig i store biter.

Blokken kopieres med andre ord akkurat som det er og limes til en annen del av stasjonen. Deretter slettes den opprinnelige plasseringen, klar for nye data.

Fordi stasjonen har ingen anelse om at File Cs data nå er ugyldig, kopierer den også alle de ubrukelige sidene. Nå skal jeg lage en ny fil.

Fase 3


Skrivefil X markerer de gamle fil C-sidene for søppelsamling.

På dette tidspunktet har jeg opprettet File X.

Nå som File X har tatt plass til File C i operativsystemet, vet SSD at File Cs data er blitt ugyldige og det markerer disse sidene for Garbage Collection.

I mellomtiden har to av de frie sidene i blokken blitt brukt til å skrive dataene til File X. Når neste søppelsamlingssyklus kjører, blir dataene kopiert til en ny blokk som vanlig, men denne gangen er sidene hvor File C brukes å leve vil ikke bli flyttet, og dataene for File X vil ta sin plass.

De faktiske dataene for File C vil til slutt bli slettet som den opprinnelige blokkstedet blir tørket rent.


Til slutt er de nye dataene godt konsolidert.

Introduserer TRIM

Som du kan se, er manglende evne til SSD å overskrive alt, noe som gjør det vanskeligere for dem å administrere data.

Uten å vite når gamle fildata blir ugyldige, bruker SSDs mye skrivecykler som gir færre data rundt. Dette forårsaker ikke bare normal filoperasjon å avta, det betyr også mer lesing og skriving til blitscellene, og reduserer levetiden sin unødvendig.

Tips: Du har kanskje lagt merke til at selv om du kjøper SSDer med en viss kapasitet, har du mye mindre plass faktisk tilgjengelig for bruk. En typisk 256 GB SSD vil bare ha omtrent 240 GB tilgjengelig for bruk, for eksempel.

Årsaken er at SSD-produsenter legger til side en prosentandel av stasjonens plass for fastvaren til å bruke som buffer for søppelinnsamling og andre vedlikeholdsoppgaver. Dette kalles Over-Provisioning, og det er nødvendig for å være sikker på at stasjonens ytelse ikke nedbrytes betydelig ettersom den fyller opp.

Som regel, jo mer ledig plass er det på en SSD, desto bedre vil det utføre.

Som standard har SSDer ingen måte å vite når filer blir ugyldige, og det er her TRIM kommer til redning.

TRIM er en kommando som operativsystemet sender til SSD, og ​​forklarer hvilke data som er blitt ugyldige. Ved hjelp av denne informasjonen kan SSD utføre sin søppelsamling mer effektivt, og redusere belastningen på maskinvaren.

Ved å bruke mitt eksempel fra før, er dette en illustrasjon av det samme filbehandlingsscenariet, bortsett fra med TRIM aktivert denne gangen.

Trinn 1


Så langt så bra.

Alt begynner nøyaktig samme som før, med fire generiske filer skrives inn på sider i en datablokk på SSD.

Fase 2


Med TRIM aktivert, forteller operativsystemet SSD at File Cs data er ugyldig så snart filen er slettet.

Denne gangen, så snart jeg sletter File C, forteller operativsystemet SSD at disse datasidene er blitt ugyldige, så de er merket for Garbage Collection umiddelbart.

Fase 3


I stedet for å revidere de gamle File C-dataene unødvendig, slettes det i tide for at File X skal kunne plasseres.

Som et resultat, når jeg skriver File X til stasjonen, har Garbage Collection allerede ryddet ut sporene hvor File C pleide å være, og jeg har lagret SSD noen unødvendige skriving og rewriting.

Gjør det for deg

Hvis det virker som en relativt liten forbedring, husk bare at mitt eksempel er en forenkling av den fullstendige prosessen, og at SSD-er må håndtere millioner av datablokker som blander seg rundt - det legges opp raskt!

Nå som du har en følelse av hva TRIM gjør, og hvordan det kan bidra til å forlenge solid state-stasjonens levetid, må du sørge for at den faktisk fungerer på maskinen din.

Hvis du har kjøpt en Mac med en SSD installert fra fabrikken, er TRIM aktivert som standard, og du er ikke satt til å bekymre deg for.

Hvis du derimot senere har lagt til en tredjeparts SSD til systemet ditt, vil TRIM bli deaktivert som standard. Hvis du ikke er sikker, er det beste å gjøre med å dobbeltsjekke

Trinn 1: Kontroller TRIM-status

For å se om SSD har TRIM aktivert, må du få tilgang til et verktøy som heter Systeminformasjon (også kjent som System Profiler på eldre versjoner av OS X).

Den enkleste måten å få tilgang til den, er å klikke på eple menyen mens du holder nede Alternativ nøkkel på tastaturet.

Finn SATA-delen i menyen, og finn harddisken du vil aktivere TRIM på. I beskrivelsen ser du en linje som forteller deg om TRIM-støtte er tilstede eller ikke.


I mitt tilfelle står det JA fordi jeg allerede har aktivert TRIM.

Trinn 2: TRIM Enabler Utility

Hvis din sier nei, så er det på tide å åpne Safari og laste ned et verktøy som gjør at TRIM enkelt kan slås på og av. Du finner den på

http://www.groths.org/software/trimenabler/

Den gratis versjonen er alt du trenger, så last ned og installer det som du ville noen annen app.


Last ned og installer TRIM Enabler for enkel aktivering.

Trinn 3: Slå på

Når du har installert det, åpner du det og bare vri bryteren fra Av til . Når du har gjort det, må du starte datamaskinen på nytt, hvorpå TRIM blir aktivert på stasjonen din!


Slå på den, start på nytt, og du er ferdig!

For å sikre at det fungerte, åpne systemrapporten igjen og kontroller at TRIM Support-linjen nå leser Ja.

Den vanskelige veien

Hvis du lurer på det er mulig å gjøre dette for hånd ved hjelp av Terminal, men kommandoene er litt skremmende. I hovedsak det du gjør i løpet av denne prosessen, er å lappe en systemfil med lavt nivå, slik at TRIM kan fungere med SSD.

Trinn 1: Sikkerhetsnett

Bare for å være på den sikre siden, sikkerhetskopiere filen vi vil endre. Kopier følgende til et nytt Terminal-vindu og trykk Komme tilbake (Enter-tasten).

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage .opprinnelig

Du blir bedt om å angi administratorpassordet ditt, så skriv det inn og trykk Komme tilbake en gang til. Merk at Terminal gir deg ingen indikasjon på at det registrerer tastetrykkene dine mens du skriver inn passordet ditt, men det er lytter så ikke bekymre deg.

Trinn 2: Patch filen

Med filen beskyttet trygt i tilfelle av uhell, er det på tide å bruke følgende kommando for å endre kjerneforlengelsen på en måte som aktiverer TRIM.

sudo perl -pi-e 's (x x x x x 6 x 6 x 1 x 1 x 1) [^ \ x00] 9 (\ x00  1,20 \ x54) | $ 1 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 $ 2 | sg '/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/ Innhold / MacOS / IOAHCIBlockStorage
Viktig: Vær oppmerksom på at denne koden er beregnet for bruk på OS X Mountain Lion 10.8.5 eller nyere eller OS X Mavericks.

Trinn 3: Oppdater kjerneforlengelsesbufferen

For å gjøre endringene i kraft, bør du oppdatere kjerneutvidelsesbufferen manuelt.

sudo touch / System / Library / Extensions /

Når det er gjort, avslutter du Terminal og starter Macen på nytt. Når det starter på nytt, bør du være helt klar.

Konklusjon

Hvis du planlegger å legge til flere SSD-er i systemet ditt, bør du holde TRIM Enabler-verktøyet installert slik at du enkelt kan aktivere TRIM på dem. Ellers kan du gjerne slette det som det ikke er nødvendig for TRIM å være aktiv.

I dag er TRIM bare en av flere metoder som produsentene bruker for å holde SSD-er kjørt med høy effektivitet. Det kan ikke være nødvendig å fortsette, men det gjør ikke vondt, og jo mer optimalisert dataene er, desto bedre SSD vil utføre, så det er nesten alltid verdt å holde på.

Nå vet du ikke bare hvordan solid state drives, men du forstår også hvordan TRIM hjelper dem til å kjøre på topp ytelse lenger!

referanser

  • Terminal instruksjoner hentet fra DigitalDJ, skrevet av Grant Pannell