Devo deframmentare un'unità SSD? [duplicare]


57

Posso eseguire Windows ' defragsu SSDun'unità?

Bene, credo che la risposta breve sia , ho sentito che le unità SSD richiedono programmi di deframmentazione speciali e specifici .

È vero e, in tal caso, dove posso trovarlo?


6
In realtà, non hai bisogno / non vuoi deframmentare un'unità SSD ... non renderebbe il tuo accesso più veloce, ecc.
woliveirajr


Penso che quasi tutte queste risposte alla frammentazione SSD del superutente siano sbagliate ... almeno per quanto riguarda le scritture frammentate. Sì, indossare il livellamento intenzionalmente frammenta i file. Tuttavia, ciò accade con incrementi della dimensione del blocco di cancellazione. Se il blocco minimo del filesystem è più piccolo del blocco di cancellazione (quasi sempre e di un grande fattore), un file frammentato durante la scrittura comporterà la riscrittura di molti più blocchi di cancellazione. In realtà può essere un notevole risultato in termini di prestazioni di scrittura se i blocchi / cluster / inode / etc in vari blocchi di cancellazione sono fortemente frammentati.
darron,

E peggiora molto con l'archiviazione flash "economica" come USB e SD: google.com/search?q=how%20to%20damage%20flash%20storage
MarcH

Risposte:


110

Dal momento che sembra esserci qualche controversia al riguardo, ho pensato che sarebbe stato utile fornire una spiegazione dettagliata:

Non devi mai deframmentare un SSD. Non ci pensare nemmeno. Il motivo è che il posizionamento fisico dei dati su un SSD è gestito esclusivamente dal firmware dell'SSD e ciò che riporta a Windows NON è il modo in cui i dati vengono effettivamente memorizzati sull'SSD.

Ciò significa che il posizionamento fisico dei dati che un defragger mostra nel suo grafico di settore non ha nulla a che fare con la realtà. I dati NON sono dove Windows pensa che siano e Windows non ha alcun controllo su dove sono effettivamente collocati i dati.

