Prima di tutto, iniziamo con la comprensione di ciò che provoca il degrado delle prestazioni. Senza saperlo, molte persone suggeriranno soluzioni inadeguate (come già vedo accadere). Il punto cruciale di questa intera situazione è sostanzialmente dovuto al fatto seguente, come citato da Wikipedia . Ricordalo, è importante:
Con la memoria flash NAND, le operazioni di lettura e programmazione devono essere eseguite pagina alla volta mentre lo sblocco e la cancellazione devono avvenire in modo a blocchi.
Gli SSD sono costituiti da flash NAND e il flash è costituito da "blocchi". Ogni blocco contiene molte "pagine". Per semplicità, immaginiamo di aver appena acquistato un nuovo SSD lucido che contiene un enorme blocco di memoria e quel blocco è composto da 4 pagine vuote.
Per motivi di chiarezza, faccio una distinzione tra pagine vuote, pagine usate e pagine cancellate con ∅, 1 e X. La chiave sta nel fatto che c'è una differenza tra ognuna di queste dal punto di vista dei controller! Non è semplice come 1 e 0. Quindi, per iniziare, le pagine sul nostro nuovo disco sembrano così:
∅, ∅, ∅, ∅ (tutto vuoto)
Ora andiamo a scrivere alcuni dati sull'unità e finisce per essere archiviati in quella prima pagina, quindi:
1, ∅, ∅, ∅
Successivamente, scriviamo un po 'più di dati, solo questa volta abbastanza che richiede due pagine e quindi finisce per essere memorizzato nella seconda e terza pagina:
1, 1, 1, ∅
Stiamo esaurendo lo spazio! Decidiamo che non abbiamo davvero bisogno dei dati iniziali che abbiamo scritto, quindi eliminiamoli per fare spazio .:
X, 1, 1, ∅
Infine, disponiamo di un altro ampio set di dati che dobbiamo archiviare e che consumeranno le restanti due pagine. QUESTO È DOVE IL PERFORMANCE HIT SUCCEDE A GUIDE SENZA BORDO !! Passando dal nostro ultimo stato a questo:
1, 1, 1, 1
... richiede più lavoro di quanto si pensi. Ancora una volta, ciò è dovuto al fatto che il flash può essere cancellato solo in modo a blocchi, non a livello di pagina, il che è esattamente ciò che richiede la transizione finale sopra. Il differenziatore tra SSD TRIM e non TRIM è quando viene eseguito il seguente lavoro!
Poiché è necessario utilizzare una pagina vuota e una pagina eliminata, l'SSD deve prima leggere il contenuto dell'intero blocco in una memoria / memoria esterna, cancellare il blocco originale, modificare il contenuto e quindi riscrivere tali contenuti in il blocco. Non è semplice come una "scrittura", ma ora è diventato una "lettura-cancellazione-scrittura". Questo è un grande cambiamento, e perché accada mentre stiamo scrivendo molti dati è probabilmente il momento più inopportuno per farlo accadere. Tutto potrebbe essere evitato se quella pagina "cancellata" fosse recuperata in anticipo, il che è esattamente ciò che TRIM è destinato a fare. Con TRIM, l'SSD recupera le nostre pagine eliminate immediatamente dopo l'eliminazione o in un altro momento opportuno che gli algoritmi TRIM ritengono appropriati. La parte importante però è che con TRIM non succede quando siamo nel mezzo di una scrittura!
Senza TRIM, alla fine non possiamo evitare lo scenario sopra mentre riempiamo i nostri dischi di dati. Per fortuna alcuni SSD più recenti vanno oltre TRIM e fanno effettivamente la stessa cosa di TRIM in background a livello hardware senza i necessari comandi ATA (alcuni chiamano questa garbage collection). Ma per quelli di noi abbastanza sfortunati da non averne neanche uno, è importante sapere che scrivere zero su tutto il disco non è sufficiente per recuperare le prestazioni originali !!!!! Scrivere tutti gli zeri sull'unità non indica al controller che la pagina in flash è libera per la scrittura. L'unico modo per farlo su un'unità che non supporta TRIM è invocare il comando di cancellazione sicura ATA sull'unità utilizzando uno strumento come HDDErase (tramite Wayback Machine) .
Credo che alcuni dei primi SSD supportassero TRIM solo all'eliminazione delle partizioni o su cose come "diskpart clean all" di Windows 7, e non sulla cancellazione di singoli file. Questo potrebbe essere il motivo per cui un'unità più vecchia sembrava riacquistare le prestazioni eseguendo quel comando. Mi sembra un po 'confuso però ...
Gran parte della mia conoscenza di SSD e hardware / gadget in generale proviene da anandtech.com . Ho pensato che avesse un ottimo commento che spiegasse tutto questo, ma per la vita di me non riesco a trovarlo!