Sie sind auf Seite 1von 12

Intruduccion a los discos duros de estado solido

Adrian Nieto Perez

25 de mayo de 2011

Indice
1. Un poco de historia 2

2. Diseccionando un SSD 3
2.1. El disco al desnudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Las celdas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1. Memoria volatil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2. Memoria no volatil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.3. Problemas asociados al uso de memoria no volatil . . . . . . . . . . . . . 5
2.2.4. Soluciones Software para problemas Hardware . . . . . . . . . . . . . . . 7
2.3. El cerebro de un SSD, la controladora . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. Memoria cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. El condensador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3. El rendimiento de un SSD 8
3.1. Por que necesito un SSD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4. La longevidad de un SSD 10
4.1. Haciendo numeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2. Un ejemplo real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5. Conclusiones 11

6. Bibliografa 12

0
Este trabajo esta editado con licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual bajo la misma licencia 3.0 Espana.

1
1. Un poco de historia
No es nada nuevo que la mayora de dispositivos que utilizamos hoy en da en la informatica
actual, fueron ideados entre la decada de los cincuenta y sesenta.

Los SSD1 no son una excepcion. En la epoca de los tubos de vaco, apoyandose en la tec-
nologa de las memorias de nucleo magnetico2 aparecen como memorias auxiliares. Debido a
la veloz evolucion que sufrio la memoria en ese tiempo, la idea quedo aparcada hasta los anos
setenta, donde volvera a intentarse, solo que esta vez se decidio utilizar semiconductores lo que
de nuevo, volvio a interrumpir la evolucion de los S.S.D. debido al altsimo coste por unidad de
almacenamiento.

En 1995 y tras el fracaso de los discos basados en celdas de memoria DRAM3 la compania
M-Systems lanza al mercado una serie de dispositivos cuya principal novedad era el uso de
memoria basada en Flash, la cual erradicaba uno de los principales problemas de la memoria
DRAM. la necesidad de alimentacion permanente.

Gracias a su elevado tiempo medio entre fallos4 , fue uno de los detonantes que les habriran
un hueco en el mundo aeroespacial y militar, donde las partes moviles de un disco mecanico
intruducen altas tasas de fallo.

Para el usuario de a pie, los SSD no llegaran al mercado hasta el ano 2000, cuando IBM
y Trek Technology presentaron el primer pendrive. Gracias a la reduccion de la distancia de
integracion, los pendrives han dejado de ser una herramienta para transportar un par de docu-
mentos PDF a convertirse en autenticos discos duros de bolsillo. Es gracias a esta reduccion
de coste, es posible que durante el ano 2011 podamos afirmar que los SSD son alternativas
para el publico general a los discos duros convencionales.

1
Solid-State Drive., disco duro de estado solido en castellano
2
Al basarse en fenomenos electromagneticos se comportan como memoria estatica.
3
Dynamic Random Access Memory, memoria dinamica de acceso aleatorio.
4
M.T.B.F. Mean Time Between Failures

2
2. Diseccionando un SSD
2.1. El disco al desnudo

Figura 1: Vista superior de un SSD Figura 2: Vista inferior de un SSD

Al observar el disco1 comprobamos que hay numerosos componentes distintos. Nos ceniremos
a los componentes que intervienen directamente en el proceso de almacenamiento de los datos,
sin entrar en detalle de la electronica necesaria para su funcionamiento2

Figura 1: Observamos la controladora del SSD justo en el centro, rodeada por la parte
izquierda de ocho chips de memoria NAND. A la derecha de la imagen junto con diversos
componentes electronicos se encuentra el conector al bus SATA y el de alimentacion.

Figura 2: Vuelven a aparecer otros ocho chips de memoria NAND, los cuales son exacta-
mente iguales a los demas del disco (donde la capacidad total vendra determinada entre
otras por un produto de la capacidad de cada chips, por el numero de estos). Ademas
podemos ver como algo distintivo de la calidad del disco, la presencia de un super-
condensadordel cual hablaremos en el siguiente epgrafe.

Como podemos observar, el disco carece por completo de partes moviles, en cierta medida
recordando su aspecto al de un pendrive.