Per uniformare l'utilizzo sui suoi chip di memoria interna Il firmware SSD suddivide intenzionalmente i dati su tutti i chip di memoria dell'SSD e sposta anche i dati su questi chip quando non è occupato a leggere o scrivere (nel tentativo di uniformare l'utilizzo dei chip .)

Windows non vede nulla di tutto ciò, quindi se esegui una deframmentazione Windows causerà semplicemente un sacco di I / O inutili all'SSD e questo non farà altro che ridurre la vita utile dell'SSD.


8
@Royi In realtà la lettura non danneggia un SSD, lo fa la scrittura.
Piccolo aiutante,

54
Inoltre, gli SSD non hanno tempo di ricerca, quindi non ci sarebbe alcun vantaggio in termini di prestazioni nel disporre i file in blocchi consecutivi.
200_successo

5
@OlivierDulac: mentre i tuoi dati sono corretti, le conclusioni sono completamente sbagliate. Sono 3K cicli per cella , gli SSD hanno chip avanzati che si assicurano di distribuire le scritture equamente sulle celle e prevenire l'hotspotting. E con TLC sono anche solo 1000 cicli per cella. Ciò significa che SSD TLC da 256 GB, con 10 GB al giorno di scritture con amplificazione 3x, durerà 12 anni. SSD MLC da 256 GB nelle stesse condizioni durerà 70 anni . E anche quelle sono stime molto conservative, nella vita reale sembrano durare molto, molto più a lungo anandtech.com/show/6459/…
vartec


5
@ 200_success In realtà, gli SSD hanno tempo di ricerca. Più specificamente, gli SSD leggono e scrivono più velocemente quando si utilizzano i dati in sequenza. Questa persona lo spiega molto meglio di me: dpreview.com/forums/post/40353067 Non so se questo aumento di velocità sia dovuto a una sorta di "cache miss", perché la modifica dell'indirizzo richiede tempo o qualcosa che posso ' immagina, ma gli SSD hanno un ritardo per usi non sequenziali. E questo, per me gente, significa che hanno un tempo di ricerca.
Patrick M,

25

Qualcuno (200_success) ha fatto un commento molto più rilevante per la domanda e merita un dettaglio migliore.

Prima di tutto: HDD significa unità disco rigido e al suo interno ha davvero un disco. Questo disco è diviso in piccoli pezzi, chiamati settori, in cui sono memorizzate le informazioni. Dai un'occhiata a questa immagine:

Immagine del disco

Un settore è indicato dalla lettera C.

Ora, questo settore è molto piccolo: solo 512 byte, in generale. Quindi, per archiviare un file comune di 10k, dovrai utilizzare molti settori.

Immagina che quei settori siano uno dopo l'altro, come la rappresentazione verde, lettera D, nella figura. Quando è necessario leggere il file, la testina del disco rigido verrà posizionata all'inizio del primo settore e li leggerà tutti, mentre il disco gira.

Ecco come dovrebbero funzionare le cose.

Ora potrebbe succedere che il file si diffonda in molti settori, ognuno in una parte del disco. Che cosa significa questo? Che per leggere nuovamente il tuo file, la testina del disco rigido verrà posizionata all'inizio del primo settore, leggila, quindi dovrà spostarsi all'inizio del secondo settore (che si trova da qualche altra parte nel disco), lo leggerà, e così via ...

Questo richiederà molto tempo. Stiamo parlando di un movimento fisico della testa. Più la testa si muove, più tempo ci vuole.

Quindi, devi deframmentare il disco: il programma cerca di spostare tutti i pezzi del file in modo che finiscano in sequenza, essendo più facili e veloci da leggere, poiché ci sarà meno movimento fisico della testa per leggere tutto.

Ok finora? Quindi iniziamo a parlare di SSD: sono un mucchio di chip di memoria su una scheda. Quando salvi o leggi qualcosa da loro, il chip del controller deve solo attivare alcuni bit e, voilà , il chip corretto viene letto dalla memoria. E non importa dove sia archiviato, l'azione di accesso a un chip di memoria è molto più veloce del movimento fisico dell'HDD. Quindi, approssimativamente parlando, non ti accorgeresti di quel tempo in un file frammentato in un SDD.

E, essendo più dettagliato e corretto, il chip del controller distribuirà il tuo file tra molti chip per sfruttare le letture parallele e così via, quindi sa come gestire i tuoi file in modo che siano sempre archiviati al meglio (ottimizzato in termini di velocità e usura di quei chip di memoria) che Windows potrebbe sapere.


La frammentazione non è solo un problema del disco fisico, ma anche del file system che gestisce i dati. I file altamente frammentati hanno molte estensioni / esecuzioni memorizzate nel loro record NTFS, che devono essere elaborati quando si legge l'intero file dal disco. Non è diverso su un SSD.
Gene,

La deframmentazione che risolve alcuni piccoli problemi dell'organizzazione NTFS è una cosa diversa dalla deframmentazione che compensa i problemi di prestazioni dovuti alla rotazione dei dischi con teste mobili. L'unico motivo per cui NTFS ha anche queste dimensioni è per il gusto di far girare i dischi con le teste mobili, giusto?
Kaz

@Gene: Non ha detto che sta usando NTFS ... Sì, la deframmentazione aiuta le prestazioni, se sei un utente top :-). Ma non quel risultato sorprendente che qualcuno ha avuto quando ha deframmentato un disco nell'era Win95. E eseguire la deframmentazione spesso solo per guadagnare quei 0,01 microsecondi non vale l'usura. Preoccupandoci di deframmentare in SSD e, tra pochi giorni, discuteremo se vale la pena cambiare l'interleave dei settori in SSD come in quei floppy . ;-)
woliveirajr

2
@woliveirajr - Ricordo di aver cambiato l'interleave sul mio HDD alla fine degli anni '80 e la velocità del mio PC è più che raddoppiata. Occasionalmente mi chiedo se interleave possa fare la differenza sui PC di oggi.
Paddy Landau,

@PaddyLandau :) Per quanto ne so, tutti gli HDD in realtà non hanno bisogno di interleave (tutti i settori vengono letti in fila, non è necessario impostare un interleave)
woliveirajr

13

Lo strumento di deframmentazione integrato in Windows 8 non deframmenterà il tuo SSD, ma invierà un sacco di comandi di taglio al dispositivo. Per maggiori dettagli su questo, vedi questa domanda . Come già sottolineato da Roberts, non vuoi affatto deframmentare il tuo SSD.


2
Fantastico, non sapevo che Windows 8 potesse ottimizzare gli SSD. Per la mia unità Intel su Windows 7 è possibile utilizzare un programma chiamato SSD Toolbox di Intel per ottimizzare le prestazioni dell'unità. Non ho mai notato che comunque fa davvero la differenza.
Tim B,
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.