¿Por qué los SSD tienen tamaños extraños?

82

¿Por qué los SSD tienen tamaños como 240 GB o 120 GB en lugar de los 256 GB o 512 GB normales? Esos números tienen mucho más sentido que 240 o 120.

Dudemanword
fuente
45
¿Por qué esos números tienen más sentido?
Matthew Williams
8
@MatthewWilliams, creo que son divisiones fraccionarias de la medida de almacenamiento más grande. 256 GB es 1/4 de terabyte, 512 GB es 1/2, y así sucesivamente.
Moisés
44
@MatthewWilliams Dije eso debido a la aritmética de base 2: 2 ^ 8 = 256, 2 ^ 9 = 512, y así sucesivamente
Dudemanword
17
Esperar que las unidades se dimensionen con una potencia de 2 es una tontería, ya que las unidades básicamente nunca se han dimensionado con potencias de 2. Una unidad de 1TB no es 2 40 bytes, generalmente es de 10 12 bytes.
Zoredache
77
@ Zoredache Esto tiene sentido para HDD, pero estamos hablando de SSD. Su almacenamiento es básicamente transistores que pueden contener solo 2 estados. Entonces, en mi opinión, los SSD siempre deben ser la raíz 2. Sin embargo
Dudemanword

Respuestas:

101

Si bien muchos SSD modernos, como la serie 840 EVO, proporcionan los tamaños que le gustan, los mencionados 256GB, los fabricantes solían conservar un poco de almacenamiento para los mecanismos que luchan contra las caídas y defectos del rendimiento.

Si, por ejemplo, compró una unidad de 120 GB, puede estar bastante seguro de que realmente es de 128 GB internamente. El espacio preservado simplemente le da al controlador / espacio de firmware para cosas como TRIM, recolección de basura y nivelación de desgaste. Ha sido una práctica común dejar un poco de espacio sin dividir, además del espacio que el controlador ya ha hecho invisible, cuando los SSD llegaron al mercado por primera vez, pero los algoritmos han mejorado significativamente, por lo que no debería necesitar haz eso más.

EDITAR: Ha habido algunos comentarios sobre el hecho de que este fenómeno debe explicarse con la discrepancia entre el espacio publicitado, expresado en GigaBytes (por ejemplo, 128x 10 ^ 9 Bytes) versus el valor de GibiByte que muestra el sistema operativo, que es, la mayoría de los tiempo: una potencia de dos, calculando a 119,2 Gibibyte en este ejemplo.

En cuanto a lo que sé, esto es algo que se suma a las cosas ya explicadas anteriormente. Si bien no puedo establecer qué algoritmos exactos necesitan la mayor parte de ese espacio extra, el cálculo sigue siendo el mismo. El fabricante ensambla un SSD que de hecho usa una potencia de dos celdas flash (o una combinación de ellas), aunque el controlador no hace que todo ese espacio sea visible para el sistema operativo. El espacio que queda se anuncia como Gigabytes, lo que le da 111 Gibibyte en este ejemplo.

Patrick R.
fuente
2
Excepto que algunos SSD ahora usan estados TLC (de tres niveles) y realmente necesitan MÁS espacio reservado que las unidades anteriores debido a las tasas de error más altas. El software Magician para mi unidad Samsung EVO recomendó reservar más espacio cuando hice la configuración. Entonces, en lugar de un terabyte, solo tiene 920 GB.
Zan Lynx
2
¿Te refieres a la discrepancia entre Gibibyte y Gigabyte? Entendí la pregunta de manera diferente, ya que esta discrepancia se suma al fenómeno de 120 contra 128 GB. La compra de un SSD con un tamaño anunciado de 120 GB le proporcionará aún menos espacio utilizable que se muestra en el sistema operativo.
Patrick R.
44
@Matthew Bueno, eso era lo que intentaba decir: puedo confirmar que esto no se ha detenido. Mi 512G Samsung 840 me da un poco más de 465G de espacio útil. Perdón por la confusion. Entonces, para resumir esto, una SSD anunciada como 120GB podría tener físicamente 128,000,000,000 Byte, 120,000,000,000 como espacio utilizable para particiones, lo que lleva a ~ 110 mostrados por el sistema operativo.
Patrick R.
27
El término técnico es sobreaprovisionamiento .
Ben Voigt
1
@ADTC ¿Por qué 8 GB de 128 GB deberían ser demasiado? Especialmente las células multinivel tienden a vivir no tanto como tú quieras. Dado que los fabricantes no quieren que devuelva su SSD dentro del tiempo de garantía, definitivamente tiene sentido reservar tanto espacio. La publicidad falsa también se ha discutido antes, esto es algo que viene a la cima. Usted compra 120GB anunciados, obtiene 128x10 ^ 9 Byte, obteniendo ~ 110 Gibibyte mostrados en el sistema operativo.
Patrick R.
23

