Perché non è possibile deframmentare le unità a stato solido? [duplicare]


39

Questa domanda ha già una risposta qui:

Continuo a sentire che questo è un enorme no-no. Perchè è questo? Uso Ubuntu per lo più in modo che non mi riguardi, ma mi stavo solo chiedendo.


3
Non posso dire di essere istruito in quest'area, ma credo che sia perché gli SSD sono leggermente danneggiati ogni volta che eseguono una scrittura e la deframmentazione consuma l'SSD più velocemente. Inoltre, poiché gli SSD non hanno parti mobili, la deframmentazione degli SSD offre un guadagno in termini di prestazioni inferiore rispetto alla deframmentazione degli HDD.
Blixt,

1
Nota per i lettori che atterrano su questa pagina: pensare a questo argomento è cambiato nei 7 anni e mezzo da quando è stata posta questa domanda. Assicurati di vedere le risposte recenti qui e le risposte alla domanda corrente, questa è contrassegnata come duplicata.
fixer1234,

Risposte:


63

Le unità a stato solido si basano sulla memoria flash, che invecchia in modo molto diverso rispetto ai dischi rigidi basati su piatto di filatura standard . Ogni settore ha un numero limitato di cicli di scrittura , quindi le unità includono funzioni di livellamento dell'usura che consentono all'unità di durare più a lungo frammentando sostanzialmente l'unità di proposito.

I tempi di lettura non vengono notevolmente migliorati mediante la deframmentazione in quanto sono presenti nelle unità standard, quindi non vi è alcun guadagno reale nella deframmentazione, ma in tal modo si aumenta il numero di scritture sull'unità, riducendo così la durata dell'unità.


45

La deframmentazione mette i settori uno vicino all'altro, il che è utile per un disco che gira intorno. Tuttavia, questo è inutile su un SSD che ha tempi di accesso costanti per qualsiasi settore. La deframmentazione causa solo scritture extra su un disco (gli SSD hanno un numero limitato di scritture a causa del loro design)


11

Si noti che non dovrebbe esserci alcun motivo tecnico per non "essere in grado di deframmentare un'unità a stato solido", nel senso che è possibile avviare un programma di deframmentazione ed eseguirlo sull'unità.

Ma farlo non ha l'effetto che ha sulle unità a stato non solido, poiché spostare i cluster insieme non accelera effettivamente l'unità.

D'altra parte, ciò che farai è eseguire molte scritture non necessarie sull'unità, e questo ridurrà, anche se leggermente, la durata della vita dell'unità.

Inoltre, molte unità a stato solido eseguono ottimizzazioni per ridurre questo problema riducendo le scritture ripetute nella stessa area, e questo è trasparente per il sistema esterno, nel qual caso i cluster potrebbero non essere spostati affatto insieme ma invece distribuiti sull'unità . Questa tecnica è in genere "livellamento dell'usura".

Se un programma di deframmentazione si rifiuta di deframmentare un'unità a stato solido (o anche solo elencarla come unità che è possibile selezionare), scommetterei che è fondamentalmente un rifiuto del software per farlo, solo per evitare i problemi descritti sopra.

Si noti che non conosco abbastanza i protocolli sottostanti utilizzati per deframmentare un'unità, quindi potrebbe esserci un blocco rigido da un'unità a stato solido per accettare i comandi di deframmentazione, se ci sono cose del genere. Le ragioni di ciò, tuttavia, sono quelle descritte qui.


1
SSD = unità a stato solido. Non c'è nessun disco. Continui a utilizzare "disco" anziché "unità".
segatura

7

La deframmentazione ridurrà l'aspettativa di vita del disco eseguendo passaggi non necessari su un disco con una durata limitata.


2

Dipende da cosa c'è sul disco. Non aumenterai le prestazioni deframmentando un SSD, ma avrà un impatto sul recupero dei dati.

Da un lato, la memoria flash ha un numero limitato di cicli di scrittura , quindi fare molta scrittura alla fine la consumerà. Le unità flash, le schede di memoria e gli SSD usano trucchi come il livellamento dell'usura e TRIM per prolungare la vita dei media, ma la deframmentazione tende a causare un gran numero di scritture, che si consumano più velocemente.

D'altra parte, i file frammentati sono infinitamente più difficili da recuperare quando vengono eliminati accidentalmente, colpiti da un virus, ecc., Quindi mantenere i file in uno stato contiguo (ad esempio, deframmentando) aumenterà notevolmente le possibilità di recupero.

Pertanto, come ho detto all'inizio, dipende da cosa è memorizzato sul disco, quanto sono importanti i file, quanto è probabile che sia necessario eseguire il ripristino dei dati e con che frequenza i file vengono cambiati (frequenti eliminazioni e copie portare alla frammentazione più velocemente e consumare più cicli di scrittura).


2

In realtà, puoi. La deframmentazione è una cosa a livello di filesystem, non importa ciò che è al livello di blocco inferiore.

