Cosa fa effettivamente una deframmentazione?


13

Cosa fa veramente una deframmentazione? Mette i file che vengono eseguiti in sequenza più vicini tra loro?

Risposte:


19

In realtà mette insieme tutte le diverse parti del file ONE, quindi se quel particolare file è necessario, il disco rigido non deve muovere il braccio (che è il vero break-performance qui) così tanto da raccogliere tutti i bit del file . ==> quindi, migliore prestazione (anche se non è sempre evidente).

Si noti che questo vale solo per i dischi rigidi con piatti e parti mobili. Per gli SSD questo non è un problema, in quanto richiede lo stesso tempo per recuperare tutti i dati indipendentemente da dove si trovano sul disco. Deframmentare gli SSD è in realtà una cattiva idea in quanto hanno un numero limitato di volte in cui possono essere scritti su ogni 'settore' (non credo che 'settore' sia il termine giusto qui, ma sai cosa intendo spero).


3
Non solo non è un problema per gli SSD, ma la loro deframmentazione è in realtà una cattiva idea a causa dei loro limiti.
Jeff Yates,

In effetti aggiornerò la mia risposta.
fretje,

13

Dipende dal programma di deframmentazione.

Come minimo mirerà a mettere i cluster per un singolo file o directory in una sequenza contigua, a condizione che ci sia spazio disponibile per farlo.

Può anche sequenziare file e directory in base ai profili di utilizzo, se li raccoglie.

Potrebbe non essere possibile spostare alcuni file (alcuni file aperti e di sistema in genere).

Il motivo della deframmentazione è che le letture casuali sono considerevolmente più lente della lettura di una sequenza continua di blocchi / cluster dal disco. Tuttavia, non tutti i file system o i sistemi operativi hanno gli stessi requisiti per i programmi di deframmentazione (separati).


La deframmentazione di solito raggruppa anche lo spazio libero sul disco in blocchi più grandi possibili. Questo aiuta a prevenire la frammentazione dei file appena creati e consente loro di essere scritti più velocemente.
David Schwartz,

3

La deframmentazione può fare due cose:

  • Assicura che tutti i pezzi di un file si trovino in una parte continua del disco rigido. La maggior parte dei file sono divisi in "frammenti" più piccoli che sono bloccati ovunque ci sia spazio. Inizialmente verranno archiviati continuamente, ma verranno creati vuoti / incontinuità quando i file vengono eliminati / modificati. Se un file viene continuamente archiviato, può essere letto più velocemente.
  • Ottimizza la posizione sul disco rigido (solo dischi rigidi rotanti). I dischi rigidi sono composti da piatti rotanti a forma di disco. L'esterno gira più velocemente, quindi l'hard disk funzionerà meglio quando si scrive / legge vicino all'esterno di questi piatti perché più dati passeranno sotto la testina di lettura / scrittura per un determinato periodo di tempo.

Inoltre, vorrei aggiungere qualcosa sulla deframmentazione degli SSD:

Deframmentazione di un SSD

Molto tempo fa ho promesso di pubblicare il motivo per cui la deframmentazione di un SSD è ancora pertinente e necessaria. È vero che con un SSD non ci sono piatti fisici che devono girare in posizione e nessun braccio di lettura / scrittura che deve muoversi selvaggiamente sulla superficie di un disco. Per questo motivo, sembra che la deframmentazione sia una perdita di tempo. Si potrebbe anche sostenere che, poiché gli SSD alla fine si esauriscono, non si dovrebbero sprecare cicli di riscrittura su qualcosa di semplice come deframmentare il disco.

Uno dei fatti sulla tecnologia di memoria flash NAND utilizzata negli SSD è che la scrittura dei dati richiede molto più tempo della lettura dei dati. Quando un file viene cancellato, proprio come la tecnologia standard del disco rigido, vengono cancellate solo le informazioni della directory e le celle di dati vengono nuovamente contrassegnate come "utilizzabili". I dati stessi sono ancora intatti fino a quando qualcosa di nuovo non li sovrascrive.

