Visualizzazione post con etichetta defrag. Mostra tutti i post
Visualizzazione post con etichetta defrag. Mostra tutti i post

venerdì 6 febbraio 2015

Dischi SSD: Manutenzione e Ottimizzazione

Negli ultimi anni, grazie anche alla riduzione dei prezzi e all'aumento dell'affidabilità, stiamo assistendo alla diffusione dei dischi a stato solido (SSD - Solid State Disk). Un disco a stato solido opera in maniera completamente diversa da un tradizionale disco magnetico: i dati vengono memorizzati all'interno di celle di memoria che possono contenere un numero finito di dati e la loro lettura può avvenire anche in contemporanea. La scrittura su un disco SSD avviene per blocchi, ad es. un blocco di 256KB viene in ogni caso scritto per intero. Non è possibile modificare un singolo bit all'interno del blocco, in questo caso il blocco viene cancellato e riscritto per intero con il bit modificato. Il fatto di dover riscrivere l'intero blocco influisce sulle prestazioni del sistema, inoltre l'operazione di scrittura su dispositivi SSD è un'operazione usurante: la cella di memoria si "consuma" ad ogni scrittura e l'operazione può essere eseguita un numero finito di volte. Per celle di memoria di tipo MLC (Multi Level Cell) i cicli di cancellazione/scrittura sono nell'ordine di 5000 mentre per le più veloci celle SLC (Single Level Cell) si può arrivare a 100.000.
Se da un lato i numeri in gioco sono molto grandi dall'altro ci sono alcuni processi del sistema operativo, pensati per i dischi magnetici, che incrementano in maniera significativa le scritture su disco. In questo articolo mostrerò come disabilitare i processi dannosi per i dispositivi SSD e come ottimizzarne le prestazioni.

Le ultime generazioni di SSD utilizzano celle di memoria TLC (Triple Level Cell) che consentono la memorizzazione di 3 bit in ciascuna cella. Le celle TLC hanno capacità di molto superiori rispetto alle celle di tipo SLC e MLC ma hanno un numero di cicli di scrittura molto più basso (circa 1000 cicli di cancellazione/scrittura). Tutti gli SSD utilizzano tecniche di wear leaving per ridurre il numero di scritture sulle celle NAND di memoria. Per fare questo utilizzano algoritmi complessi che tengono conto della cache del dispositivo e dell'utilizzo dei file.

Le operazioni consigliate per aumentare la vita di un SSD sono:
  • Verificare lo stato di salute del disco
  • Aggiornare il firmware 
  • Disabilitare l'indicizzazione
  • Eliminare il PAGEFILE
  • Disabilitare il DEFRAG
  • Disabilitare l'IBERNAZIONE
  • Disabilitare il il Prefetch e Superfetch
  • Disabilitare la cache di scrittura disco
  • Disabilitare il Ripristino di sistema
  • Abilitare il comando Trim 
  • Disabilitare lo spegnimento del disco
  • Disabilitare la protezione da Cadute
Vediamo in dettaglio le operazioni da eseguire.

Verificare lo stato di salute di un disco SSD
Per verificare lo stato di salute di un hard disk possiamo interrogare il sistema di monitoraggio S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology) incluso all'interno del dispositivo. I parametri S.M.A.R.T sono dei contatori che tengono traccia di tutti gli eventi critici che si verificano sul disco permettendo, tramite la loro analisi, di rilevare lo stato di salute del dispositivo. Per interrogare il sistema S.M.A.R.T. è possibile utilizzare diversi tool di terze parti. Uno dei tool più diffusi e semplici da usare è CrystalDiskInfo. http://crystalmark.info/software/CrystalDiskInfo/index-e.html

Aggiornare il firmware
Negli SSD il firmware ha un notevole rilevanza sulle prestazioni e sulla durata del dispositivo, di conseguenza gli aggiornamenti sono molto importanti e spesso molto utili.

Disabilitare l'indicizzazione
L'indicizzazione su sistemi Windows consente di velocizzare le ricerche. Questa caratteristica è utile sui dischi magnetici tradizionali mentre sui dischi SSD, già molto veloci, è del tutto inutile e provoca frequenti scritture di piccole porzioni del disco che, a lungo termine, risultano deleterie.

Possiamo disabilitare l'indicizzazione del singolo disco/partizione tramite le proprietà del volume: da esplora risorse clicchiamo con il tasto destro del mouse sul disco/partizione di nostro interesse, selezioniamo dal menu contestuale la voce Proprietà e nella finestra che appare togliamo la spunta all'opzione Consenti l'indicizzazione del contenuto e delle proprietà dei file di questa unità
Indicizzazione Unità
FIG 1 - Indicizzazione Unità

