Pourquoi les SSD ont-ils des tailles étranges?

82

Pourquoi les disques SSD ont-ils une taille de 240 Go ou 120 Go au lieu des 256 Go ou 512 Go habituels? Ces chiffres ont beaucoup plus de sens que 240 ou 120.

Dudemanword
la source
45
Pourquoi ces chiffres ont-ils plus de sens?
Matthew Williams le
8
@ MatthewWilliams, je pense, car ce sont des divisions fractionnaires de la mesure de stockage la plus grande. 256 Go correspond à 1/4 de téraoctet, 512 Go à 1/2 et ainsi de suite.
Moïse
44
@MatthewWilliams J'ai dit qu'en raison de l'arithmétique en base 2: 2 ^ 8 = 256, 2 ^ 9 = 512, etc.
Dudemanword, le
17
Attendre que les lecteurs soient dimensionnés avec une puissance de 2 est ridicule, car les lecteurs n'ont jamais été dimensionnés avec des puissances de 2. Un lecteur de 1 To n'est pas compris entre 2 et 40 octets, il représente généralement 10 12 octets.
Zoredache
7
@Zoredache Ceci est logique pour les disques durs, mais nous parlons de SSD. Son stockage est essentiellement constitué de transistors ne pouvant contenir que 2 états. Donc, dans mon esprit, les disques SSD devraient toujours être à la base 2. Les réponses ont permis de clarifier l'ambiguïté
Dudemanword

Réponses:

101

Bien que de nombreux SSD modernes, tels que la série 840 EVO, offrent les tailles habituelles, le fabricant de 256 Go mentionné précédemment permet de conserver un peu de stockage pour les mécanismes luttant contre les baisses et les défauts de performances.

Si vous avez, par exemple, acheté un lecteur de 120 Go, vous pouvez être presque certain qu'il s'agit réellement de 128 Go en interne. L'espace préservé donne simplement la salle du contrôleur / firmware pour des choses comme TRIM, le ramassage des ordures et le nivellement d'usure. Il était courant de laisser un peu d’espace sans part, en plus de l’espace déjà rendu invisible par le contrôleur, lorsque les disques SSD sont arrivés sur le marché, mais que les algorithmes se sont considérablement améliorés. fais ça plus.

EDIT: Certains commentaires ont été commentés sur le fait que ce phénomène doit être expliqué par la différence entre l’espace annoncé, exprimée en giga-octets (par exemple, 128 x 10 ^ 9 octets) et la valeur en giga-octet indiquée par le système d’exploitation, qui est - la plupart des temps - une puissance de deux, calculant à 119,2 Gibibyte dans cet exemple.

Pour autant que je sache, c'est quelque chose qui s'ajoute aux choses déjà expliquées ci-dessus. Bien que je ne puisse certainement pas dire quels algorithmes exacts nécessitent le plus d'espace, le calcul reste le même. Le fabricant assemble un disque SSD qui utilise en effet une puissance de deux cellules flash (ou une combinaison des deux), bien que le contrôleur ne rende pas tout cet espace visible au système d'exploitation. L'espace restant est annoncé en gigaoctets, ce qui représente 111 giga-octets dans cet exemple.

Patrick R.
la source
2
Sauf que certains SSD utilisent maintenant les états TLC (à trois niveaux) et ont réellement besoin de plus d'espace réservé que les disques précédents en raison des taux d'erreur plus élevés. Le logiciel Magician pour mon lecteur Samsung EVO a recommandé de réserver plus d’espace lors de la configuration. Donc, au lieu d’un téraoctet, c’est seulement 920 Go.
Zan Lynx
2
Voulez-vous dire l'écart entre gibibyte et gigaoctet? J'ai compris la question différemment, car cet écart s'ajoute au phénomène des 120 vs 128 Go. L'achat d'un SSD d'une taille annoncée de 120 Go vous permettra de disposer de moins d'espace utilisable affiché dans le système d'exploitation.
Patrick R.
4
@ Matthew Eh bien, c'est ce que j'essayais de dire - je peux confirmer que cela ne s'est pas arrêté. Mon 512G Samsung 840 ne m'apporte qu'un peu plus de 465 Go d'espace utilisable. Désolé pour la confusion. Donc, pour résumer, un disque SSD annoncé comme étant de 120 Go peut avoir physiquement 128 000 000 000 octets, 120 000 000 000 d’espace utilisable pour les partitions - conduisant à environ 110 affichés par le système d’exploitation.
Patrick R.
27
Le terme technique est surapprovisionnement .
Ben Voigt le
1
@ADTC Pourquoi 8 Go sur 128 Go seraient-ils trop? Les cellules à niveaux multiples, en particulier, ont tendance à ne pas vivre aussi longtemps que vous le souhaitez. Les fabricants ne souhaitant pas que votre SSD soit restitué dans les délais de garantie, il est donc logique de réserver autant d’espace. La fausse publicité a également été discutée auparavant, c'est quelque chose qui vient en tête. Vous achetez 120 Go annoncés, vous obtenez 128x10 ^ 9 octets, en vous libérant ~ 110 gibyctets affichés dans le système d'exploitation.
Patrick R.
23