Ciò significa che se lo spazio di memoria è in uso con un file "cancellato", deve essere prima cancellato prima che possa essere riprogrammato. Se lo spazio libero è frammentato, un nuovo file deve essere suddiviso in più piccoli comandi di scrittura anziché in un comando di scrittura più grande. Ciò causerà una riduzione delle prestazioni degli SSD perché la velocità di scrittura è lenta, specialmente per i trasferimenti di scrittura a blocchi piccoli. Sì, la memoria cache aiuta a mascherare questo problema di prestazioni, ma indipendentemente dalla tecnologia, un comando di scrittura lunga è sempre meglio di più comandi di scrittura brevi.

Net, deframmenta regolarmente il tuo disco se desideri le massime prestazioni.

fonte: blog Inside the Box Lenovo


3
Questo ragazzo che citi è sbagliato. L'SSD combina internamente diverse scritture su diversi blocchi logici in una singola scrittura flash. Come le letture, le scritture casuali sono veloci quanto quelle sequenziali su un SSD.
psusi,

4
Non è inoltre possibile controllare dove i dati vengono immessi sul maggior SSD, grazie agli algoritmi di livellamento dell'usura. Mentre potrebbe essere possibile superare questi algoritmi con l'uso di software speciali, la maggior parte dei software "standard" non li taglierà.
Breakthrough

Puoi ottenere ciò che questo ragazzo descrive semplicemente leggendo tutti i dati più volte. Ciò consentirà all'SSD stesso di determinare se i file devono essere spostati. SpinRite 6A tale scopo è possibile utilizzare strumenti come l' esecuzione con le impostazioni corrette.
Ramhound,

1

Hardware

Come altri hanno già detto, garantisce che i file siano archiviati in unità di allocazione numerate in modo contiguo.

Su supporti rotanti come i dischi rigidi, questo fornisce un accesso più rapido ai dati poiché il piatto non deve ruotare di più e le teste non devono muoversi avanti e indietro. Sugli SSD, questo non ha alcun vantaggio in termini di prestazioni.

Recupero dati

Una cosa da notare sulla deframmentazione è che inserendo i file in unità di allocazione consecutive, il recupero dei dati diventa più facile e ha maggiori probabilità di successo. Quando si elimina accidentalmente un file, si verifica un arresto anomalo dell'unità o si viene colpiti da un virus, è molto meno probabile che i file frammentati abbiano successo.

Questo perché se il file viene suddiviso in più pezzi che sono sparsi su tutto il disco, allora diventa difficile (spesso impossibile) capire quali parti vanno dove e appartengono a quali file. Questo è ancora più problematico con unità più grandi contenenti più file. Per ripristinare correttamente un file frammentato, è necessario sapere dove si trova ogni parte di esso e l'ordine di essi, ma se lo si fosse fatto, non sarebbe necessario recuperarlo .

Se i file non sono frammentati, tutto ciò che devi fare è trovare l'inizio del file e conoscere la dimensione o sapere come rilevare la fine (ad esempio, conoscendo il formato del file o rilevando quando un nuovo file inizia).

Un modo per aiutare con il recupero dei dati è usare un file system che è più tollerante alla corruzione e contiene migliori funzioni di backup e ripristino come NTFS su FAT32. Sfortunatamente, nessun file system è perfetto e anche i migliori sono ancora soggetti alla perdita di dati e richiedono il recupero dei dati di tanto in tanto.

raccomandazioni

Con un disco rigido, assicurando che il disco sia deframmentato (ad esempio, aver pianificato di eseguire la deframmentazione automatica ogni volta che il sistema è inattivo, il che diventa sempre meno un compito mentre ripulisce le cose) aiuta a migliorare le possibilità di recuperare i file persi. Poiché gli SSD non sono adatti alla deframmentazione, è necessario valutare i rischi e i vantaggi della deframmentazione e consumare l'unità, eseguire backup regolari o archiviare dati importanti su un disco rigido.