Se invece vogliamo disabilitare l'indicizzazione per tutti i dischi, possiamo disabilitare l'intero servizio tramite il configuratore di servizi:
  • Premere la combinazione di tasti WIN + R
  • Digitare services.msc seguito da Invio
  • Cliccare 2 volte sul servizio Windows Search. Stoppare il servizio cliccando su Interrompi e nella voce Tipo di avvio: selezionare Disabilitato, quindi confermare cliccando su Applica
Servizio Windows Search (WSearch)
FIG 2 - Servizio Windows Search (WSearch)



Eliminare il PAGEFILE
Il pagefile non è altro che un supporto aggiuntivo alla memoria di sistema: i dati presenti in RAM che non vengono frequentemente utilizzati vengono spostati all'interno del pagefile presente sul disco. La continua scrittura dei dati all'interno del pagefile rappresenta un altro motivo di stress, inutile, per i dischi SSD. Per eliminare il pagefile:
  • Accedere alla proprietà del computer (tasto destro su Computer e selezionare Proprietà dal menu contestuale)
  • Cliccare su Impostazioni di sistema avanzate
Impostazioni di sistema avanzate
FIG 3 - Impostazioni di sistema avanzate

  • Nella sezione Prestazioni cliccare sul pulsante Impostazioni
Proprietà del sistema, Prestazioni, Impostazioni
FIG 4 - Proprietà del sistema, Prestazioni, Impostazioni

  • Posizionarsi sulla scheda Avanzate e cliccare su Cambia...
Opzioni prestazioni
FIG 5 - Opzioni prestazioni
  • Togliere la spunta alla voce Gestisci automaticamente dimensioni file di paging per tutte le unità e selezionare Nessun file di paging
Memoria virtuale
FIG 6 - Memoria virtuale
La modifica avrà effetto dopo il riavvio del sistema.


Disabilitare il DEFRAG
La frammentazione dei dati rappresenta un problema per i dischi magnetici ma non per quelli SSD. La frammentazione dei dati in un SSD rimane inevitabile ma non influisce sulle prestazioni. Il defrag su un SSD è del tutto inutile e, anzi, risulta dannoso in quanto oltre a poter portare ad un peggioramento delle prestazioni, provoca un elevata usura delle celle di memoria portando alla morte prematura del prodotto.
Alcuni sistemi operativi eseguono automaticamente, a intervalli regolari, la deframmentazione dei dischi. In ambiente Windows è possibile disabilitare del tutto la deframmentazione automatica o solo per alcuni dischi.

Disabilitare il defrag in Windows 7
  • avviare il tool di deframmentazione dischi dal menu Start ->Tutti i programmi ->Accessori -> Utilità di sistema -> Utilità di deframmentazione dischi
Utilità di deframmentazione dischi
FIG 7 - Utilità di deframmentazione dischi
  • cliccare su Configura pianificazione... quindi su Seleziona dischi... 
Modifica Pianificazione
FIG 8 - Modifica pianificazione
  • Togliamo la spunta ai dischi su cui non vogliamo che venga eseguita la deframmentazione e confermiamo cliccando su OK.
Seleziona dischi
FIG 9 - Seleziona dischi
Disabilitare il defrag in Windows 8
  • Aprire la charm bar (WIN + C) e clicchiamo su Ricerca. All'interno della casella di ricerca scriviamo deframmenta e ottimizza unità, quindi clicchiamo sull'icona sottostante che rappresenta il tool di nostro interesse
Cerca
FIG 10 - Cerca
  • All'interno della finestra Ottimizza unità clicchiamo sul pulsante Modifica impostazioni
Ottimizza unità
FIG 11 - Ottimizza unità
  • Nella nuova finestra di dialogo clicchiamo Scegli per selezionare/deselezionare i dischi oggetto di deframmentazione
Scegli unità
FIG 12 - Scegli unità

Disabilitare l'IBERNAZIONE
L'ibernazione consente di salvare il contenuto completo della RAM su disco. Alla luce di quanto descritto precedentemente è facile capire il perché questa funzionalità sia da evitare su sistemi che dispongono di dischi a stato solido. All'ibernazione è da preferire l'utilizzo della sospensione che salva il lavoro all'interno della memoria RAM. Per i sistemi dotati di SSD è consigliabile disabilitare la funzione diibernazione. Sui sistemi Windows basta digitare dal prompt dei comandi il seguente comando:
powercfg -h off


