Perché gli SSD hanno dimensioni strane?


82

Perché gli SSD hanno dimensioni come 240 GB o 120 GB anziché i normali 256 GB o 512 GB? Quei numeri hanno molto più senso di 240 o 120.


45
Perché quei numeri hanno più senso?
Matthew Williams,

8
@MatthewWilliams Penserei perché sono divisioni frazionarie della misura di memoria più grande. 256 GB sono 1/4 di terabyte, 512 GB sono 1/2 e così via.
Mosè,

44
@MatthewWilliams Ho detto che a causa dell'aritmetica di base 2: 2 ^ 8 = 256, 2 ^ 9 = 512, e così via
Dudemanword,

17
Aspettarsi che le unità vengano ridimensionate con una potenza di 2 è sciocco poiché le unità non sono mai state ridimensionate con potenze di 2. Un'unità da 1 TB non è 2 40 byte, in genere è 10 12 byte.
Zoredache,

7
@Zoredache Questo ha senso per gli HDD, ma stiamo parlando di SSD. Il suo archivio è sostanzialmente transistor che può contenere solo 2 stati. Quindi, nella mia mente, gli SSD dovrebbero sempre essere radix 2. Le risposte hanno contribuito a chiarire l'ambiguità però
Dudemanword,

Risposte:


101

Mentre molti SSD moderni come la serie 840 EVO forniscono le dimensioni a cui sei abituato, i 256 GB citati, i produttori hanno usato per conservare un po 'di spazio di archiviazione per i meccanismi che combattono il calo delle prestazioni e i difetti.

Se, ad esempio, hai acquistato un'unità da 120 GB, puoi essere abbastanza sicuro che sia realmente 128 GB internamente. Lo spazio preservato offre semplicemente al controller / firmware spazio per elementi come TRIM, Garbage Collection e Wear Leveling. È stata pratica comune lasciare un po 'di spazio ineguagliato - sopra lo spazio che è già stato reso invisibile dal controller - quando gli SSD sono arrivati ​​sul mercato per la prima volta, ma gli algoritmi sono notevolmente migliorati, quindi non è necessario fallo ancora.

EDIT: ci sono stati alcuni commenti sul fatto che questo fenomeno deve essere spiegato con la discrepanza tra lo spazio pubblicizzato, espressa in GigaBytes (ad esempio 128x 10 ^ 9 byte) rispetto al valore GibiByte che mostra il sistema operativo, che è — la maggior parte del tempo: una potenza di due, calcolando a 119.2 Gibibyte in questo esempio.

Per quanto ne so, questo è qualcosa che si aggiunge alle cose già spiegate sopra. Anche se non posso certamente affermare quali algoritmi esatti richiedono la maggior parte di quello spazio extra, il calcolo rimane lo stesso. Il produttore assembla un SSD che effettivamente utilizza una potenza di due numeri di celle flash (o una combinazione di tali), sebbene il controller non renda tutto lo spazio visibile al sistema operativo. Lo spazio che rimane è pubblicizzato come Gigabyte, in questo esempio guadagna 111 Gibibyte.


2
Solo che alcuni SSD ora usano stati TLC (a tre livelli) e in realtà hanno bisogno di PIÙ spazio riservato rispetto alle unità precedenti a causa dei tassi di errore più elevati. Il software Magician per il mio disco Samsung EVO mi ha consigliato di riservare più spazio durante l'installazione. Quindi, invece di un terabyte, sono solo 920 GB.
Zan Lynx,

2
Intendi la discrepanza tra Gibibyte e Gigabyte? Ho capito la domanda in modo diverso, poiché questa discrepanza si aggiunge al fenomeno 120 contro 128 GB. L'acquisto di un SSD con dimensioni pubblicizzate di 120 GB ti farà risparmiare ancora meno spazio utilizzabile visualizzato nel sistema operativo.
Patrick R.,

4
@Matthew Bene, questo era quello che stavo cercando di dire - posso confermare che non si è fermato. Il mio Samsung 840 512G mi offre solo poco più di 465G di spazio utilizzabile. Dispiace per la confusione. Quindi, per riassumere, un SSD pubblicizzato come 120 GB potrebbe avere fisicamente 128.000.000.000 di byte, 120.000.000.000 di spazio utilizzabile per le partizioni, portando a ~ 110 visualizzati dal sistema operativo.
Patrick R.,