0

La deframmentazione di un'unità può fare un paio di cose diverse. In genere il processo di deframmentazione cerca i file che sono stati suddivisi in blocchi per qualsiasi motivo. Molti casi ciò si verifica dalla lettura e dalla scrittura su un'unità nel tempo. Il programma di deframmentazione assembla tutti i frammenti e quindi trova un punto sul disco in cui si adatterà l'intero file. In alcuni casi finisce per essere un gioco di shell, per spostare le cose in giro per i file più grandi.

Ora qualcosa da dire sul mettere insieme tutti questi file riguarda il tipico tempo di "ricerca" della testina di lettura / scrittura sul disco. Ogni volta che devi spostare la testina di lettura / scrittura da qualche altra parte sul disco, in genere incorri in un ritardo di alcuni millisecondi. Quando si legge un file che si trova tutto in una posizione, la testina di lettura / scrittura non deve spostarsi molto lontano per continuare a leggere il file. Questo è molto più veloce di andare in un altro punto interamente sul disco. In alcuni casi è possibile eseguire la deframmentazione per ottimizzare il sistema operativo posizionando i file di sistema a cui si accede più frequentemente vicino alla "zona di atterraggio" per la testa di lettura / destra quando non esegue alcuna lettura / scrittura. Questo può in molti casi velocizzare un po 'le cose.

Non ho visto uno strumento di deframmentazione là fuori che ha la capacità di mantenere le statistiche sul numero di volte in cui è stato effettuato l'accesso a un file, ma se ci fosse, potrebbe impilare prima il disco con i file a cui si accede più frequentemente.


0

Il file system a volte inserisce parti di un file in posizioni diverse sul disco. Quando si accede a questo file in un secondo momento, ci vuole più tempo perché deve accedere a ciascuna di queste posizioni per accedere al file. Questo si chiama frammentazione. Fondamentalmente, hai frammenti dei tuoi file in diversi punti del disco.

Quando si deframmenta il disco, si stanno riorganizzando i file sul disco in modo tale che tutti i file possibili vengano archiviati nella loro interezza.


0

Dipende dal file system, dalla deframmentazione e dall'HDD / SSD.

La maggior parte dei file verrà consolidata in un blocco ciascuno. Questo è il requisito minimo e la definizione di "deframmentazione".

Deframmentatori più avanzati sposteranno prima le directory (poiché hanno, in media per megabyte, accesso più frequente rispetto ai file ordinari), seguite dai file a cui è stato effettuato l'accesso di recente. I file a cui non si accede da molto tempo (in genere 90 giorni) sono talvolta attivamente posizionati più vicini alla fine, per consentire ricerche più brevi per i file a cui si accede.

Le NTF sembrano frammentare solo leggermente meno del FAT ma degradare più lentamente se lo è. Alcuni dei file importanti non si trovano nella parte anteriore della partizione ma vicino alla metà, ovviamente per dimezzare il tempo di accesso nel caso peggiore. Non ne sono sicuro, però.

I tempi di "ricerca" su SSD sono minimi, nell'ordine dei microsecondi. Stai guardando i posti sbagliati se deframmenti gli SSD per le ricerche. (Un controller SSD intelligente potrebbe semplicemente aggiornare DOVE i dati vengono spostati, anziché spostarli, ogni volta che rileva il modello "leggi vecchi dati + wite stessi dati + TRIM vecchi dati", economizzando su entrambi i cicli di scrittura E deframmenta il runtime. se qualche controller lo fa ancora.)

Ripensandoci, sì, gli SSD distribuiscono apposta le scritture sui chip, perché è così che sono più veloci, e una forte frammentazione potrebbe rallentare i modelli di scrittura rendendo le scritture MENO disperse. Questo potrebbe essere un fattore da considerare se è vero.

Esegui sempre e regolarmente i tuoi backup. Se deframmenti i dischi per semplificare il recupero dei dati, LO STAI FACENDO!

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.