2.2. Las celdas de memoria


En los discos comerciales modernos existen dos tecnologas disponibles para construir las
unidades mnimas de almacenamiento.

2.2.1. Memoria volatil


Actualmente esta en desuso debido a su mala relacion entre coste y prestaciones,
ya que su coste por gigabyte muy superior a las demas alternativas de almacenamiento. El unico
dispositivo que puede adquirirse en el mercado actual, es el denominado Gigabyte I-RAM el
cual emplea tecnologa DDR2. Al estar basado en memoria RAM tradicional, es necesario que
el dispositivo incorpore una batera similar a la de los moviles ya que de lo contrario
al apagar el ordenador, se borraran todos los datos del disco.Los pros como los contras saltan a
la vista, frente a tasas de transferencia asombrosas, tenemos un almacenamiento muy inseguro,
algo que desde luego no ayuda a mejorar su penetracion en el mercado.
1
En el sentido de las agujas del reloj.
2
Condensadores, resistencias, reguladores de tension etc.

3
2.2.2. Memoria no volatil
Utilizando tecnologa flash, y gracias al avance en la reduccion de la distancia de integracion
es posible lograr un buen compromiso entre el coste por gigabyte y el rendimiento de estas
celdas de memoria. En este momento, todas las unidades de almacenamiento basadas en
estado solido emplean esta tecnologa.
Para responder a las distintas demandas del mercado, aparecen dos tecnologas, que no son
mas que diferentes formas de interpretar el contenido fsico de la celda.

Figura 3: Diferentes interpretaciones, para la misma celda.

Celdas de una sola capa1 : La curva de potencial que puede almacenar una celda se in-
terpreta de forma binaria, es decir, se establecen unos margenes a partir de los cuales
se considera almacenado un cero, o un uno. Logran un mejor desempeno y duracion, ya
que no se ven afectadas por el problema del borrado de las celdas multicapa.

Celdas multicapa2 : Se establecen dos o tres niveles de potencial, de forma que el numero
total de estados que se pueden almacenar en la celda sean iguales a dos elevado al numero
de niveles. De esta forma multiplicaremos el espacio disponible sin perder de-
masiada velocidad, aunque tendremos que estar dispuesto a lidiar con los problemas que
genera. El proceso de escribir fsicamente una celda de memoria flash consiste en borrar
la celda, y luego escribir el valor correspondiente. Si tenemos en cuenta que en una celda
ya no se escribe solo un bit, esto puede significar que cada vez que se borre una celda se
borrara toda la informacion que contenga, sea o no lo que queremos eliminar.

1
En Ingles, Single Layer Cell SLC.
2
En Ingles, Multi-Layer Cell

4
2.2.3. Problemas asociados al uso de memoria no volatil
La memoria basada en tecnologa flash tiene una importante limitacion fsica. En construc-
cion de las memorias NAND, cada celda es un bloque de 512KBytes que a su vez se
divide en paginas, usualmente de 4KBytes. Aunque podemos leer cada una de las paginas
de la memoria, la unidad mnima de borrado es el bloque. Ademas cada celda individual
solo puede ser escrita un numero determinado de veces, el cual es inversamente proporcional a
la distancia de integracion. Es importante resaltar que esta cifra a priori es muy pequena, del
orden de 104 ciclos de escritura para la litografa de 32nm.

Figura 4: Esquema del proceso de escritura en un disco SSD.

Un fenonomeno de amplificacion de escritura surge cuando para escribir un archivo en disco


es necesaria escribir mas sectores de los que ocupa el archivo.

Como se observa en la figura 4 cuando escribimos en un bloque ya ocupado, es necesario


eliminar todo el bloque, para despues volver a escrbir el nuevo dato, junto con la informacion
que ya tena. El factor de amplificacion de lectura se calcula de la siguiente forma:
Numero de bytes a escribir
WA =
Numero de bytes realmente escritos
Si suponemos por ejemplo un factor de amplificacion de lectura de 0.5 un disco SSD vera su
longevidad reducida a la mitad. Para ello los fabricantes de SSD, implementan estrategias de
wear-leveling 1 para asegurar que cada una de las celdas se escribe el mismo numero de veces. Es
un mecanismo totalmente transparente para el sistema operativo, ya que la controladora puede
reasignar dinamicamente que celdas de memoria fsicas estan asociadas con una determinada
direccion.