Disabilitare il il Prefetch e Superfetch
Windows utilizza alcune tecniche di caching per migliorare la reattività del sistema. Tali tecniche vennero introdotte per la prima volta con Windows XP e vengono tuttora utilizzate, e attivate di default, dai sistemi Windows. Due tecniche di caching utilizzate da Windows sono Prefetch e Superfetch.
Prefetch consiste nel monitorare in tempo reale i file più utilizzati nell'avvio del sistema operativo e delle applicazioni. Tali file vengono salvati e organizzati in un cartella cache per essere sempre disponibili.
Superfetch consiste nel caching, in un'area del disco dedicata, dei programmi utilizzati frequentemente in modo da velocizzare il loro caricamento in RAM.
Tali tecniche, data l'elevata velocità degli SSD, sono del tutto inutili con questo tipo di dispositivi e accorciano solo la loro vita con le continue letture/riscritture di dati.
Per disabilitare il Prefetch e Superfetch:
  • Accedere all'editor di registro di Windows (regedit) e posizionarsi al seguente percorso
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
  • Modificare i 2 parametri (DWORD) EnablePrefetcher e EnableSuperfetch (generalmente valorizzati ad 1 o 3) assegnando ad entrambi valore 0.
Le modifiche diventeranno effettive al riavvio del sistema
Per quanti non vogliono mettere mano al registro possono utilizzare il seguente file .REG
DOWNLOAD

Disabilitare la cache di scrittura disco
Windows consente l'abilitazione del servizio write caching che provvede ad archiviare temporaneamente i dati da scrivere sul disco all'interno della RAM e riversarli sul disco quando quest'ultimo non è impegnato in altre operazioni. Tale servizio comporta un incremento di scritture sul disco e, per unità SSD, conviene disabilitarlo.
  • Da Start->Esegui (o premendo WIN+R) eseguire il seguente comando diskmgmt.msc
  • Cliccare con il tasto destro del mouse sul disco su cui vogliamo disabilitare il write caching e, dal menu contestuale, selezioniamo Proprietà
Gestione disco
FIG 13 - Gestione disco
  • Nella scheda Criteri togliere il flag alla voce Attiva cache in scrittura sul dispositivo
Cache scrittura disco
FIG 14 - Cache scrittura disco
ATTENZIONE: Nel caso in cui si utilizzi un SSD Intel è sconsigliabile effettuare questo tipo di operazione.


Disabilitare il Ripristino di sistema 
Il ripristino di sistema (System Restore) è una funzione molto utile di Windows che consente di ripristinare il sistema utilizzando un punto di ripristino. Putroppo tale funzione influisce sia sulle performance sia sulla durata di un dispositivo SSD ed è consigliabile disabilitarla.
Le continue scritture necessarie per creare i punti di ripristino, oltre ad occupare spazio su disco e a ridurre la vita delle celle di memoria, intralciano il funzionamento del comando Trim.
Per disabilitare il Ripristino di sistema
  • Accedere alla proprietà del computer (tasto destro su Computer e selezionare Proprietà dal menu contestuale)
  • Cliccare su Protezione sistema
Proprietà di sistema
FIG 15 - Proprietà di sistema
  • Cliccando sul pulsante Configura è possibile disattivare la protezione di sistema.
Disattiva protezione di sistema
FIG 16 - Disattiva protezione di sistema

Abilitare il comando Trim
Una delle prime operazioni da effettuare per permettere al SSD di operare al meglio è quello di abilitare il comando TRIM
Per capire cosa fa questo comando è necessario capire come funziona la scrittura su un SSD.
Quando da sistema operativo viene eliminato un file da un SSD, viene eliminato il puntamento al file dall'indice di sistema e i blocchi di memoria vengono contrassegnati come non in uso. I blocchi di memoria continuano a mantenere il loro valore e per poterli riutilizzare, a differenza di quanto avviene per un disco magnetico, è necessario prima azzerarne il contenuto sovrascrivendo tutto con il valore logico 0 (ovvero svuotando completamente la carica elettrica dei transistor). Proprio per questo motivo la scrittura di una cella di memoria non vuota risulterebbe di molto più lenta di una cella completamente vuota. Il comando TRIM serve proprio a questo: indicare al SSD quali sono le aree di memoria da cancellare fisicamente e favorire la scrittura sulle celle di memoria vuote permettendo al disco di lavorare sempre alla massima velocità. L'operazione di cancellazione fisica delle celle di memoria non più in uso, invece, viene rimandata a quando il disco non è impegnato in altre operazioni. Il comando TRIM opera attraverso la modalità AHCI del controller SATA ed è supportato dai sistemi Windows 7 e successivi anche se non sempre abilitato di default in presenza di dispositivi SSD.
Per verificare se il comando TRIM è attivato sul proprio sistema:
  • Lanciare il prompt dei comandi con i privilegi di amministratore;
  • eseguire il comando fsutil behavior query DisableDeleteNotify