27
Il termine tecnico è overprovisioning .
Ben Voigt,

1
@ADTC Perché 8 GB su 128 GB dovrebbero essere troppo? Soprattutto le cellule multi-livello tendono a vivere non fino a quando lo desideri. Dal momento che i produttori non vogliono che tu restituisca il tuo SSD entro il tempo di garanzia, ha sicuramente senso riservare così tanto spazio. La falsa pubblicità è stata anche discussa in precedenza, questo è qualcosa che viene in cima. Acquistate 120 GB pubblicizzati, ottenete 128x10 ^ 9 byte, compensando ~ 110 Gibibyte visualizzati nel sistema operativo.
Patrick R.

23

I dischi rigidi sia meccanici che a stato solido hanno una capacità grezza superiore alla loro capacità nominale. La capacità "extra" viene tenuta da parte per sostituire i settori danneggiati, quindi le unità non devono essere perfette al di fuori della linea di assemblaggio e in modo che i settori danneggiati possano essere mappati successivamente durante l'uso ai settori di riserva. Durante i test iniziali in fabbrica, tutti i settori danneggiati vengono mappati ai settori di riserva. Quando l'unità viene utilizzata, monitora i settori (utilizzando routine di correzione degli errori per rilevare errori a livello di bit) e quando un settore inizia a danneggiarsi, copia il settore in uno di riserva, quindi lo rimappa. Ogni volta che viene richiesto quel settore, l'unità passa al nuovo settore anziché al settore originale.

Sulle unità meccaniche, possono aggiungere quantità arbitrarie di spazio di archiviazione in quanto controllano la codifica di servo, testa e piatto, quindi possono avere una memoria nominale di 1 terabyte con 1 gigabyte aggiuntivo di spazio di riserva per la rimappatura del settore.

Tuttavia, gli SSD utilizzano la memoria flash, che viene sempre prodotta con potenze di due. Il silicio richiesto per decodificare un indirizzo è lo stesso per un indirizzo a 8 bit che accede a 200 byte come un indirizzo a 8 bit che accede a 256 byte. Dal momento che quella parte del silicio non cambia di dimensioni, l'uso più efficiente del silicon realestate è quello di utilizzare potenze di due nella capacità flash effettiva.

Quindi i produttori di unità sono bloccati con una capacità grezza totale in potenze di 2, ma devono ancora mettere da parte una parte della capacità grezza per la rimappatura del settore. Ciò porta a 256 GB di capacità raw che fornisce solo 240 GB di capacità utilizzabile, ad esempio.


6

In poche parole, tutti gli SSD non sono, alla base, ciò che pubblicizzano. Ciò che pubblicizzano è lo spazio su disco "utilizzabile". Per la maggior parte delle unità con 120 GB di spazio di archiviazione "utilizzabile", l'unità di base è in realtà un'unità da 128 GB. 8 GB sono riservati per alcune attività specifiche di gestione in background, come indicato in precedenza.

Ora, tecnicamente potrebbero schiaffeggiare un altro chip sul pezzo per darti 128 GB di spazio "utilizzabile", ma questo costa più soldi. Le aziende che realizzano unità hanno capito che alla gente interessa di più quanto sia grande la loro unità che se il suo spazio utilizzabile sia in realtà un multiplo di 2.

Sidenote: in realtà ci sono alcuni modi per scrivere il codice di sistema richiesto, motivo per cui vedrai unità da 120, 124 e 128 GB di diversi produttori. Dispongono tutti di 128 GB di spazio "grezzo", ma gestiscono le cose di sfondo richieste in modo diverso. Nessuna versione della codifica dell'unità è così migliore delle altre che nella maggior parte dei casi la noteresti. Potresti notare una leggera differenza nei benchmark delle prestazioni, ma è molto improbabile che se ne accorga a meno che il tuo computer non stia facendo un duro lavoro e non sai cosa cercare.


5
non multiplo di 2, ma potenza di 2.
Keltari

2