1
En castellano, balanceado de carga.

5
La amplificacion de escritura trae consigo otro problema adicional, si cada vez que reescribi-
mos una celda borramos mas de lo que escribimos, podemos plantearnos una pregunta donde
almacenamos esa informacion extra que no debera ser borrada?

Figura 5: El espacio reservado acude en nuestra ayuda.

La solucion es anadir, o reservar parte de las celdas como almacenamiento extra para estos
casos. Los fabricantes de discos de estado solido se aprovechan de la trampa1 existente en el
redondeo2 a potencias de base diez en los discos magneticos, para reducir costes.(No olvidemos
que una celda de memoria no tendra sentido en una capacidad distinta a un multiplo de una
potencia de dos). As reservan parte del espacio disponible en las celdas (entre un 7 y
un 25 % dependiendo del uso al que vaya destinado el disco) sin que el usuario convencional
note nada raro en su falta de espacio.
El siguiente problema, viene unido a una diferencia(otra mas) entre los SSD y los discos
tradicionales. Cuando en un disco tradicional borramos un sector, el LBA3 que lo apunta se
marca como disponible. Lo creamos o no, los SSD funcionan de otra manera.

Funcion Disco tradicional Disco SSD


Crear archivo Escribe en un sector Escribe en una pagina
Sobreescribir archivo Escribe los nuevos datos Escribe en una pagina diferente si es posible,
en el mismo sector. de lo contrario borra la pagina y la sobreescribe.
Borrar archivo No se modifica el sector No se modifica el sector

Figura 6: Respuestas del disco a diferentes operaciones.

1
La compania Seagate fue condenada a pagar indemnizaciones por este hecho
2
Utilizan la numeracion en base 10 en lugar de la correspondiente en base 2. 109 230
3
Logical Block Address, unidad logica que permite acceder a cada sector del disco magnetico

6
2.2.4. Soluciones Software para problemas Hardware
Para atajar estos inconvenientes fsicos, existen una serie de estrategias disponibles segun
el sistema operativo, capaces de reducir de manera drastica el numero de ciclos de escritura
durante el uso del disco.

El comando TRIM: Como ya hemos comentado, el sistema operativo desconoce cuando


un bloque1 se encuentra en desuso. Este hecho imposibilita la la controladora del disco
que planifique los reseteosde dichas celdas. Causando una degradacion del rendimiento a
medida que el disco se usa. Para resolver este problema se introdujo un nuevo comando
ATA. Su funcionamiento es bien sencillo. El sistema operativo informa a la controlado-
ra de los bloques que ocupaba el archivo antes de ser borrado del ndice de archivos.
De esta forma, la controladora planifica el reinicio de las celdas durante los momentos de
inactividad del disco.

Deshabilitar los planificadores de acceso a disco: En los sistemas basados en LINUX, el


planificador de acceso a disco fue disenado para minimizar al maximo los movimientos
de la cabeza de lectura de los discos magneticos. En los discos SSD, al tener un tiempo
de busqueda practicamente nulo, la planificacion en este caso es completamente innece-
saria, siendo suficiente una cola FIFO, sin ninguna logica adicional para lograr un
rendimiento optimo.

Desactivar o mover el archivo de intercambio: El archivo de intercambio puede ser un


problema importante en los discos de estado solido. En equipos de escritorio suele tener
tamano que oscila del 20 al 50 % de la memoria RAM disponible. Si pretendemos darle
uso a dicho archivo diariamente, es crucial para la vida del SSD que el archivo
de intercambio se encuentre en un disco duro mecanico. Cada Gigabyte que se
escribe diariamente en un SSD condiciona la vida util del mismo.

2.3. El cerebro de un SSD, la controladora