Se in risposta otteniamo DisableDeleteNotify = 0 il comando è abilitato se il risultato è DisableDeleteNotify = 1 il TRIM è disabilitato

Windows 7 e successivi abilitano automaticamente il comando in presenza di un disco SSD, se ciò non avviene è probabile che il disco sia stato installato in un sistema che non dispone del supporto AHCI (Advanced Host Controller Interface). Nel caso in cui il sistema è stato installato in modalità IDE è necessario accedere al BIOS della macchina e cambiare la modalità in AHCI. Prima di effettuare l'operazione si consiglia di leggere quanto descritto da Microsoft nella KB 922976 (http://support2.microsoft.com/kb/922976/it) e installare la patch consigliata.


Disabilitare lo spegnimento del disco
La grande quantità di RAM presente sui sistemi attuali fa in modo che gli accessi al disco siano ridotti pertanto il risparmio energetico attivato fa in modo che il dispositivo venga spesso spento in quanto inutilizzato. Numerosi cicli di spegnimento/accensione riducono la vita del dispositivo inoltre non portano ad alcun vantaggio significativo dato che i dispositivi SSD hanno consumi molto bassi. Per disabilitare lo spegnimento del SSD in Windows:
  • accedere al Pannello di controllo e cliccare su Opzioni risparmio energia oppure eseguire il comando powercfg.cpl
Opzioni risparmio energia
FIG 17 - Opzioni risparmio energia
  • Cliccare su Modifica Impostazione Combinazione relativo alla combinazione selezionata quindi cliccare su Cambia impostazioni avanzate risparmio energia
Modifica combinazioni per il risparmio di energia
FIG 18 - Modifica combinazioni per il risparmio di energia

  • Cercare l'opzione disco rigido e impostare a 0 il contatore
Opzioni risparmio energia
FIG 19 - Opzioni risparmio energia

Disabilitare la protezione da Cadute 
Moltissimi portatili dispongono di un accelerometro che dialoga con il sistema operativo e viene utilizzato per proteggere il sistema in caso di caduta. Se l'accelerometro rileva che il sistema è in caduta provvede, tramite il sistema operativo, a bloccare istantaneamente l'operatività del disco parcheggiando la testina di scrittura in una posizione sicura. Tale funzionalità è pensata per i dischi magnetici al fine di prevenire atterraggi di testina che possono portare alla rottura della testina stessa o del disco. Come è facile immaginare tale funzione è del tutto superflua e deleteria su SSD. É possibile disabilitare tale funzionalità in ambiente windows tramite msconfig disabilitando dall'avvio il processo FF_Protection



Conclusioni
Gli SSD, per essere sfruttati al massimo e per non perdere prestazioni nel tempo, necessitano di una manutenzione dedicata. In quest'articolo ho voluto fare una panoramica delle operazioni necessarie per mantenere sempre in forma il proprio dispositivo SSD. La maggior parte dei produttori di SSD fornisce anche un set di tool per agevolare l'utente nella manutenzione del disco,  ad es Samsung Magician, Intel Ssd Toolbox, Ocz Toolbox, Sandforce SSD Toolbox (Kingston). Inoltre ci sono anche numerosi tool di terze parti tra cui il già citato CrystalDiskInfo o l'ottimo HD Tune. Alcuni di questi tool automatizzano le operazioni viste in questo articolo




mercoledì 13 agosto 2014

Windows Quick Tip: Eseguire defrag su tutti i volumi in parallelo


Generalmente il defrag avviene per un solo disco alla volta. Se vogliamo eseguire l'operazione su tutti i volumi in parallelo possiamo procedere nel seguente modo:

  • Avviamo il prompt dei comandi come amministratore
  • digitiamo ed eseguiamo il seguente comando 
    defrag /c /h /u /r

I parametri passati a defrag indicano quanto segue
/c esegue il comando su tutti i volumi;
/h esegue il comando impostando come priorità normale (di default il comando viene eseguito con priorità bassa);
/u visualizza lo stato dell'operazione a schermo;
/r esegue il comando in parallelo su più volumi;