La modalità di organizzazione dei dati varia notevolmente tra hard disk (HDD), unità a stato solido (SSD) e altre forme di memorizzazione. Gli hard disk contengono dischi magnetici (piatti) rotanti. I dati sono memorizzati su questi piatti sotto forma di segnali magnetici e una testina, per ciascun piatto, si sposta sopra la sua superficie per leggere e scrivere le informazioni.
I dischi sono suddivisi in tracce (anelli concentrici) e settori (fette all’interno delle tracce). Ogni settore ha una capacità tipica di 512 byte o 4 KB e più settori sono raggruppati in cluster. Se un file non occupa un intero cluster, lo spazio rimanente è considerato “frammentato”. Il file system gestisce l’allocazione dei file e tiene traccia di quali cluster sono utilizzati e quali invece sono liberi. Quando i file vengono modificati, eliminati o spostati, i dati possono diventare frammentati, costringendo la testina a muoversi più frequentemente tra settori non contigui, aumentando i tempi di accesso.
La deframmentazione delle unità mira a ridurre al minimo i salti della testina di lettura/scrittura tra diverse aree del disco, al fine di migliorare le prestazioni di accesso ai dati. I dati sono riorganizzati fisicamente in modo tale da risultare conservati in blocchi contigui.
Il gioco che mostra la logica della deframmentazione delle unità disco: Defrag The Game
Defrag The Game è un gioco fruibile da browser Web che trasforma il concetto di deframmentazione in un’attività ludica. Nel gioco, il concetto di deframmentazione è trasposto in un puzzle in cui il giocatore deve riordinare i dati (rappresentati da blocchi) su una griglia, in modo da minimizzare la frammentazione e massimizzare la continuità dei dati.
Quando si accede al gioco, è possibile scegliere tra tre livelli di difficoltà: Easy, Normal e Hard. Nel primo caso si ha a che fare con pochi blocchi di dati per poi salire sempre più.
Il gioco presenta una griglia di quadrati (blocchi) che rappresentano i dati sparsi su un hard disk frammentato. Il giocatore deve spostare i blocchi all’interno della griglia per riordinarli in modo da rendere i dati continui, proprio come avviene in una deframmentazione reale.
I blocchi possono essere spostati nelle quattro direzioni: su, giù, a sinistra e a destra. Sono inoltre automaticamente scelti nel loro ordine, partendo dall’angolo in alto a sinistra della griglia. Se un blocco non può essere spostato, ad esempio perché c’è un altro blocco che gli impedisce il movimento nella direzione desiderata, si introdurrà un certo grado di frammentazione. Pertanto, è necessario pianificare con attenzione ogni mossa, tenendo conto della posizione degli altri blocchi.
Obiettivi e monitoraggio
Sulla destra dello schermo sono esposti tre valori fondamentali:
- Number of Operations (Numero di operazioni): il numero di mosse effettuate dal giocatore.
- Elapsed Time (Tempo trascorso): il tempo totale impiegato dal giocatore fino a quel momento.
- Current Number of Fragments (Numero corrente di frammenti): indica quanti frammenti di dati sono ancora presenti e non sono riordinati.
L’obiettivo è riempire i quadrati della griglia dall’alto verso il basso, in modo da rendere i dati contigui e minimizzare i frammenti. Un punteggio più basso indica una performance migliore, ottenuta con meno mosse e in meno tempo.
Il gioco Defrag The Game, dunque, non solo sfida le capacità logiche e di pianificazione del giocatore, ma offre anche una rappresentazione ludica di un concetto tecnico importante nel mondo dell’informatica.
La deframmentazione e le unità SSD
Il processo di deframmentazione è ben noto a chi utilizza i PC da lungo tempo, poiché si trattava di una di quelle operazioni da eseguire regolarmente, al fine di migliorare le prestazioni di I/O di qualunque unità di memorizzazione.
Con l’avvento e la diffusione delle unità a stato solido (SSD), di deframmentazione se ne parla sempre meno. Gli SSD, infatti, funzionano in modo molto diverso rispetto ai tradizionali hard disk e la deframmentazione non solo è inutile, ma può anche essere dannosa per la loro longevità.
Le unità SSD memorizzano i dati su celle di memoria flash e non hanno parti mobili come i dischi rigidi tradizionali. Non esiste una testina di lettura/scrittura che deve spostarsi fisicamente da un punto all’altro per accedere ai dati. Di conseguenza, il tempo di accesso ai dati è lo stesso indipendentemente da dove si trovano i dati sull’unità.
Per distribuire uniformemente i dati su tutte le celle di memoria, evitando che alcune celle si usurino più rapidamente di altre, le unità a stato solido si servono di un’apposita tecnica chiamata wear leveling. La deframmentazione, che cerca di spostare i dati per renderli contigui, potrebbe interferire con il processo, riducendone l’efficacia.
Windows esegue ancora la deframmentazione?
Certamente sì, Windows effettua le deframmentazione degli hard disk in automatico. Ma non l’applica per le unità a stato solido.
Il sistema operativo Microsoft riconosce quali supporti di memorizzazione sono SSD e per questi disattiva automaticamente la deframmentazione. La deframmentazione degli SSD in Windows, infatti, non equivale a un “defrag” in senso stretto quanto piuttosto a un’ottimizzazione dell’unità.
Il noto comando TRIM consente al sistema operativo di informare l’SSD su quali blocchi di dati non sono più in uso e possono essere cancellati internamente, migliorando così le prestazioni di scrittura e la longevità dell’unità. Windows procede periodicamente con l’invio dei comandi TRIM all’unità SSD, che poi li gestirà sulla base della “ricetta” contenuta nel firmware di ciascun produttore hardware.
Anche controllando il registro degli eventi di Windows, come spiegato nell’articolo citato in precedenza, non troverete mai “deframmentazione” per le unità SSD ma semplicemente “ottimizzazione”. Ecco quindi che tutti i consigli che esortano a disattivare la deframmentazione per le unità SSD in Windows non solo sono inutili ma addirittura controproducenti.
Credit immagine in apertura: iStock.com – deepblue4you