Crescere con poteri di due è un concetto strettamente matematico che rende facile prendere scorciatoie matematiche in un computer basato su due stati. Ciò significa che un computer può eseguire la moltiplicazione o la divisione di numeri interi per un fattore due con la stessa facilità con cui è possibile moltiplicare o dividere un numero per 10. È sufficiente spostare le cifre a sinistra o a destra senza dover eseguire effettivamente un calcolo.

Ogni linguaggio di programmazione ha un operatore per queste semplici operazioni, in linguaggi simil-C, sono n >> maka shift n right m bitsaka divide n by 2^me n << maka shift leftaka multiply n by 2^m. All'interno del processore questa operazione generalmente richiede un ciclo e avviene sui dati sul posto. Qualsiasi altra operazione aritmetica, come la moltiplicazione per 3, richiede di invocare una ALU [Arithmetic Logic Unit] per trascorrere un ciclo in più o due per eseguire il marshalling dei bit e copiare il risultato in un certo registro. Heaven ti aiuta se hai bisogno di precisione in virgola decimale e viene coinvolta la FPU [Floating Point Unit].

Comunque, questo è il motivo per cui al tuo computer piace riferirsi a tutto internamente come potenze di due. Se la macchina dovesse andare a un'operazione ALU ogni volta che voleva fare qualche semplice calcolo matematico per calcolare un offset del puntatore di memoria, il computer eseguirà un ordine di grandezza più lento.

La crescita dell'archiviazione fisica, d'altra parte, è governata meno dalla matematica binaria grezza di quanto non lo sia dalla fisica, dall'ingegneria e dal * soffocamento sulla parola * marketing. Con un disco mandrino la capacità è determinata da: il numero di piatti, la dimensione dei piatti, la dimensione dei "cilindri" e il numero di settori che possono adattarsi a un cilindro. Questi sono generalmente determinati più dalle capacità fisiche dell'hardware e dalla precisione delle testine di lettura / scrittura che da qualsiasi altra cosa.

Non sono così intimamente familiare con le caratteristiche interne degli SSD, ma immagino che il ridimensionamento sia basato su: possiamo costruire una matrice di settori N x M NAND, sovrapporli K in profondità in un chip e inserire J in chip una custodia per HDD da 2,5 ". Riservate l'H% di esse per l'ottimizzazione delle prestazioni, arrotondate il numero al multiplo più vicino del 5/10/20 e questa è la capacità dell'unità che stamperemo sulla scatola.

Avere uno qualsiasi di questi calcoli a una potenza netta di due sarà un colpo di fortuna completo e di scarso beneficio per chiunque.


Vorrei sottolineare che la facilità d'uso di quegli operatori di turno dipende anche dal comportamento del padding (0-pad o 1-pad) dell'architettura che si sta prendendo di mira. Certo, questo non è un problema con le lingue di livello superiore di oggi
Dudemanword,

Da quello che ho sentito un buon compilatore anche andare avanti e sostituire le operazioni matematiche erranti come var = var / 256con var >> 8per voi in questi giorni.
Sammitch,

2
I chip di memoria sono sempre dimensionati come potenze di due, quindi il numero di indirizzi validi è esattamente limitato dal numero di segnali di indirizzo. Ciò ovvia alla necessità di un segnale di errore "Chip selezionato per indirizzo fuori intervallo" e rende molto più facile il rilevamento delle dimensioni. L'unità complessiva potrebbe non essere una potenza di 2 se il numero di chip di memoria non lo è (i primi SSD Intel utilizzavano 10 canali ciascuno con 128 GB, per un totale di 160 GB, per un leggero vantaggio rispetto ai modelli della concorrenza da 128 GB)
Ben Voigt

-8

Negli SSD più vecchi la capacità era in multipli di 8 perché vi sono 8 "bit" (0/1) in un "byte". Proprio come con le unità flash, questo era in un momento in cui le persone non vedevano i vantaggi di un SSD e ogni "bit" aiutava.

Ora che i consumatori sono più consapevoli della tecnologia SSD e anche con i progressi della tecnologia, i produttori di SSD li stanno riportando ai numeri più familiari da una combinazione "stimando" le dimensioni, proprio come il mercato degli HDD, e combinando chip di dimensioni diverse per ottenere un numero pari di 10, (ad esempio 6 GB + 4 GB = 10 GB)


Potresti forse confondere bit e byte?
James McLeod,
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.