Warum haben SSDs seltsame Größen?

82

Warum haben SSDs Größen wie 240 GB oder 120 GB anstatt der normalen 256 GB oder 512 GB? Diese Zahlen sind viel sinnvoller als 240 oder 120.

Dudemanword
quelle
45
Warum machen diese Zahlen mehr Sinn?
Matthew Williams
8
@MatthewWilliams Ich würde denken, weil sie Bruchteile der größeren Speichermessung sind. 256 GB sind 1/4 Terabyte, 512 GB sind 1/2 und so weiter.
Moses
44
@MatthewWilliams Ich sagte, dass wegen der Basis 2 Arithmetik: 2 ^ 8 = 256, 2 ^ 9 = 512, usw.
Dudemanword
17
Die Größe von Laufwerken mit einer Potenz von 2 zu erwarten, ist albern, da Laufwerke im Grunde nie mit Potenzen von 2 dimensioniert wurden. Ein 1-TB-Laufwerk ist nicht 2 40 Bytes groß , sondern normalerweise 10 12 Bytes.
Zoredache
7
@Zoredache Dies ist sinnvoll für Festplatten, aber wir sprechen über SSDs. Sein Speicher sind im Grunde Transistoren, die nur 2 Zustände halten können. Meiner Meinung nach sollten SSDs also immer die Basis 2 sein. Die Antworten haben jedoch dazu beigetragen, die Mehrdeutigkeit zu klären
Dudemanword vom

Antworten:

101

Während viele moderne SSDs wie die 840 EVO-Serie die Größen bieten, die Sie gewohnt sind, haben die genannten 256 GB die Hersteller verwendet, um ein wenig Speicherplatz für Mechanismen zu sparen, die Leistungseinbußen und -mängel bekämpfen.

Wenn Sie beispielsweise ein 120-GB-Laufwerk gekauft haben, können Sie sich ziemlich sicher sein, dass es tatsächlich 128 GB umfasst. Der beibehaltene Platz gibt dem Controller / der Firmware einfach Platz für Dinge wie TRIM, Garbage Collection und Wear Leveling. Es ist allgemein üblich, einen Teil des Speicherplatzes - über den Speicherplatz, der bereits vom Controller unsichtbar gemacht wurde - freizugeben, als SSDs zum ersten Mal auf den Markt kamen. Die Algorithmen wurden jedoch erheblich verbessert, sodass Sie dies nicht tun sollten mach das nicht mehr

BEARBEITEN: Es gab einige Kommentare bezüglich der Tatsache, dass dieses Phänomen mit der Diskrepanz zwischen dem in GigaBytes angegebenen Speicherplatz (z. B. 128 x 10 ^ 9 Bytes) und dem vom Betriebssystem angezeigten GibiByte-Wert erklärt werden muss Zeit - eine Zweierpotenz, die in diesem Beispiel mit 119,2 Gibibyte berechnet wird.

Soweit ich weiß, kommt dies zu den bereits oben erläuterten Dingen hinzu. Ich kann zwar nicht genau sagen, welche Algorithmen den größten Teil des zusätzlichen Speicherplatzes benötigen, aber die Berechnung bleibt gleich. Der Hersteller baut eine SSD zusammen, die tatsächlich eine Leistung von zwei Flash-Zellen (oder einer Kombination davon) verwendet, obwohl der Controller nicht den gesamten Platz für das Betriebssystem sichtbar macht. Der verbleibende Speicherplatz wird als Gigabyte angegeben. In diesem Beispiel erhalten Sie 111 Gibibyte.

Patrick R.
quelle
2
Mit der Ausnahme, dass einige SSDs jetzt TLC-Zustände (Tri-Level) verwenden und aufgrund der höheren Fehlerraten tatsächlich MEHR reservierten Speicherplatz als frühere Laufwerke benötigen. Die Magician-Software für mein Samsung EVO-Laufwerk empfahl, bei der Einrichtung mehr Speicherplatz zu reservieren. Anstelle eines Terabytes sind es also nur 920 GB.
Zan Lynx
2
Meinen Sie die Diskrepanz zwischen Gibibyte und Gigabyte? Ich habe die Frage anders verstanden, da diese Diskrepanz über das Phänomen von 120 gegenüber 128 GB hinausgeht. Wenn Sie eine SSD mit einer angegebenen Größe von 120 GB kaufen, erhalten Sie noch weniger Speicherplatz, der im Betriebssystem angezeigt wird.
Patrick R.
4
@Matthew Nun, das war es, was ich sagen wollte - ich kann bestätigen, dass dies nicht aufgehört hat. Mein 512G Samsung 840 bringt mir nur etwas mehr als 465G Nutzfläche ein. Entschuldigung für die Verwirrung. Zusammenfassend kann gesagt werden, dass eine als 120 GB angekündigte SSD physisch 128.000.000.000 Byte und 120.000.000.000 Byte als für Partitionen verwendbarer Speicherplatz haben kann. Dies führt zu ~ 110, die vom Betriebssystem angezeigt werden.
Patrick R.
27
Der Fachbegriff ist Überprovisionierung .
Ben Voigt
1
@ADTC Warum sollten 8 GB von 128 GB zu viel sein? Insbesondere Zellen mit mehreren Ebenen leben in der Regel nicht so lange, wie Sie es möchten. Da die Hersteller nicht möchten, dass Sie Ihre SSD innerhalb der Garantiezeit zurückgeben, ist es auf jeden Fall sinnvoll, so viel Platz zu reservieren. Die falsche Werbung wurde auch schon früher besprochen, das ist etwas, das oben drauf kommt. Sie kaufen 120 GB beworben, Sie erhalten 128 x 10 ^ 9 Byte, wodurch Sie ~ 110 Gibibyte im Betriebssystem angezeigt bekommen.
Patrick R.
23