La controladora de un SSD, junto con las celdas de memoria es la base de todo disco de
estado solido. Se encarga de aspectos clave, tales como la gestion de errores, los algoritmos
de wear-leveling, el acceso a las celdas de memoria de forma concurrente, el control de energa,
el espacio reservado etc. El fabricante del disco debe elegir la marca y modelo de la misma
cuidadosamente, ya que condicionara tanto el rendimiento como el precio del mismo.
Para ilustrar la diferencia entre dos modelos del mismo fabricante, uno de ellos orientado a
la gama media y otro a la gama alta y a los entornos empresariales:

Funcion SF-1200 SF-1500


Tipo de celdas soportadas MLC MLC y MLC
Consumo de energa 550 mW 950 mW
Tasa de transferencia max. 260 MBytes/s 260 MBytes/s
Operaciones aleatorias max. 30/10K IOPS2 30K/30K IOPS
Encriptacion 128-bit AES contrasena fija. 128-bit AES contrasena configurable
Tasa de fallos de lectura 1 sector cada 1016 bytes ledos 1 sector cada 1017 bytes ledos
Tiempo medio entre fallos 2 106 horas 10 106 horas

Figura 7: Diferencias entre dos controladoras SandForce.

1
Refiriendonos a bloque a nivel de celda de memoria

7
2.4. Memoria cache
Todos los discos de estado solido incorporan memoria cache. Segun el uso que se le vaya
a dar al disco puede ser o no necesaria. Es un elemento que influye directamente en el
precio del disco, ya que si empleamos una seccion para un chip de memoria cache externa, para
proporcionar al disco una decena de megabytes de cache, ya no podremos utilizar esa superficie
en anadir mas capacidad, por lo cual el precio por gigabyte se incrementa.
Aun as, la inclusion de un chip externo no es siempre necesaria, siendo suficiente en
entornos domesticos el poseer unos pocos kilobytes en el propio die de la controladora.

2.5. El condensador
Estrechamente unido a la inclusion de memoria cache externa va la necesidad de anadir un
condensador en el esquema basico del disco. Dicho condensador debido a su tamano tambien
resta un espacio similar al de un chip NAND por lo cual es otro elemento que incrementa el
precio por gigabyte del disco.
Su funcionalidad no es mas que ante una perdida de corriente garantizar que la cache se
escribe ntegramente en las celdas de memoria.
Es un aspecto crtico si el disco emplea tecnologa MLC, ya que cada celda almacena mas de un
bit, dando lugar a un escenario catastrofico, en el que la controladora escribe en la celda, pero
no llega suficiente energa como para escribir el valor correcto.

3. El rendimiento de un SSD
Hay dos datos que a un usuario impresionan cuando por primera vez ven los numeros de un
disco de estado solido. Pulverizan los parametros de los discos mecanicos, reduciendo en cuatro
ordenes de magnitud el tiempo de busqueda y multiplicando por tres la tasa de transferencia
secuencial.
El primero de estos datos no parece muy complicado de entender, en un SSD no hay partes
mecanicas, por lo tanto, no es necesario que un cabezal se posicione sobre una pista antes de
poder acceder a la informacion, la unica latencia posible es la que tenga la controladora desde
que recibe la peticion hasta que sirve los datos.
Pero el segundo nos hace plantearnos lo siguiente, si los pendrives emplean memoria flash,
por que son tan lentos? que diferencia hay entre las celdas de memoria de unos y otros? La
verdad es que la velocidad de transferencia de un pendrive depende de muchos factores:

Cuellos de botella en el USB: El bus USB tiene una tasa maxima teorica de transferencia
de 480 Megabits por segundo.

No hay acceso paralelo a las celdas: Un pendrive tan solo dispone de una celda de memoria.
Con la tecnologa actual un chip de memoria NAND, como maximo tiene una velocidad
de lectura de unos 15 megabytes. La velocidad de un SSD se obtiene mediante un acceso
concurrente a todas las celdas, es decir 12chips 15MB/s = 180 MB/s.

Uso de un mayor numero de niveles en las celdas: En un SSD no veremos mas de dos
niveles en las celdas MLC. Con el fin de aumentar la capacidad por chip, en los pendrives
hay algunos fabricantes que montan tres o cuatro niveles.

8
3.1. Por que necesito un SSD?

Figura 8: Una grafica es suficiente para ilustrar la respuesta.

