Dlaczego dyski SSD mają dziwne rozmiary?

82

Dlaczego dyski SSD mają rozmiary takie jak 240 GB lub 120 GB, a nie zwykłe 256 GB lub 512 GB? Liczby te mają znacznie większy sens niż 240 lub 120.

Dudemanword
źródło
45
Dlaczego te liczby mają większy sens?
Matthew Williams
8
@MatthewWilliams Myślę, że są to ułamkowe części większego pomiaru pamięci. 256 GB to 1/4 terabajta, 512 GB to 1/2 i tak dalej.
Mojżesz
44
@MatthewWilliams Powiedziałem, że z powodu arytmetyki podstawy 2: 2 ^ 8 = 256, 2 ^ 9 = 512 itd.
Dudemanword
17
Oczekiwanie, że dyski mają wielkość 2, jest głupie, ponieważ dyski zasadniczo nigdy nie miały wielkości 2. Dysk 1 TB nie ma 2 40 bajtów, zwykle jest to 10 12 bajtów.
Zoredache
7
@Zoredache Ma to sens w przypadku dysków twardych, ale mówimy o dyskach SSD. Jego przechowywanie to w zasadzie tranzystory, które mogą pomieścić tylko 2 stany. Tak więc, moim zdaniem, dyski SSD powinny zawsze mieć radix 2. Odpowiedzi pomogły wyjaśnić dwuznaczność
Dudemanword

Odpowiedzi:

101

Podczas gdy wiele nowoczesnych dysków SSD, takich jak seria 840 EVO, zapewnia rozmiary, które lubisz, wspomniane 256 GB, producenci zachowali trochę miejsca na mechanizmy przeciwdziałające spadkom wydajności i wadom.

Jeśli - na przykład - kupiłeś dysk 120 GB, możesz być całkiem pewien, że to naprawdę 128 GB. Zachowana przestrzeń po prostu daje kontrolerowi / oprogramowaniu sprzętowemu miejsce na rzeczy takie jak TRIM, Garbage Collection i Wear Leveling. Powszechną praktyką było pozostawienie odrobiny miejsca niepodzielonego - na wierzchu miejsca, które zostało już niewidoczne przez kontroler - gdy dyski SSD po raz pierwszy trafiły na rynek, ale algorytmy stały się znacznie lepsze, więc nie trzeba zrób to już.

EDYCJA: Pojawiły się komentarze na temat tego, że zjawisko to należy wyjaśnić rozbieżnością między reklamowaną przestrzenią, wyrażoną w GigaBytes (np. 128 x 10 ^ 9 bajtów) w porównaniu z wartością GibiByte, którą pokazuje system operacyjny, co stanowi większość czas - potęga dwóch, w tym przykładzie obliczona na 119,2 Gibibajta.

O ile wiem, jest to coś, co stanowi uzupełnienie rzeczy już wyjaśnionych powyżej. Chociaż z pewnością nie mogę określić, które dokładne algorytmy potrzebują większości dodatkowej przestrzeni, obliczenia pozostają takie same. Producent montuje dysk SSD, który rzeczywiście wykorzystuje moc dwóch liczb komórek flash (lub ich kombinacji), chociaż kontroler nie wyświetla całej tej przestrzeni systemowi operacyjnemu. Pozostała przestrzeń jest reklamowana jako gigabajty, w tym przykładzie otrzymasz 111 Gibibajtów.

Patrick R.
źródło
2
Tyle że niektóre dyski SSD używają teraz stanów TLC (trójpoziomowych) i faktycznie potrzebują WIĘCEJ zarezerwowanego miejsca niż poprzednie dyski z powodu wyższych wskaźników błędów. Oprogramowanie Magician dla mojego napędu Samsung EVO zaleca zarezerwowanie większej ilości miejsca podczas konfiguracji. Więc zamiast terabajta to tylko 920 GB.
Zan Lynx
2
Czy masz na myśli rozbieżność Gibibyte vs. Gigabyte? Rozumiałem to pytanie inaczej, ponieważ ta rozbieżność występuje nad zjawiskiem 120 vs. 128 GB. Kupując dysk SSD o wielkości reklamowanej 120 GB, uzyskasz jeszcze mniej użytecznej przestrzeni wyświetlanej w systemie operacyjnym.
Patrick R.
4
@Matthew Cóż, właśnie to chciałem powiedzieć - mogę potwierdzić, że to się nie skończyło. Mój 512G Samsung 840 zapewnia mi tylko nieco więcej niż 465G powierzchni użytkowej. Przepraszam za zamieszanie. Podsumowując, dysk SSD reklamowany jako 120 GB może fizycznie mieć 128 000 000 000 bajtów, 120 000 000 000 jako miejsce na partycje - co prowadzi do ~ 110 wyświetlanych przez system operacyjny.
Patrick R.
27
Terminem technicznym jest przeszacowanie .
Ben Voigt
1
@ ADTC Dlaczego 8 GB ze 128 GB powinno być za dużo? Zwłaszcza komórki wielopoziomowe zwykle nie żyją tak długo, jak chcesz. Ponieważ producenci nie chcą, abyś zwrócił dysk SSD w okresie gwarancyjnym, zdecydowanie warto zarezerwować tyle miejsca. Wcześniej omawiano także fałszywą reklamę, która jest na topie. Kupujesz 120 GB w reklamie, dostajesz 128x10 ^ 9 bajtów, co daje ci ~ 110 Gibibajtów wyświetlanych w systemie operacyjnym.
Patrick R.
23