Les disques durs mécaniques et à semi-conducteurs ont une capacité brute supérieure à leur capacité nominale. La "capacité" supplémentaire est réservée pour remplacer les secteurs défectueux, de sorte que les disques ne doivent pas être parfaitement positionnés en dehors de la chaîne de montage et que les secteurs défectueux puissent être cartographiés ultérieurement lors de leur utilisation. Lors des tests initiaux en usine, les secteurs défectueux sont mappés aux secteurs de réserve. Lorsque le lecteur est utilisé, il surveille les secteurs (à l'aide de routines de correction d'erreur pour détecter les erreurs au niveau des bits) et lorsqu'un secteur commence à mal fonctionner, il copie le secteur sur un disque en réserve, puis le remappe. Chaque fois que ce secteur est demandé, le lecteur passe au nouveau secteur plutôt qu'au secteur d'origine.

Sur les disques mécaniques, ils peuvent ajouter des quantités arbitraires de mémoire de secours puisqu'ils contrôlent l'encodage des servos, des têtes et des plateaux, afin de disposer d'une capacité de stockage nominale de 1 téraoctet avec 1 Go d'espace disponible supplémentaire pour le remappage de secteur.

Cependant, les SSD utilisent une mémoire flash, qui est toujours fabriquée avec une puissance de deux. Le silicium requis pour décoder une adresse est le même pour une adresse de 8 bits accédant à 200 octets qu'une adresse de 8 bits accédant à 256 octets. Puisque la taille de cette partie du silicium ne change pas, l'utilisation la plus efficace de la réalité du silicium consiste à utiliser des puissances de deux dans la capacité de flash réelle.

Les fabricants de disques durs sont donc bloqués avec une capacité brute totale de 2, mais ils doivent encore mettre de côté une partie de la capacité brute pour la reconfiguration du secteur. Cela conduit à une capacité brute de 256 Go pour ne fournir que 240 Go de capacité utilisable, par exemple.

Adam Davis
la source
6

En termes simples, tous les disques SSD sont, à la base, pas ce qu’ils annoncent. Ce qu'ils annoncent, c'est l'espace disque "utilisable". Pour la plupart des disques avec 120 Go de stockage "utilisables", le lecteur de base est en réalité un lecteur de 128 Go. 8 Go est réservé à certaines tâches de gestion d'arrière-plan spécifiques, comme indiqué précédemment.

Maintenant, techniquement, ils pourraient taper une autre puce sur la pièce pour vous donner 128 Go d'espace "utilisable", mais cela coûte plus cher. Les entreprises qui réalisent des campagnes ont réalisé que les utilisateurs se préoccupaient davantage de l’importance de leur lecteur que de savoir si son espace utilisable était en réalité un multiple de 2.

Sidenote - Il existe en fait plusieurs façons d’écrire le code système requis. C’est pourquoi vous verrez des disques de 120, 124 et 128 Go de différents fabricants. Ils disposent tous de 128 Go d’espace «brut», mais ils gèrent différemment les éléments d’arrière-plan requis. Aucune version du codage de lecteur n'est tellement meilleure que les autres que vous le remarqueriez dans la plupart des cas. Vous remarquerez peut-être une légère différence dans les points de repère de performances, mais il est très peu probable que vous le remarquiez à moins que votre ordinateur ne fasse de gros travaux et que vous sachiez quoi rechercher.

utilisateur319078
la source
5
pas multiple de 2, mais puissance de 2.
Keltari
2

