La Electricidad Y La Electrónica Trabajo Tecnología.pdf
Introducción a los discos de estado sólido documento
1. Intruducci´n a los discos duros de estado s´lido
o o
Adri´n Nieto P´rez
a e
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 vol´til . . . . . . . . . . . . . . . . . . . .
a . . . . . . . . . . . . . 3
2.2.2. Memoria no vol´til . . . . . . . . . . . . . . . . . .
a . . . . . . . . . . . . . 4
2.2.3. Problemas asociados al uso de memoria no vol´til a . . . . . . . . . . . . . 5
2.2.4. Soluciones Software para problemas Hardware . . . . . . . . . . . . . . . 7
2.3. El cerebro de un SSD, la controladora . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. Memoria cach´ . . . . . . . . . . . . . . . . . . . . . . . .
e . . . . . . . . . . . . . 8
2.5. El condensador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. El rendimiento de un SSD 8
3.1. ¿Por qu´ necesito un SSD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e 9
4. La longevidad de un SSD 10
4.1. Haciendo n´meros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
u
4.2. Un ejemplo real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5. Conclusiones 11
6. Bibliograf´
ıa 12
0
Este trabajo est´ editado con licencia “Creative Commons”
a
Reconocimiento-NoComercial-CompartirIgual bajo la misma licencia 3.0 Espa˜a.
n
1
2. 1. Un poco de historia
No es nada nuevo que la mayor´ de dispositivos que utilizamos hoy en d´ en la inform´tica
ıa ıa a
actual, fueron ideados entre la decada de los cincuenta y sesenta.
Los SSD1 no son una excepci´n. En la ´poca de los tubos de vac´ apoy´ndose en la tec-
o e ıo, a
nolog´ de las memorias de n´cleo magn´tico
ıa u e 2 aparecen como memorias auxiliares. Debido a
la veloz evoluci´n que sufri´ la memoria en ese tiempo, la idea qued´ aparcada hasta los a˜os
o o o n
setenta, donde volver´ a intentarse, s´lo que ´sta vez se decidi´ utilizar semiconductores lo que
ıa o e o
de nuevo, volvi´ a interrumpir la evoluci´n de los S.S.D. debido al alt´
o o ısimo coste por unidad de
almacenamiento.
En 1995 y tras el fracaso de los discos basados en celdas de memoria DRAM3 la compa˜ia
n
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 alimentaci´n permanente.
o
Gracias a su elevado tiempo medio entre fallos4 , fue uno de los detonantes que les habrir´
ıan
un hueco en el mundo aeroespacial y militar, donde las partes m´viles de un disco mec´nico
o a
intruducen altas tasas de fallo.
Para el usuario de a pie, los SSD no llegar´ al mercado hasta el a˜o 2000, cuando IBM
ıan n
y Trek Technology presentaron el primer pendrive. Gracias a la reducci´n de la distancia de
o
integraci´n, los pendrives han dejado de ser una herramienta para transportar un par de docu-
o
mentos PDF a convertirse en aut´nticos discos duros de ”bolsillo”. Es gracias a esta reducci´n
e o
de coste, es posible que durante el a˜o 2011 podamos afirmar que los SSD son alternativas
n
para el p´ blico general a los discos duros convencionales.
u
1
Solid-State Drive., disco duro de estado s´lido en castellano
o
2
Al basarse en fen´menos electromagn´ticos se comportan como memoria est´tica.
o e a
3
Dynamic Random Access Memory, memoria din´mica de acceso aleatorio.
a
4
M.T.B.F. Mean Time Between Failures
2
3. 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 ce˜iremos
n
a los componentes que intervienen directamente en el proceso de almacenamiento de los datos,
sin entrar en detalle de la electr´nica necesaria para su funcionamiento2
o
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 electr´nicos se encuentra el conector al bus SATA y el de alimentaci´n.
o o
Figura 2: Vuelven a aparecer otros ocho chips de memoria NAND, los cuales son exacta-
mente iguales a los dem´s del disco (donde la capacidad total vendr´ determinada entre
a a
otras por un produto de la capacidad de cada chips, por el n´mero de estos). Adem´s
u a
podemos ver como algo distintivo de la calidad del disco, la presencia de un ”super-
condensador”del cual hablaremos en el siguiente ep´
ıgrafe.
Como podemos observar, el disco carece por completo de partes m´viles, en cierta medida
o
recordando su aspecto al de un pendrive.
2.2. Las celdas de memoria
En los discos comerciales modernos existen dos tecnolog´ disponibles para construir las
ıas
unidades m´
ınimas de almacenamiento.
2.2.1. Memoria vol´til
a
Actualmente est´ en desuso debido a su mala relaci´n entre coste y prestaciones,
a o
ya que su coste por gigabyte muy superior a las dem´s alternativas de almacenamiento. El unico
a ´
dispositivo que puede adquirirse en el mercado actual, es el denominado Gigabyte I-RAM el
cual emplea tecnolog´ DDR2. Al estar basado en memoria RAM tradicional, es necesario que
ıa
el dispositivo incorpore una bater´ similar a la de los m´viles ya que de lo contrario
ıa o
al apagar el ordenador, se borrar´ todos los datos del disco.Los pros como los contras saltan a
ıan
la vista, frente a tasas de transferencia asombrosas, tenemos un almacenamiento muy inseguro,
algo que desde luego no ayuda a mejorar su penetraci´n en el mercado.
o
1
En el sentido de las agujas del reloj.
2
Condensadores, resistencias, reguladores de tensi´n etc.
o
3
4. 2.2.2. Memoria no vol´til
a
Utilizando tecnolog´ flash, y gracias al avance en la reducci´n de la distancia de integraci´n
ıa o o
es posible lograr un buen compromiso entre el coste por gigabyte y el rendimiento de estas
celdas de memoria. En ´ste momento, todas las unidades de almacenamiento basadas en
e
estado s´lido emplean esta tecnolog´
o ıa.
Para responder a las distintas demandas del mercado, aparecen dos tecnolog´ que no son
ıas,
m´s que diferentes formas de interpretar el contenido f´
a ısico 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 m´rgenes a partir de los cuales
a
se considera almacenado un cero, o un uno. Logran un mejor desempe˜o y duracion, ya
n
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 n´mero
u
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 f´ ısicamente 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
borrar´ toda la informaci´n que contenga, sea o no lo que queremos eliminar.
a o
1
En Ingl´s, Single Layer Cell SLC.
e
2
En Ingl´s, Multi-Layer Cell
e
4
5. 2.2.3. Problemas asociados al uso de memoria no vol´til
a
La memoria basada en tecnolog´ flash tiene una importante limitaci´n f´
ıa o ısica. En construc-
ci´n de las memorias NAND, cada celda es un bloque de 512KBytes que a su vez se
o
divide en p´ginas, usualmente de 4KBytes. Aunque podemos leer cada una de las p´ginas
a a
de la memoria, la unidad m´ ınima de borrado es el bloque. Adem´s cada celda individual
a
s´lo puede ser escrita un n´mero determinado de veces, el cual es inversamente proporcional a
o u
la distancia de integraci´n. Es importante resaltar que esta cifra a priori es muy peque˜a, del
o n
orden de 10 4 ciclos de escritura para la litograf´ de 32nm.
ıa
Figura 4: Esquema del proceso de escritura en un disco SSD.
Un fen´nomeno de amplificaci´n de escritura surge cuando para escribir un archivo en disco
o o
es necesaria escribir m´s sectores de los que ocupa el archivo.
a
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 informaci´n
o
que ya ten´ El factor de amplificaci´n de lectura se calcula de la siguiente forma:
ıa. o
N´mero de bytes a escribir
u
WA =
N´mero de bytes realmente escritos
u
Si suponemos por ejemplo un factor de amplificaci´n de lectura de 0.5 un disco SSD ver´ su
o a
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 n´mero de veces. Es
u
un mecanismo totalmente transparente para el sistema operativo, ya que la controladora puede
reasignar din´micamente que celdas de memoria f´
a ısicas est´n asociadas con una determinada
a
direcci´n.
o
1
En castellano, balanceado de carga.
5
6. La amplificaci´n de escritura trae consigo otro problema adicional, si cada vez que reescribi-
o
mos una celda borramos m´s de lo que escribimos, podemos plantearnos una pregunta ¿d´nde
a o
almacenamos esa informaci´n extra que no deber´ ser borrada?
o ıa
Figura 5: El espacio reservado acude en nuestra ayuda.
La soluci´n es a˜adir, o reservar parte de las celdas como almacenamiento extra para estos
o n
casos. Los fabricantes de discos de estado s´lido se aprovechan de la trampa1 existente en el
o
redondeo 2 a potencias de base diez en los discos magn´ticos, para reducir costes.(No olvidemos
e
que una celda de memoria no tendr´ sentido en una capacidad distinta a un m´ltiplo de una
ıa u
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 m´s) entre los SSD y los discos
a
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.
Funci´n
o Disco tradicional Disco SSD
Crear archivo Escribe en un sector Escribe en una p´gina
a
Sobreescribir archivo Escribe los nuevos datos Escribe en una p´gina diferente si es posible,
a
en el mismo sector. de lo contrario borra la p´gina y la sobreescribe.
a
Borrar archivo No se modifica el sector No se modifica el sector
Figura 6: Respuestas del disco a diferentes operaciones.
1
La compa˜ia Seagate fue condenada a pagar indemnizaciones por este hecho
n
2
Utilizan la numeraci´n en base 10 en lugar de la correspondiente en base 2. 109 ≈ 230
o
3
Logical Block Address, unidad l´gica que permite acceder a cada sector del disco magn´tico
o e
6
7. 2.2.4. Soluciones Software para problemas Hardware
Para atajar estos inconvenientes f´
ısicos, existen una serie de estrategias disponibles seg´n
u
el sistema operativo, capaces de reducir de manera dr´stica el n´mero de ciclos de escritura
a u
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 reseteos”de dichas celdas. Causando una degradaci´n del rendimiento a
o
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 dise˜ado para minimizar al m´ximo los movimientos
n a
de la cabeza de lectura de los discos magn´ticos. En los discos SSD, al tener un tiempo
e
de b´squeda pr´cticamente nulo, la planificaci´n en este caso es completamente innece-
u a o
saria, siendo suficiente una cola FIFO, sin ninguna l´gica adicional para lograr un
o
rendimiento ´ptimo.
o
Desactivar o mover el archivo de intercambio: El archivo de intercambio puede ser un
problema importante en los discos de estado s´lido. En equipos de escritorio suele tener
o
tama˜o que oscila del 20 al 50 % de la memoria RAM disponible. Si pretendemos darle
n
uso a dicho archivo diariamente, es crucial para la vida del SSD que el archivo
de intercambio se encuentre en un disco duro mec´nico. Cada Gigabyte que se
a
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 s´lido. Se encarga de aspectos clave, tales como la gesti´n de errores, los algoritmos
o o
de wear-leveling, el acceso a las celdas de memoria de forma concurrente, el control de energ´ıa,
el espacio reservado etc. El fabricante del disco debe elegir la marca y modelo de la misma
cuidadosamente, ya que condicionar´ tanto el rendimiento como el precio del mismo.
a
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:
Funci´n
o SF-1200 SF-1500
Tipo de celdas soportadas MLC MLC y MLC
Consumo de energ´ ıa 550 mW 950 mW
Tasa de transferencia max. 260 MBytes/s 260 MBytes/s
Operaciones aleatorias max. 30/10K IOPS2 30K/30K IOPS
Encriptaci´n
o 128-bit AES contrase˜a fija.
n 128-bit AES contrase˜a configurable
n
Tasa de fallos de lectura 1 sector cada 10 16 bytes le´
ıdos 1 sector cada 10 17 bytes le´
ıdos
Tiempo medio entre fallos 2 · 106 horas 10 · 106 horas
Figura 7: Diferencias entre dos controladoras SandForce.
1
Refiri´ndonos a bloque a nivel de celda de memoria
e
7
8. 2.4. Memoria cach´
e
Todos los discos de estado s´lido incorporan memoria cach´. Seg´n el uso que se le vaya
o e u
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 secci´n para un chip de memoria cach´ externa, para
o e
proporcionar al disco una decena de megabytes de cach´, ya no podremos utilizar esa superficie
e
en a˜adir mas capacidad, por lo cual el precio por gigabyte se incrementa.
n
A´n as´ la inclusi´n de un chip externo no es siempre necesaria, siendo suficiente en
u ı, o
entornos dom´sticos el poseer unos pocos kilobytes en el propio die de la controladora.
e
2.5. El condensador
Estrechamente unido a la inclusi´n de memoria cach´ externa va la necesidad de a˜adir un
o e n
condensador en el esquema b´sico del disco. Dicho condensador debido a su tama˜o tambi´n
a n e
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 m´s que ante una p´rdida de corriente garantizar que la cach´ se
a e e
escribe ´ıntegramente en las celdas de memoria.
Es un aspecto cr´ıtico si el disco emplea tecnolog´ MLC, ya que cada celda almacena m´s de un
ıa a
bit, dando lugar a un escenario catastr´fico, en el que la controladora escribe en la celda, pero
o
no llega suficiente energ´ como para escribir el valor correcto.
ıa
3. El rendimiento de un SSD
Hay dos datos que a un usuario impresionan cuando por primera vez ven los n´meros de un
u
disco de estado s´lido. Pulverizan los par´metros de los discos mec´nicos, reduciendo en cuatro
o a a
o
´rdenes de magnitud el tiempo de b´squeda y multiplicando por tres la tasa de transferencia
u
secuencial.
El primero de estos datos no parece muy complicado de entender, en un SSD no hay partes
mec´nicas, por lo tanto, no es necesario que un cabezal se posicione sobre una pista antes de
a
poder acceder a la informaci´n, la unica latencia posible es la que tenga la controladora desde
o ´
que recibe la petici´n hasta que sirve los datos.
o
Pero el segundo nos hace plantearnos lo siguiente, si los pendrives emplean memoria flash,
¿por qu´ son tan lentos? ¿qu´ diferencia hay entre las celdas de memoria de unos y otros? La
e e
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 m´xima te´rica de transferencia
a o
de 480 Megabits por segundo.
No hay acceso paralelo a las celdas: Un pendrive tan solo dispone de una celda de memoria.
Con la tecnolog´ actual un chip de memoria NAND, como m´ximo tiene una velocidad
ıa a
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 n´mero de niveles en las celdas: En un SSD no veremos m´s de dos
u a
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
9. 3.1. ¿Por qu´ necesito un SSD?
e
Figura 8: Una gr´fica es suficiente para ilustrar la respuesta.
a
En la figura comparamos el disco magn´tico m´s veloz disponible en el mercado de usuario1
e a
con un disco de estado s´lido de gama media. Ambos tienen un precio por gigabyte similar, lo
o
cual hace si cabe m´s justa la comparativa.
a
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 num´ricos, es mejor cuanto m´s grande.
e a
Como conclusi´n de los resultados, realizando cuentas sencillas obtenemos que el disco de
o
estado s´lido aventaja a el magn´tico en aproximadamente un 49 %.
o e
1
Western Digital VelociRaptor
9
10. 4. La longevidad de un SSD
Cuando hablamos de que un disco de estado s´lido tiene una vida media muy peque˜a, nos
o n
referimos al tiempo necesario para que uno de los bloques sea marcado como defectuoso.
4.1. Haciendo n´ meros
u
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 estimaci´n:
o
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 pr´cticamente imposible de alcanzar, ya que
a
la propia controladora nos impide realizar esta tarea tan destructiva con las t´cnicas ya nar-
e
radas. Ahora y para desmontar el mayor mito de los SSD, volver´ a realizar los c´lculos, ´sta
e a e
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: Situaci´n del disco tras la instalaci´n del SO.
o o
Si escribimos todos los dias al sobre un 15 % del tama˜o del disco(12 % de datos y 3 % extra
n
provocado por la amplificaci´n de lectura), suponiendo un wear-leveling perfecto, tardaremos
o
6.67 d´ en escribir en todas los bloques. Si cada celda puede escribirse 5000 veces, excedemos
ıas
de largo el tiempo en el que una celda NAND se agota f´ ısicamente.1
Seg´n estos resultados, ahora parece que los discos SSD sean eternos. La verdad es que es-
u
tos datos son ciertos a medias. Todo depende del porcentaje de informaci´n que se escribe
o
diariamente y del tama˜o del disco.
n
1
Diez a˜os, un tiempo suficiente para dejar obsoleto cualquier componente.
n
10
11. 5. Conclusiones
La tecnolog´ de estado s´lido, esta comenzando a llegar al usuario final ahora. Si bien ya es
ıa o
una alternativa fuerte a los discos magn´ticos en la mayor´ de ordenadores, a´n queda mucho
e ıa u
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
peque˜a inversi´n para introducirse en el mundo del estado s´lido.
n o o
No me cabe duda que las partes m´viles est´n en proceso de extinci´n, ya que en el futuro,
o a o
con la reducci´n de la distancia de integraci´n los discos de estado s´lido cada vez tendr´n un
o o o a
coste por gigabyte menor. Los discos de estado s´lido han llegado para quedarse.
o
11
12. 6. Bibliograf´
ıa
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