Zarówno mechaniczne, jak i półprzewodnikowe dyski twarde mają pojemność większą niż pojemność znamionowa. „Dodatkowa” pojemność jest odłożona na bok, aby zastąpić uszkodzone sektory, więc dyski nie muszą być idealnie wyprowadzone z linii montażowej, a więc złe sektory mogą być ponownie mapowane później podczas użytkowania do wolnych sektorów. Podczas wstępnych testów w fabryce wszelkie uszkodzone sektory są mapowane na sektory zapasowe. Gdy dysk jest używany, monitoruje sektory (za pomocą procedur korekcji błędów w celu wykrycia błędów poziomu bitów), a gdy sektor zaczyna się psować, kopiuje sektor na zapasowy, a następnie odwzorowuje go ponownie. Za każdym razem, gdy żądany jest ten sektor, napęd przechodzi do nowego sektora, a nie do sektora pierwotnego.

W przypadku napędów mechanicznych mogą dodawać dowolną ilość wolnej pamięci, ponieważ kontrolują kodowanie serwomechanizmu, głowicy i talerza, dzięki czemu mogą mieć znamionową pojemność 1 terabajta z dodatkowym 1 gigabajtem wolnej przestrzeni do ponownego mapowania sektora.

Jednak dyski SSD korzystają z pamięci flash, która zawsze jest produkowana w potęgach dwóch. Krzem wymagany do zdekodowania adresu jest taki sam dla 8-bitowego adresu uzyskującego dostęp do 200 bajtów, jak dla 8-bitowego adresu uzyskującego dostęp do 256 bajtów. Ponieważ ta część krzemu nie zmienia swojego rozmiaru, najskuteczniejszym zastosowaniem nieruchomości krzemowej jest użycie mocy dwóch w rzeczywistej pojemności błysku.

Tak więc producenci napędów utknęli z całkowitą surową mocą na potęgach 2, ale wciąż muszą odłożyć część surowej mocy na odwzorowanie sektora. Prowadzi to do 256 GB pojemności pierwotnej, zapewniając na przykład tylko 240 GB pojemności użytecznej.

Adam Davis
źródło
6

Mówiąc najprościej, wszystkie dyski SSD w zasadzie nie są tym, co reklamują. To, co reklamują, to „użyteczne” miejsce na dysku. W przypadku większości dysków z 120 „użytecznymi” GB miejsca na dysku podstawowym jest dysk 128 GB. 8 GB jest zarezerwowane na niektóre określone zadania zarządzania w tle, jak wspomniano wcześniej.

Teraz, technicznie rzecz biorąc, mogliby uderzyć innym chipem w kawałek, aby uzyskać 128 GB „użytecznej” przestrzeni, ale to kosztuje więcej pieniędzy. Firmy produkujące dyski zdały sobie sprawę, że ludziom bardziej zależy na tym, jak duży jest ich dysk niż na tym, czy jego powierzchnia użytkowa jest w rzeczywistości wielokrotnością liczby 2.

Sidenote - istnieje kilka sposobów pisania wymaganego kodu systemowego, dlatego zobaczysz dyski 120, 124 i 128 GB od różnych producentów. Wszystkie mają 128 GB „surowej” przestrzeni, ale inaczej obsługują wymagane elementy tła. Żadna wersja kodowania dysku nie jest tak lepsza niż inne, że można to zauważyć w większości przypadków. Możesz zauważyć niewielką różnicę w testach wydajności, ale jest bardzo mało prawdopodobne, aby to zauważyć, chyba że komputer wykonuje ciężkie prace i nie wiesz, czego szukać.

użytkownik319078
źródło
5
nie wielokrotność 2, ale potęga 2.
Keltari
2