Tanto los discos duros mecánicos como los de estado sólido tienen una capacidad bruta mayor que su capacidad nominal. La capacidad "extra" se mantiene a un lado para reemplazar los sectores defectuosos, por lo que las unidades no tienen que ser perfectas fuera de la línea de ensamblaje, y para que los sectores defectuosos puedan volver a mapearse más tarde durante el uso a los sectores de repuesto. Durante las pruebas iniciales en la fábrica, los sectores defectuosos se asignan a los sectores de repuesto. A medida que se usa la unidad, monitorea los sectores (usando rutinas de corrección de errores para detectar errores de nivel de bits) y cuando un sector comienza a fallar, copia el sector en un repuesto y luego lo reasigna. Cada vez que se solicita ese sector, la unidad se dirige al nuevo sector, en lugar del sector original.

En las unidades mecánicas, pueden agregar cantidades arbitrarias de almacenamiento adicional ya que controlan la codificación del servo, el cabezal y el plato, por lo que pueden tener un almacenamiento nominal de 1 terabyte con 1 gigabyte adicional de espacio libre para la reasignación del sector.

Sin embargo, los SSD usan memoria flash, que siempre se fabrica en potencias de dos. El silicio requerido para decodificar una dirección es el mismo para una dirección de 8 bits que accede a 200 bytes que para una dirección de 8 bits que accede a 256 bytes. Como esa parte del silicio no cambia de tamaño, el uso más eficiente del silicio real es usar potencias de dos en la capacidad de flash real.

Por lo tanto, los fabricantes de unidades están atrapados con una capacidad bruta total en potencias de 2, pero aún necesitan reservar una parte de la capacidad bruta para la reasignación del sector. Esto lleva a 256 GB de capacidad bruta que proporciona solo 240 GB de capacidad utilizable, por ejemplo.

Adam Davis
fuente
6

En pocas palabras, todos los SSD son, en la base, no lo que anuncian. Lo que anuncian es el espacio en disco "utilizable". Para la mayoría de las unidades con 120 GB de almacenamiento "utilizables", la unidad base es en realidad una unidad de 128 GB. 8 GB están reservados para algunas tareas de administración de fondo específicas, como se indicó anteriormente.

Ahora, técnicamente, podrían colocar otro chip en la pieza para darle 128 GB de espacio "utilizable", pero eso cuesta más dinero. Las compañías que fabrican discos se han dado cuenta de que las personas se preocupan más por cuán grande es su disco que si su espacio útil es en realidad un múltiplo de 2.

Nota adicional: en realidad, hay algunas formas de escribir el código del sistema requerido, por lo que verá unidades de 120, 124 y 128 GB de diferentes fabricantes. Todos tienen 128 GB de espacio "en bruto", pero manejan el material de fondo requerido de manera diferente. Ninguna versión de la codificación de la unidad es mucho mejor que las otras que lo notarías en la mayoría de los casos. Puede notar una ligera diferencia en los puntos de referencia de rendimiento, pero es muy poco probable que lo note a menos que su computadora esté haciendo un trabajo pesado y sepa qué buscar.

usuario319078
fuente
55
no múltiplo de 2, pero potencia de 2.
Keltari
2