En la figura comparamos el disco magnetico mas veloz disponible en el mercado de usuario1


con un disco de estado solido de gama media. Ambos tienen un precio por gigabyte similar, lo
cual hace si cabe mas justa la comparativa.

Prueba OCZ Vertex 2 WD VelociRaptor


PC Mark Vantage - General 17103 11564
IOMeter - 4k Random read 52 0.6
IOMeter - 4k Random write 51.4 1.7
IOMeter - 2MB Secuential read 265.5 145.3
IOMeter - 2MB Secuential write 251.9 111
Operaciones E/S por segundo 250 111

Figura 9: Resultados numericos, es mejor cuanto mas grande.

Como conclusion de los resultados, realizando cuentas sencillas obtenemos que el disco de
estado solido aventaja a el magnetico en aproximadamente un 49 %.

1
Western Digital VelociRaptor

9
4. La longevidad de un SSD
Cuando hablamos de que un disco de estado solido tiene una vida media muy pequena, nos
referimos al tiempo necesario para que uno de los bloques sea marcado como defectuoso.

4.1. Haciendo numeros


Cada uno de los bloques de memoria, puede escribirse alrededor de 10000 veces. Con los
datos anteriores, si pudieramos escribir un grupo de celdas de forma constante, desactivando
todas las protecciones software de la controladora tendriamos la siguiente estimacion:

64 GBytes 64000 MBytes, Vel. escritura 175MBytes/s

Escribimos constantemente 10 Bloques, 5MB en total


10 512000 bytes
10000veces = 292,571 segundos en provocar un fallo en el disco
175 106 bytes/s
Viendo estos valores, no parece muy razonable decantarse por un SSD.

4.2. Un ejemplo real


Como podemos imaginar, esta circunstancia es practicamente imposible de alcanzar, ya que
la propia controladora nos impide realizar esta tarea tan destructiva con las tecnicas ya nar-
radas. Ahora y para desmontar el mayor mito de los SSD, volvere a realizar los calculos, esta
vez, empleando un ejemplo de uso real.

OCZ Vertex 2 (Firmware 1.29)


Capacidad total 64 gigabytes
Reportado al SO 54 gigabyte (15 % reservado)
Espacio libre tras instalar 35 gigabytes

Figura 10: Situacion del disco tras la instalacion del SO.

Si escribimos todos los dias al sobre un 15 % del tamano del disco(12 % de datos y 3 % extra
provocado por la amplificacion de lectura), suponiendo un wear-leveling perfecto, tardaremos
6.67 das en escribir en todas los bloques. Si cada celda puede escribirse 5000 veces, excedemos
de largo el tiempo en el que una celda NAND se agota fsicamente.1
Segun estos resultados, ahora parece que los discos SSD sean eternos. La verdad es que es-
tos datos son ciertos a medias. Todo depende del porcentaje de informacion que se escribe
diariamente y del tamano del disco.

1
Diez anos, un tiempo suficiente para dejar obsoleto cualquier componente.

10
5. Conclusiones
La tecnologa de estado solido, esta comenzando a llegar al usuario final ahora. Si bien ya es
una alternativa fuerte a los discos magneticos en la mayora de ordenadores, aun queda mucho
camino por andar. Pese a las limitaciones ya comentadas, si se destina el SSD a almacenar el
sistema operativo y los programas, y en otro disco almacenamos los datos, es suficiente con una
pequena inversion para introducirse en el mundo del estado solido.

No me cabe duda que las partes moviles estan en proceso de extincion, ya que en el futuro,
con la reduccion de la distancia de integracion los discos de estado solido cada vez tendran un
coste por gigabyte menor. Los discos de estado solido han llegado para quedarse.

11
6. Bibliografa
www.anandtech.com

The SSD Anthology


The SSD Relapse
Understanding Sandforce, not all drives are equal
Vertex 2 Pro Review
Anandtech Bench Library

www.wikipedia.com

Solid-State Drive
Write Amplification
Trim Command

www.storagesearch.com

SSD Power is going down!


Can you trust flash SSDs specs and benchmarks?
Endurance in flash SSDs

12

Das könnte Ihnen auch gefallen