Il garbage collector di SSD rileva blocchi zero? [chiuso]


1

GC (ho Samsung 860 Evo) è abbastanza intelligente da notare che un blocco è pieno di zeri?

A causa di alcuni motivi, non posso utilizzare TRIM su SSD. Penso che potrei emulare TRIM riempiendo tutti gli spazi vuoti con zeri (Linux: sfill -z, Windows: sdelete -z) di tanto in tanto (diciamo una volta alla settimana). Se il firmware del disco è intelligente, dovrebbe notare che il blocco è vuoto e non scriverlo affatto nella memoria flash. Invece il blocco dovrebbe essere contrassegnato come non allocato. Ma ... il firmware è abbastanza intelligente?



Un blocco "non utilizzato" non può essere determinato semplicemente dal contenuto dei dati. In caso contrario, i dati validi verrebbero persi involontariamente. Quindi no, GC non si preoccupa di guardare i dati dei blocchi che sono in uso. Non esiste un tale metodo per "nota che il blocco è vuoto" . Le tue ipotesi sono false.
sawdust

Non "inutilizzato" ma "vuoto". Questo non è lo stesso. Il rilevamento del blocco vuoto è banale. Lo standard dice che la lettura del blocco non assegnato dà zeri - quindi non ha senso scriverli nella memoria flash ... Il risultato finale sarà identico dal punto di vista del lettore.
micha

Stai assumendo erroneamente che sia un blocco di zero "vuoto" . Il significato reale dei dati dipende dal programma applicativo, non dal dispositivo di archiviazione. Le scritture di blocco richieste dal computer host devono essere eseguite dal dispositivo di archiviazione, indipendentemente dal contenuto. Un blocco che è scritto non può essere anche "Non allocato" dal dispositivo di archiviazione. Stai confondendo due stati distinti.
sawdust

1. No, il dispositivo di archiviazione non deve scrivere esattamente i dati richiesti dal computer host. Ciò che il dispositivo di archiviazione deve fornire è fornire esattamente gli stessi dati in lettura quando richiesto. Ciò che accade nel frattempo dipende dal dispositivo di archiviazione. Questo è esattamente come funziona la compressione al volo. E ora: la lettura del blocco non allocato fornisce sempre zeri completi al computer host. Quindi non è necessario allocare un blocco di riserva per questi zeri.
micha
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.