Ma nel caso dell'SSD non esiste una testina del disco i cui movimenti dovrebbero essere ridotti al minimo. Pertanto, non sarà più veloce, nemmeno un po '.

Alcuni sistemi operativi e strumenti lo vietano solo perché alle decisioni delle loro società di sviluppo piace mescolare il significato di "non hai bisogno" e "non puoi". Ma queste sono cose diverse.

Probabilmente ci sono più hack che potrebbero evitare questo divieto (regedit o esportare l'unità come iscsi e reimportare sulla stessa macchina, ecc.). In questo caso, troverai un'unità molto frammentata, la cui deframmentazione sarà molto lunga. È perché il sistema operativo non si preoccupa della frammentazione del loro caso. E, come menzionano anche altre risposte, questa deframmentazione non renderà il tuo sistema più veloce, ma ridurrà la sua durata.


Vero. È possibile deframmentare il filesystem su un SSD. E per quanto riguarda il sistema operativo, ora disponi di dati sequenziali puliti e gradevoli. (Tutto ciò non è assolutamente vero sull'unità reale, che esegue la sua mappatura interna).
Hennes,

2

Non è sempre male. Eseguire manualmente una deframmentazione completa è qualcosa che non dovresti fare, ma se hai abilitato gli snapshot del volume, Windows 8/10 eseguirà la deframmentazione dell'SSD una volta al mese :

Questo è di progettazione e necessario a causa della lenta copia volsnap sulle prestazioni di scrittura su volumi SSD frammentati. È anche un po 'un'idea sbagliata che la frammentazione non sia un problema sugli SSD. Se un SSD viene troppo frammentato, puoi colpire la massima frammentazione dei file (quando i metadati non possono rappresentare più frammenti di file) che comporterà errori quando provi a scrivere / estendere un file. Inoltre, più frammenti di file significano più metadati da elaborare durante la lettura / scrittura di un file, il che può portare a prestazioni più lente.

Conclusione

No, Windows non esegue scioccamente o ciecamente una deframmentazione sul tuo SSD ogni notte, e no, la deframmentazione di Windows non accorcia la vita del tuo SSD inutilmente. Gli SSD moderni non funzionano allo stesso modo in cui siamo abituati con i dischi rigidi tradizionali.

Sì, il file system del tuo SSD a volte richiede una sorta di deframmentazione e che viene gestita da Windows, mensilmente per impostazione predefinita, quando appropriato. L'intento è massimizzare le prestazioni e una lunga durata. Se disabiliti completamente la deframmentazione, stai correndo il rischio che i metadati del tuo filesystem possano raggiungere la massima frammentazione e metterti potenzialmente nei guai.


1

Secondo Condusiv Technologies:

Gli SSD iniziano molto velocemente e poi iniziano rapidamente a perdere velocità e nel tempo diventano soggetti a corruzione. Gli SSD richiedono che i vecchi dati vengano cancellati prima che nuovi dati vengano scritti su di essi, piuttosto che scrivere semplicemente sulle vecchie informazioni come con i dischi rigidi. Questo raddoppia l'usura e può causare gravi problemi.

Il problema principale è il degrado della velocità di scrittura a causa della frammentazione dello spazio libero. Piccoli spazi liberi sparsi sull'SSD fanno sì che il file system scriva un file in frammenti in quei piccoli spazi liberi disponibili. In questo modo, riduce le prestazioni di scrittura fino all'80% sull'unità SSD.

Gli SSD possono scrivere così tante volte sul disco in quanto hanno un numero finito di scritture che possono eseguire. A causa dell'effetto raddoppiante della necessità di leggere e cancellare prima che possa scrivere di nuovo, gli SSD subiscono il doppio dell'uso.

Man mano che l'SSD si avvicina al limite, si verificano più frammentazione e errori di scrittura, causando rallentamenti dell'SSD. Le prestazioni di scrittura diminuiscono proporzionalmente all'aumentare della frammentazione dello spazio libero. Tutti gli SSD soffriranno di questo problema in un punto o nell'altro a meno che HyperFast non venga utilizzato per ottimizzare l'unità a stato solido.

Pertanto consigliano di utilizzare il loro prodotto chiamato Diskeeper. Codifica per l'azienda:

Diskeeper con HyperFast mantiene il tuo sistema veloce come quando lo hai acquistato, ottimizzando lo spazio libero sul tuo SSD. La funzione HyperFast, inclusa in Diskeeper 12, risolve specificamente questi problemi eliminando in modo intelligente la frammentazione dello spazio libero che peggiora le prestazioni, il che può favorire scritture sequenziali piuttosto che più efficienti. Questa tecnologia insieme alla tecnologia IntelliWrite promuove che si verifichino scritture sequenziali più efficienti e vantaggiose anziché scritture casuali.

Maggiori informazioni sul loro prodotto sono disponibili:

http://www.condusiv.com/products/diskeeper/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.