Ho deciso che alcune informazioni di base potrebbero essere utili per chiarire questa risposta, ma come puoi vedere sono passato un po 'di disturbo ossessivo-compulsivo, quindi potresti voler saltare fino alla fine e poi tornare indietro se necessario. Anche se so un po ', non sono un esperto di SSD, quindi se qualcuno vede un errore MODIFICARLO . :).
Informazioni di base:
Che cos'è un SSD ?:
Un SSD o un'unità a stato solido è un dispositivo di archiviazione senza parti mobili. Il termine SSD è spesso inteso come specifico riferimento alle unità a stato solido basate su nand-flash destinate a fungere da alternativa al disco rigido, ma in realtà sono solo una forma di SSD, e nemmeno la più popolare. Il tipo più popolare di SSD è il supporto rimovibile basato su nand-flash come chiavette USB (unità flash) e schede di memoria, anche se raramente vengono chiamate SSD. Gli SSD possono anche essere basati su RAM, ma la maggior parte delle unità RAM sono software generati rispetto all'hardware fisico.
Perché esistono SSD Nand-flash destinati a fungere da alternativa al disco rigido ?:
Per eseguire un sistema operativo e il suo software è necessario un supporto di archiviazione veloce. È qui che entra in gioco la ram, ma storicamente la ram era costosa e la CPU non poteva occuparne grandi quantità. Quando si esegue un sistema operativo o si programma le porzioni di dati attualmente richieste vengono copiate sul proprio ram, perché il dispositivo di archiviazione non è abbastanza veloce. Viene creato un collo di bottiglia, poiché è necessario attendere che i dati vengano copiati dal dispositivo di archiviazione lento al ram. Sebbene non tutti gli SSD nand-flash ricevano prestazioni migliori rispetto al disco rigido più tradizionale, quelli che aiutano a ridurre il collo di bottiglia offrendo tempi di accesso più rapidi, velocità di lettura e velocità di scrittura.
Cos'è Nand-flash ?:
L'archiviazione flash è un supporto di archiviazione che utilizza l'elettricità anziché il magnetismo per archiviare i dati. Nand-flash è una memoria flash che utilizza un gateway NAND. A differenza di un nor-flash che è un accesso casuale, si accede in sequenza a nand-flash.
In che modo gli SSD Nand-flash memorizzano i dati ?:
La memoria Nand-Flash è composta da blocchi, quei blocchi sono divisi in celle, le celle contengono pagine. A differenza di un disco rigido che utilizza il magnetismo per archiviare i dati, i supporti flash utilizzano l'elettricità, poiché questi dati non possono essere sovrascritti; i dati devono essere cancellati per riutilizzare lo spazio. Il dispositivo non è in grado di cancellare singole pagine; la cancellazione deve avvenire a livello di blocco. Poiché i dati non possono essere scritti in un blocco che è già utilizzato (anche se non tutte le pagine in esso contenute), è necessario prima cancellare l'intero blocco, quindi il blocco ora vuoto può avere i dati scritti nelle sue pagine. Il problema è che potresti perdere tutti i dati già presenti in quelle pagine, compresi i dati che non vuoi scartare! Per evitare che questi dati esistenti vengano conservati, devono essere copiati altrove prima di eseguire la cancellazione del blocco.
Sui dischi rigidi viene utilizzata una piastra magnetica per memorizzare i dati. Proprio come i dischi in vinile, la piastra ha tracce e queste tracce sono divise in sezioni chiamate settori. Un settore può contenere una determinata quantità di dati (in genere 512 byte ma alcuni più recenti sono 4KB). Quando si applica un filesystem, i settori vengono raggruppati in cluster (in base a una dimensione specificata, chiamata dimensione di allocazione o dimensione del cluster), quindi i file vengono scritti tra i cluster. È anche possibile dividere un settore per rendere i cluster più piccoli delle dimensioni del settore. Lo spazio non utilizzato in un cluster dopo che un file è stato scritto su un cluster (o più) non è utilizzabile, il file successivo inizia in un nuovo cluster. Per evitare un sacco di spazio inutilizzabile, le persone utilizzano in genere dimensioni di cluster inferiori, ma ciò può ridurre le prestazioni durante la scrittura di file di grandi dimensioni. Gli SSD Nand-flash non hanno una piastra magnetica, usano l'elettricità che passa attraverso i blocchi di memoria. Un blocco è costituito da celle contenenti pagine. Le pagine hanno una capacità X (in genere 4 KB), quindi il numero di pagine determinerà la capacità di un blocco (in genere 512 KB). Su SSD una pagina equivale al settore su un disco rigido, poiché entrambi rappresentano la più piccola divisione di archiviazione.
Cos'è il livellamento dell'usura ?:
I blocchi di memoria NAND-Flash possono essere scritti e cancellati un numero limitato di volte (indicato come il loro ciclo di vita). Per impedire all'azionamento di soffrire di riduzione della capacità (blocchi morti) ha senso consumare i blocchi il più uniformemente possibile. Il ciclo di vita limitato è anche il motivo principale per cui molte persone suggeriscono di non avere un file di paging o una partizione di swap nel sistema operativo se si utilizza un SSD basato su Nand-flash (anche se le velocità di trasferimento dati dal dispositivo al ram sono anche importanti fattore in quel suggerimento).
Cos'è l'over provisioning ?:
Over Provisioning definisce la differenza tra quanto spazio libero c'è, rispetto a quanto sembra esserci. I dispositivi di archiviazione basati su nand-flash dichiarano di essere più piccoli di quanto non siano in modo da garantire l'utilizzo di blocchi vuoti per lo smaltimento dei rifiuti. Esiste un secondo tipo di provisioning eccessivo chiamato provisioning dinamico eccessivo che si riferisce semplicemente allo spazio libero noto all'interno dello spazio libero mostrato. Esistono due tipi di provisioning dinamico over: livello del sistema operativo e livello del controller dell'unità. A livello del sistema operativo, Trim può essere utilizzato per liberare blocchi che possono essere scritti immediatamente. A livello di controller, è possibile utilizzare spazio su disco non allocato (non partizionato, nessun file system). Avere più blocchi gratuiti aiuta a far funzionare l'unità alle sue migliori prestazioni, perché può scrivere immediatamente.
Cos'è l'amplificazione in scrittura ?:
Poiché i supporti Nand-flash richiedono la cancellazione di un blocco prima che possa essere scritto, tutti i dati all'interno del blocco che non vengono cancellati devono essere copiati in un nuovo blocco mediante smaltimento dei rifiuti. Queste scritture aggiuntive sono chiamate amplificazione della scrittura.
Che cos'è Trim.?:
I sistemi operativi sono realizzati tenendo conto dei tradizionali dischi rigidi. Ricorda che un disco rigido tradizionale può sovrascrivere direttamente i dati. Quando si elimina un file, il sistema operativo lo contrassegna come eliminato (va bene sovrascrivere), ma i dati sono ancora lì fino a quando non si verifica un'operazione di scrittura. Sugli SSD basati su Nand-flash questo è un problema, perché i dati devono prima essere cancellati. La cancellazione avviene a livello di blocco, pertanto potrebbero essere presenti dati aggiuntivi che non vengono eliminati. Lo smaltimento dei rifiuti copia tutti i dati non disponibili per l'eliminazione in blocchi vuoti, quindi i blocchi in questione possono essere cancellati. Tutto ciò richiede tempo e causa scritture non necessarie (amplificazione della scrittura)! Per ovviare a questo è stata creata una funzione chiamata Trim. Trim fornisce al sistema operativo il potere di dire all'SSD per cancellare blocchi con pagine contenenti dati che il sistema operativo ha contrassegnato come cancellati durante i periodi di tempo in cui non si richiede un'operazione di scrittura lì. La garbage collection fa la sua parte e, di conseguenza, i blocchi vengono liberati in modo che si possa sperare che si verifichino delle scritture su blocchi che non devono essere prima cancellati, il che rende il processo più veloce e aiuta a ridurre l'amplificazione della scrittura a un minimo. Ciò non avviene su base file; Trim utilizza l'indirizzamento del blocco logico. L'LBA specifica quali settori (pagine) cancellare e la cancellazione avviene a livello di blocco. e aiuta a ridurre l'amplificazione in scrittura a un minimo. Ciò non avviene su base file; Trim utilizza l'indirizzamento del blocco logico. L'LBA specifica quali settori (pagine) cancellare e la cancellazione avviene a livello di blocco. e aiuta a ridurre l'amplificazione in scrittura a un minimo. Ciò non avviene su base file; Trim utilizza l'indirizzamento del blocco logico. L'LBA specifica quali settori (pagine) cancellare e la cancellazione avviene a livello di blocco.
La risposta alla tua domanda "Svantaggi del partizionamento di un SSD?":
SSD basati su ram:
Non ci sono assolutamente svantaggi perché sono accessi casuali!
SSD basati su Nand-flash:
Gli unici svantaggi che mi vengono in mente sarebbero:
Il livellamento dell'usura non avrà tanto spazio libero con cui giocare, perché le operazioni di scrittura saranno distribuite su uno spazio più piccolo, quindi "potresti", ma non necessariamente consumerai quella parte dell'unità più velocemente di quanto faresti se l'intera unità era una singola partizione a meno che non eseguirai un'usura equivalente sulle partizioni aggiuntive (ad esempio: un doppio avvio).
Come i dischi rigidi, gli SSD nand-flash hanno accesso sequenziale, quindi tutti i dati che scrivi / leggi dalle partizioni aggiuntive saranno più lontani di quanto "potrebbero" essere stati se fossero stati scritti in una singola partizione, perché le persone di solito lasciano spazio libero nelle loro partizioni . Ciò aumenterà i tempi di accesso per i dati archiviati nelle partizioni aggiuntive.
Meno spazio totale aumenta il probabile rischio di scrivere file frammentati e, sebbene l'impatto sulle prestazioni sia ridotto, tieni presente che è generalmente considerata una cattiva idea la deframmentazione di un SSD nand-flash perché consumerà il disco rigido. Ovviamente, a seconda del file system in uso, si ottengono quantità estremamente ridotte di frammentazione, poiché sono progettate per scrivere i file nel loro insieme ogni volta che è possibile anziché scaricarli ovunque per creare velocità di scrittura più elevate.
Direi che va bene avere più partizioni, ma indossare il livellamento potrebbe essere un problema se alcune partizioni ottengono molte attività di scrittura e altre ne ottengono molto poco. Se non si partiziona lo spazio che non si prevede di utilizzare e lo si lascia invece al provisioning dinamico rispetto al provisioning, è possibile ricevere un aumento delle prestazioni perché sarà più semplice liberare blocchi e scrivere dati sequenziali. Tuttavia, non vi è alcuna garauntee che sarà necessario spazio eccessivo per il provisioning, il che ci riporta al punto 1 sul livellamento dell'usura.
Alcune altre persone in questo thread hanno sollevato discussioni su come il partizionamento influenzerà i contributi di Trim al provisioning dinamico. A mio avviso, TRIM viene utilizzato per indicare settori (pagine) che hanno i dati contrassegnati per l'eliminazione, quindi lo smaltimento dei rifiuti può cancellare liberamente quei blocchi. Questo spazio libero funge da dinamico rispetto al provisioning solo all'interno di QUESTA partizione, poiché quei settori fanno parte dei cluster utilizzati dal file system di quella partizione; altre partizioni hanno i loro filesystem. Tuttavia, potrei sbagliarmi completamente poiché l'idea di over provisioning non è abbastanza chiara per me poiché i dati verranno scritti in luoghi che non hanno nemmeno filesystem o compaiono nella capacità delle unità. Questo mi chiedo se forse lo spazio di provisioning eccessivo viene utilizzato su base temporanea prima di un'operazione di scrittura optomizzata finale su blocchi all'interno di un filesystem? Ovviamente i contributi di Trim al provisioning dinamico e over all'interno del filesystem non sarebbero temporanei in quanto potrebbero essere scritti direttamente poiché sono già nello spazio utilizzabile. Questa è almeno la mia teoria. Forse la mia comprensione dei filesystem è sbagliata? Non sono stato in grado di trovare risorse che vadano nel dettaglio.