Sowohl mechanische als auch Festkörperfestplatten haben eine Rohkapazität, die über ihrer Nennkapazität liegt. Die "zusätzliche" Kapazität wird zum Ersetzen fehlerhafter Sektoren zur Seite gestellt, sodass die Laufwerke nicht direkt vom Band laufen müssen und fehlerhafte Sektoren später während der Verwendung den Ersatzsektoren neu zugeordnet werden können. Während der ersten Tests im Werk werden alle fehlerhaften Sektoren den Ersatzsektoren zugeordnet. Während der Verwendung des Laufwerks werden die Sektoren überwacht (mithilfe von Fehlerkorrekturroutinen, um Fehler auf Bitebene zu erkennen). Wenn ein Sektor fehlerhaft wird, kopiert es den Sektor in ein Ersatzlaufwerk und ordnet ihn dann neu zu. Immer wenn dieser Sektor angefordert wird, wechselt das Laufwerk zum neuen Sektor und nicht zum ursprünglichen Sektor.

Bei mechanischen Laufwerken können sie eine beliebige Menge an Ersatzspeicher hinzufügen, da sie die Servo-, Kopf- und Plattentellercodierung steuern, sodass sie über einen Nennspeicher von 1 Terabyte mit einem zusätzlichen 1-Gigabyte-Ersatzspeicher für die Neuzuordnung von Sektoren verfügen können.

SSDs verwenden jedoch Flash-Speicher, der immer in Zweierpotenzen hergestellt wird. Das zum Decodieren einer Adresse erforderliche Silizium ist für eine 8-Bit-Adresse, die auf 200 Bytes zugreift, dasselbe wie für eine 8-Bit-Adresse, die auf 256 Bytes zugreift. Da sich dieser Teil des Siliziums in seiner Größe nicht ändert, besteht die effizienteste Verwendung des Silizium-Realzustandes darin, Potenzen von zwei in der tatsächlichen Flash-Kapazität zu verwenden.

Die Festplattenhersteller sind also mit einer Rohkapazität in Potenzen von 2 festgefahren, müssen jedoch immer noch einen Teil der Rohkapazität für die Neuzuordnung des Sektors beiseite legen. Dies führt dazu, dass 256 GB Raw-Kapazität nur 240 GB nutzbare Kapazität zur Verfügung stellen.

Adam Davis
quelle
6

Einfach ausgedrückt, sind alle SSDs im Grunde genommen nicht das, was sie bewerben. Was sie ankündigen, ist der "nutzbare" Speicherplatz. Bei den meisten Laufwerken mit 120 "verwendbaren" GB Speicher handelt es sich bei dem Basislaufwerk tatsächlich um ein 128-GB-Laufwerk. 8 GB sind, wie bereits erwähnt, für bestimmte Hintergrundverwaltungsaufgaben reserviert.

Technisch gesehen könnten sie einen weiteren Chip auf das Teil stecken, um 128 GB "nutzbaren" Speicherplatz zu schaffen, aber das kostet mehr Geld. Die Unternehmen, die Laufwerke herstellen, haben erkannt, dass es den Leuten mehr darum geht, wie groß ihr Laufwerk ist, als darum, ob der nutzbare Speicherplatz tatsächlich ein Vielfaches von 2 ist.

Hinweis: Es gibt tatsächlich einige Möglichkeiten, den erforderlichen Systemcode zu schreiben. Daher werden 120, 124 und 128 GB-Laufwerke verschiedener Hersteller angezeigt. Sie haben alle 128 GB "unformatierten" Speicherplatz, behandeln die erforderlichen Hintergrundinformationen jedoch unterschiedlich. Keine Version der Laufwerkscodierung ist so viel besser als die anderen, dass Sie es in den meisten Fällen bemerken würden. Möglicherweise stellen Sie einen geringfügigen Unterschied bei den Leistungsbenchmarks fest, aber es ist sehr unwahrscheinlich, dass Sie einen Unterschied feststellen, es sei denn, Ihr Computer hebt schwer und Sie wissen, worauf Sie achten müssen.

user319078
quelle
5
nicht vielfaches von 2, aber Potenz von 2.
Keltari
2