Wzrastanie o potęgę dwóch jest ściśle matematyczną koncepcją, która ułatwia korzystanie ze skrótów matematycznych w komputerze opartym na dwóch stanach. To znaczy, że komputer może wykonać mnożenie lub dzielenie liczb całkowitych przez współczynnik dwa tak łatwo, jak można pomnożyć lub podzielić liczbę przez 10. Po prostu przesuwasz cyfry w lewo lub w prawo bez faktycznego wykonywania obliczeń.

Każdy język programowania ma operatory dla tych prostych operacji, w językach podobnych do C, są one n >> mrównież shift n right m bitsaka divide n by 2^mi n << maka shift leftaka multiply n by 2^m. Wewnątrz procesora operacja ta zwykle zajmuje jeden cykl i dzieje się z danymi w miejscu. Każda inna operacja arytmetyczna, taka jak pomnożenie przez 3, wymaga wywołania ALU [Arithmetic Logic Unit] w celu spędzenia dodatkowego cyklu lub dwóch zebrań bitów i skopiowania wyniku z powrotem do określonego rejestru. Niebo pomoże ci, jeśli potrzebujesz precyzji dziesiętnej, a zaangażuje się FPU [Floating Point Unit].

W każdym razie dlatego twój komputer lubi nazywać wszystko wewnętrznie potęgami dwóch osób. Gdyby maszyna musiała przejść do operacji ALU za każdym razem, gdy chciała wykonać prostą matematykę, aby obliczyć przesunięcie wskaźnika pamięci, komputer działałby o rząd wielkości wolniej.

Z drugiej strony wzrost fizycznej pamięci masowej jest mniej zależny od surowej matematyki binarnej niż od fizyki, inżynierii i * dławików w słowie * marketing. W przypadku tarczy wrzecionowej pojemność jest określana przez: liczbę talerzy, rozmiar talerzy, rozmiar „cylindrów” i liczbę sektorów, które mogą zmieścić się w cylindrze. Są one na ogół determinowane bardziej przez fizyczne możliwości sprzętu i precyzję głowic odczytu / zapisu niż cokolwiek innego.

Nie jestem tak dogłębnie zaznajomiony z wewnętrzną charakterystyką dysków SSD, ale wyobrażam sobie, że skalowanie jest oparte na: możemy zbudować tablicę N x M sektorów NAND, nałożyć na nich warstwę K głęboko w chipie i zmieścić je w chipy J dysk twardy 2,5 ". Zarezerwuj H% z nich na optymalizację wydajności, zaokrąglaj liczbę do najbliższej wielokrotności 5/10/20, a to pojemność dysku, który wydrukujemy na pudełku.

Wykonywanie któregokolwiek z tych obliczeń do zgrabnej potęgi dwóch osób będzie kompletnym przypadkiem i nie przyniesie nikomu korzyści.

Sammitch
źródło
Chciałbym zauważyć, że łatwość użycia operatora zmiany biegów zależy również od zachowania paddingu (pad 0 lub pad 1) architektury, na którą celujemy. Trzeba przyznać, że nie jest to problem z dzisiejszymi językami wyższego poziomu
Dudemanword
Z tego, co słyszę, to dobry kompilator nawet śmiało zastąpić błędny operacji matematycznych jak var = var / 256ze var >> 8dla ciebie te dni.
Sammitch
2
Układy pamięci są zawsze wymiarowane jako potęgi dwóch, więc liczba ważnych adresów jest dokładnie ograniczona liczbą sygnałów adresowych. To eliminuje potrzebę stosowania sygnału błędu „chip wybrany przez adres poza zakresem”, a także znacznie ułatwia wykrywanie rozmiaru. Całkowity dysk może nie być potęgą 2, jeśli liczba układów pamięci nie jest (wczesne dyski SSD Intel używały 10 kanałów o przepustowości 128 Gb, w sumie 160 GB, co stanowi niewielką przewagę nad modelami 128 GB konkurencji)
Ben Voigt
-8

W starszych dyskach SSD pojemność była wielokrotnością 8, ponieważ w „bajcie” znajduje się 8 „bitów” (0/1). Podobnie jak w przypadku dysków flash, ludzie nie widzieli korzyści z dysku SSD i każdy „kawałek” pomógł.

Teraz, gdy konsumenci są bardziej świadomi technologii SSD, a także dzięki postępowi w tej technologii, producenci dysków SSD przenoszą ich z powrotem do bardziej znanych liczb, łącząc „szacowanie” rozmiaru, podobnie jak na rynku dysków twardych, i łącząc układy o różnych rozmiarach aby uzyskać parzystą liczbę 10, (np. 6 GB + 4 GB = 10 GB)

Charles Keisler
źródło
Być może mylisz bity i bajty?
James McLeod