La croissance par puissance de deux est un concept strictement mathématique qui facilite la prise de raccourcis mathématiques dans un ordinateur basé sur deux états. Autrement dit, un ordinateur peut multiplier ou diviser par deux le nombre entier, et multiplier ou diviser un nombre par 10. Il vous suffit de décaler les chiffres vers la gauche ou vers la droite sans avoir à effectuer de calcul.

Chaque langage de programmation a un opérateur pour ces opérations simples, dans les langages C-like, ils sont n >> maka shift n right m bitsaka divide n by 2^m, et n << maka shift leftaka multiply n by 2^m. À l’intérieur du processeur, cette opération prend généralement un cycle et concerne les données en place. Toute autre opération arithmétique, telle que la multiplication par 3, nécessite d’appeler une unité logique logique arithmétique (ALU) pour passer un cycle supplémentaire ou deux et structurer les bits, puis de recopier le résultat dans un certain registre. Heaven vous aide si vous avez besoin d'une précision de virgule décimale et que la FPU [Unité à virgule flottante] est impliquée.

Quoi qu’il en soit, c’est la raison pour laquelle votre ordinateur aime appeler tout ce qui se trouve en interne comme une puissance de deux. Si la machine devait effectuer une opération ALU chaque fois qu'elle voulait effectuer un calcul simple pour calculer un décalage de pointeur de mémoire, votre ordinateur fonctionnerait un ordre de grandeur plus lent.

La croissance du stockage physique, en revanche, est moins régie par les mathématiques binaires brutes que par la physique, l’ingénierie et le mot * marketing. Avec un disque de broche, la capacité est déterminée par: le nombre de plateaux, la taille des plateaux, la taille des "cylindres" et le nombre de secteurs pouvant entrer dans un cylindre. Celles-ci sont généralement davantage déterminées par les capacités physiques du matériel et par la précision des têtes de lecture / écriture.

Je ne connais pas aussi bien les caractéristiques internes des disques SSD, mais j’imagine que la mise à l’échelle est basée sur: nous pouvons construire un tableau de N x M secteurs NAND, les superposer à une profondeur K dans une puce et les insérer dans la puce J un disque dur 2.5 ". Réservez H% d'entre eux pour l'optimisation des performances, arrondissez le nombre au multiple le plus proche de 5/10/20, ce qui correspond à la capacité du lecteur que nous allons imprimer sur le carton.

Faire en sorte que l'un de ces calculs aboutisse à une petite puissance nette de deux sera un coup de chance complet et n'apportera que peu d'avantages à quiconque.

Sammitch
la source
Je voudrais noter que la facilité d'utilisation de ces opérateurs dépend également du comportement de remplissage (0 ou 1 pad) de l'architecture que vous ciblez. Certes, ce n'est pas un problème avec les langages de niveau plus élevé d'aujourd'hui
Dudemanword
D'après ce que j'entends un bon compilateur va même aller de l' avant et de remplacer des opérations mathématiques comme errantes var = var / 256avec var >> 8pour vous ces jours -ci .
Sammitch
2
Les puces mémoire ont toujours la taille d'une puissance de deux, de sorte que le nombre d'adresses valides est limité exactement par le nombre de signaux d'adresse. Cela évite la nécessité d'un signal d'erreur "puce sélectionnée par adresse hors de portée" et facilite également la détection de la taille. Si le nombre de puces de mémoire n’est pas suffisant, le lecteur n’aura peut-être pas une puissance de 2 (les anciens SSD Intel utilisaient 10 canaux chacun avec 128 Go, pour un total de 160 Go, ce qui représente un léger avantage par rapport aux modèles 128 Go de leurs concurrents)
Ben Voigt
-8

Dans les SSD plus anciens, la capacité était en multiples de 8 car il y a 8 "bits" (0/1) dans un "octet". Tout comme avec les lecteurs flash, c’était à une époque où les utilisateurs ne voyaient pas les avantages d’un disque SSD, et chaque élément leur était utile.

Maintenant que les consommateurs sont plus conscients de la technologie des disques SSD et des avancées technologiques, les fabricants de disques SSD les ramènent aux chiffres plus connus en combinant "l'estimation de la taille", comme le marché des disques durs, et en combinant des puces de tailles différentes pour obtenir un nombre pair 10, (par exemple 6 Go + 4 Go = 10 Go)

Charles Keisler
la source
Pourriez-vous peut-être confondre bits et octets?
James McLeod