Das Wachsen mit Zweierpotenzen ist ein rein mathematisches Konzept, das es einfach macht, mathematische Verknüpfungen in einem Computer zu verwenden, der auf zwei Zuständen basiert. Das heißt, ein Computer kann eine ganzzahlige Multiplikation oder Division mit dem Faktor zwei so einfach durchführen, wie Sie eine Zahl mit 10 multiplizieren oder dividieren können. Sie verschieben die Ziffern einfach nach links oder rechts, ohne tatsächlich eine Berechnung durchführen zu müssen.

Jede Programmiersprache hat eine Betreiber für diese einfache Operationen, in C-ähnlichen Sprachen, sie sind n >> maka shift n right m bitsaka divide n by 2^mund n << maka shift leftaka multiply n by 2^m. Innerhalb des Prozessors dauert dieser Vorgang im Allgemeinen einen Zyklus und geschieht mit den Daten an Ort und Stelle. Jede andere arithmetische Operation, wie das Multiplizieren mit 3, erfordert das Aufrufen einer ALU [Arithmetic Logic Unit], um einen zusätzlichen Zyklus oder zwei Marshalling-Vorgänge durchzuführen und das Ergebnis zurück in ein bestimmtes Register zu kopieren. Der Himmel hilft Ihnen, wenn Sie Dezimalstellen benötigen und die FPU [Floating Point Unit] beteiligt ist.

Aus diesem Grund bezeichnet Ihr Computer alles intern gerne als Zweierpotenzen. Wenn die Maschine jedes Mal zu einer ALU-Operation wechseln müsste, wenn sie eine einfache Berechnung durchführen wollte, um einen Speicherzeigerversatz zu berechnen, würde Ihr Computer eine Größenordnung langsamer laufen.

Das Wachstum des physischen Speichers, auf der anderen Seite wird weniger geregelt durch rohe binäre Berechnungen als es von Physik, Technik ist, und * Drosseln auf dem Wort * Marketing. Bei einer Spindelscheibe wird die Kapazität bestimmt durch: die Anzahl der Platten, die Größe der Platten, die Größe der "Zylinder" und die Anzahl der Sektoren, die in einen Zylinder passen können. Diese werden im Allgemeinen mehr von den physischen Fähigkeiten der Hardware und der Präzision der Lese- / Schreibköpfe als von irgendetwas anderem bestimmt.

Ich bin mit den internen Eigenschaften von SSDs nicht so vertraut, aber ich stelle mir vor, dass die Skalierung auf Folgendem basiert: Wir können ein Array von N x M NAND-Sektoren aufbauen, diese K-tief in einen Chip schichten und J-Chips hineinpassen ein 2,5 "-Festplattengehäuse. Reservieren Sie H% davon für die Leistungsoptimierung, runden Sie die Zahl auf das nächste Vielfache von 5/10/20 ab, und das ist die Kapazität des Laufwerks, das wir auf die Box drucken werden.

Wenn eine dieser Berechnungen mit einer kleinen Potenz von zwei berechnet wird, ist dies ein völliger Zufall und für niemanden von Nutzen.

Sammitch
quelle
Ich möchte darauf hinweisen, dass die Benutzerfreundlichkeit dieses Schichtoperators auch vom Füllverhalten (0-Pad oder 1-Pad) der Architektur abhängt, auf die Sie abzielen. Zugegeben, dies ist kein Problem mit den heutigen höheren Sprachen
Dudemanword
Von dem, was ich einen guten Compiler höre noch weiter gehen wird und ersetzen fehlerhafte mathematische Operationen wie var = var / 256mit var >> 8Ihnen in diesen Tagen.
Sammitch
2
Speicherchips haben immer die Größe von Zweierpotenzen, so dass die Anzahl der gültigen Adressen genau durch die Anzahl der Adressensignale begrenzt ist. Dies vermeidet die Notwendigkeit eines Fehlersignals "Chip ausgewählt durch Adresse außerhalb des Bereichs" und erleichtert auch die Größenerfassung erheblich. Das Gesamtlaufwerk ist möglicherweise keine Potenz von 2, wenn die Anzahl der Speicherchips nicht ausreicht (Frühe Intel SSDs verwendeten 10 Kanäle mit jeweils 128 GB, was insgesamt 160 GB entspricht und einen leichten Vorteil gegenüber den 128 GB-Modellen der Konkurrenz darstellt)
Ben Voigt
-8

Bei älteren SSDs betrug die Kapazität ein Vielfaches von 8, da ein "Byte" 8 "Bits" (0/1) enthält. Genau wie bei Flash-Laufwerken war dies zu einer Zeit, als die Leute den Nutzen einer SSD nicht erkannten, und jedes "bisschen" half.

Jetzt, da die Verbraucher sich der SSD-Technologie und den Fortschritten in der Technologie bewusster sind, bringen die SSD-Hersteller sie auf die bekannteren Zahlen zurück, indem sie die Größe genau wie auf dem HDD-Markt "schätzen" und Chips unterschiedlicher Größe kombinieren um eine gerade 10 zu erhalten (zB 6GB + 4GB = 10GB)

Charles Keisler
quelle
Könnten Sie vielleicht Bits und Bytes verwirren?
James McLeod