Crecer por poderes de dos es un concepto estrictamente matemático que facilita la toma de atajos matemáticos en una computadora que se basa en dos estados. Es decir, una computadora puede realizar multiplicación o división de enteros por un factor de dos tan fácilmente como puede multiplicar o dividir un número por 10. Simplemente mueve los dígitos hacia la izquierda o hacia la derecha sin tener que realizar un cálculo.

Cada lenguaje de programación tiene operadores para estas operaciones simples, en lenguajes tipo C, también son n >> maka shift n right m bitsaka divide n by 2^my n << maka shift leftaka multiply n by 2^m. Dentro del procesador, esta operación generalmente toma un ciclo y sucede con los datos en el lugar. Cualquier otra operación aritmética, como multiplicar por 3, requiere invocar una ALU [Unidad de lógica aritmética] para pasar un ciclo adicional o dos ordenando los bits y copiando el resultado en un registro determinado. El cielo te ayudará si necesitas precisión de punto decimal y la FPU [Unidad de punto flotante] se involucra.

De todos modos, es por eso que a su computadora le gusta referirse a todo internamente como potencias de dos. Si la máquina tuviera que ir a una operación de ALU cada vez que quisiera hacer algunos cálculos matemáticos simples para calcular un desplazamiento del puntero de memoria, su computadora estaría funcionando un orden de magnitud más lento.

El crecimiento del almacenamiento físico, por otro lado, se rige menos por las matemáticas binarias en bruto que por la física, la ingeniería y * estrangulaciones en la palabra * marketing. Con un disco de husillo, la capacidad está determinada por: el número de platos, el tamaño de los platos, el tamaño de los "cilindros" y el número de sectores que pueden caber en un cilindro. Estos generalmente están más determinados por las capacidades físicas del hardware y la precisión de los cabezales de lectura / escritura que cualquier otra cosa.

No estoy tan familiarizado con las características internas de los SSD, pero imagino que la escala se basa en: podemos construir una serie de sectores N x M NAND, colocarlos en K en un chip y colocarlos en J chips un estuche HDD de 2.5 ". Reserve H% de ellos para la optimización del rendimiento, redondea el número al múltiplo más cercano de 5/10/20, y esa es la capacidad del disco que vamos a imprimir en la caja.

Hacer que cualquiera de esos cálculos funcione con una pequeña potencia ordenada de dos será una casualidad completa y de poco beneficio para cualquiera.

Sammitch
fuente
Me gustaría señalar que la facilidad de uso del operador de turno también depende del comportamiento de relleno (0 pad o 1 pad) de la arquitectura a la que se dirige. Es cierto que esto no es un problema con los idiomas de nivel superior de hoy
Dudemanword
Por lo que escuché, un buen compilador incluso continuará y reemplazará las operaciones matemáticas erróneas como las var = var / 256tuyas var >> 8en estos días.
Sammitch
2
Los chips de memoria siempre se dimensionan como potencias de dos, de modo que el número de direcciones válidas está exactamente limitado por el número de señales de dirección. Eso evita la necesidad de una señal de error "chip seleccionado por dirección fuera de rango", y también hace que la detección de tamaño sea mucho más fácil. La unidad general podría no tener una potencia de 2 si la cantidad de chips de memoria no lo es (las primeras SSD de Intel usaron 10 canales cada uno con 128 Gb, para un total de 160 GB, para una ligera ventaja sobre los modelos de 128 GB de la competencia)
Ben Voigt
-8

En los SSD anteriores, la capacidad estaba en múltiplos de 8 porque hay 8 "bits" (0/1) en un "byte". Al igual que con las unidades flash, esto era en un momento en que la gente no veía el beneficio de un SSD, y cada "bit" ayudaba.

Ahora que los consumidores están más conscientes de la tecnología SSD y también con los avances en la tecnología, los fabricantes de SSD los están volviendo a los números más familiares mediante una combinación de "estimación" del tamaño, tal como lo hizo el mercado de HDD, y combinando chips de diferentes tamaños. para obtener un número par 10 (por ejemplo, 6 GB + 4 GB = 10 GB)

Charles Keisler
fuente
¿Podrías estar confundiendo bits y bytes?
James McLeod