Introducción a los discos de estado sólido documento

12
Intruducci´ on a los discos duros de estado s´olido Adri´ an Nieto P´ erez 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´ atil ................................. 3 2.2.2. Memoria no vol´ atil ............................... 4 2.2.3. Problemas asociados al uso de memoria no vol´ atil ............. 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´ e necesito un SSD? .............................. 9 4. La longevidad de un SSD 10 4.1. Haciendo n´ umeros ................................... 10 4.2. Un ejemplo real ..................................... 10 5. Conclusiones 11 6. Bibliograf´ ıa 12 0 Este trabajo est´ a editado con licencia “Creative Commons” Reconocimiento-NoComercial-CompartirIgual bajo la misma licencia 3.0 Espa˜ na. 1

Transcript of Introducción a los discos de estado sólido documento

Page 1: Introducción a los discos de estado sólido   documento

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 32.1. El disco al desnudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2. Las celdas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1. Memoria volatil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2.2. Memoria no volatil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.3. Problemas asociados al uso de memoria no volatil . . . . . . . . . . . . . 52.2.4. Soluciones Software para problemas Hardware . . . . . . . . . . . . . . . 7

2.3. El cerebro de un SSD, la controladora . . . . . . . . . . . . . . . . . . . . . . . . 72.4. Memoria cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5. El condensador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3. El rendimiento de un SSD 83.1. ¿Por que necesito un SSD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4. La longevidad de un SSD 104.1. Haciendo numeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2. Un ejemplo real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5. Conclusiones 11

6. Bibliografıa 12

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

1

Page 2: Introducción a los discos de estado sólido   documento

1. Un poco de historia

No es nada nuevo que la mayorıa de dispositivos que utilizamos hoy en dıa en la informaticaactual, fueron ideados entre la decada de los cincuenta y sesenta.

Los SSD1 no son una excepcion. En la epoca de los tubos de vacıo, apoyandose en la tec-nologıa de las memorias de nucleo magnetico2 aparecen como memorias auxiliares. Debido ala veloz evolucion que sufrio la memoria en ese tiempo, la idea quedo aparcada hasta los anossetenta, donde volverıa a intentarse, solo que esta vez se decidio utilizar semiconductores lo quede nuevo, volvio a interrumpir la evolucion de los S.S.D. debido al altısimo coste por unidad dealmacenamiento.

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

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

Para el usuario de a pie, los SSD no llegarıan al mercado hasta el ano 2000, cuando IBMy Trek Technology presentaron el primer pendrive. Gracias a la reduccion de la distancia deintegracion, 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 reduccionde coste, es posible que durante el ano 2011 podamos afirmar que los SSD son alternativaspara el publico general a los discos duros convencionales.

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

2

Page 3: Introducción a los discos de estado sólido   documento

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 ceniremosa 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 parteizquierda de ocho chips de memoria NAND. A la derecha de la imagen junto con diversoscomponentes 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 entreotras por un produto de la capacidad de cada chips, por el numero de estos). Ademaspodemos 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 moviles, en cierta medidarecordando su aspecto al de un pendrive.

2.2. Las celdas de memoria

En los discos comerciales modernos existen dos tecnologıas disponibles para construir lasunidades mınimas 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 unicodispositivo que puede adquirirse en el mercado actual, es el denominado Gigabyte I-RAM elcual emplea tecnologıa DDR2. Al estar basado en memoria RAM tradicional, es necesario queel dispositivo incorpore una baterıa similar a la de los moviles ya que de lo contrarioal apagar el ordenador, se borrarıan todos los datos del disco.Los pros como los contras saltan ala 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.

1En el sentido de las agujas del reloj.2Condensadores, resistencias, reguladores de tension etc.

3

Page 4: Introducción a los discos de estado sólido   documento

2.2.2. Memoria no volatil

Utilizando tecnologıa flash, y gracias al avance en la reduccion de la distancia de integraciones posible lograr un buen compromiso entre el coste por gigabyte y el rendimiento de estasceldas de memoria. En este momento, todas las unidades de almacenamiento basadas enestado solido emplean esta tecnologıa.

Para responder a las distintas demandas del mercado, aparecen dos tecnologıas, que no sonmas que diferentes formas de interpretar el contenido fı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 margenes a partir de los cualesse considera almacenado un cero, o un uno. Logran un mejor desempeno y duracion, yaque 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 numerototal de estados que se pueden almacenar en la celda sean iguales a dos elevado al numerode niveles. De esta forma multiplicaremos el espacio disponible sin perder de-masiada velocidad, aunque tendremos que estar dispuesto a lidiar con los problemas quegenera. El proceso de escribir fısicamente una celda de memoria flash consiste en borrarla celda, y luego escribir el valor correspondiente. Si tenemos en cuenta que en una celdaya no se escribe solo un bit, esto puede significar que cada vez que se borre una celda seborrara toda la informacion que contenga, sea o no lo que queremos eliminar.

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

4

Page 5: Introducción a los discos de estado sólido   documento

2.2.3. Problemas asociados al uso de memoria no volatil

La memoria basada en tecnologıa flash tiene una importante limitacion fısica. En construc-cion de las memorias NAND, cada celda es un bloque de 512KBytes que a su vez sedivide en paginas, usualmente de 4KBytes. Aunque podemos leer cada una de las paginasde la memoria, la unidad mınima de borrado es el bloque. Ademas cada celda individualsolo puede ser escrita un numero determinado de veces, el cual es inversamente proporcional ala distancia de integracion. Es importante resaltar que esta cifra a priori es muy pequena, delorden de 104 ciclos de escritura para la litografıa 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 discoes 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 necesarioeliminar todo el bloque, para despues volver a escrbir el nuevo dato, junto con la informacionque ya tenıa. El factor de amplificacion de lectura se calcula de la siguiente forma:

WA =Numero de bytes a escribir

Numero de bytes realmente escritos

Si suponemos por ejemplo un factor de amplificacion de lectura de 0.5 un disco SSD vera sulongevidad reducida a la mitad. Para ello los fabricantes de SSD, implementan estrategias dewear-leveling1 para asegurar que cada una de las celdas se escribe el mismo numero de veces. Esun mecanismo totalmente transparente para el sistema operativo, ya que la controladora puedereasignar dinamicamente que celdas de memoria fısicas estan asociadas con una determinadadireccion.

1En castellano, balanceado de carga.

5

Page 6: Introducción a los discos de estado sólido   documento

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 ¿dondealmacenamos esa informacion extra que no deberıa 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 estoscasos. Los fabricantes de discos de estado solido se aprovechan de la trampa1 existente en elredondeo2 a potencias de base diez en los discos magneticos, para reducir costes.(No olvidemosque una celda de memoria no tendrıa sentido en una capacidad distinta a un multiplo de unapotencia de dos). Ası reservan parte del espacio disponible en las celdas (entre un 7 yun 25 % dependiendo del uso al que vaya destinado el disco) sin que el usuario convencionalnote nada raro en su falta de espacio.

El siguiente problema, viene unido a una diferencia(otra mas) entre los SSD y los discostradicionales. Cuando en un disco tradicional borramos un sector, el LBA3 que lo apunta semarca 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 paginaSobreescribir 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.

1La compania Seagate fue condenada a pagar indemnizaciones por este hecho2Utilizan la numeracion en base 10 en lugar de la correspondiente en base 2. 109 ≈ 230

3Logical Block Address, unidad logica que permite acceder a cada sector del disco magnetico

6

Page 7: Introducción a los discos de estado sólido   documento

2.2.4. Soluciones Software para problemas Hardware

Para atajar estos inconvenientes fısicos, existen una serie de estrategias disponibles segunel sistema operativo, capaces de reducir de manera drastica el numero de ciclos de escrituradurante el uso del disco.

El comando TRIM: Como ya hemos comentado, el sistema operativo desconoce cuandoun bloque1 se encuentra en desuso. Este hecho imposibilita la la controladora del discoque planifique los reseteos”de dichas celdas. Causando una degradacion del rendimiento amedida que el disco se usa. Para resolver este problema se introdujo un nuevo comandoATA. 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 deinactividad del disco.

Deshabilitar los planificadores de acceso a disco: En los sistemas basados en LINUX, elplanificador de acceso a disco fue disenado para minimizar al maximo los movimientosde la cabeza de lectura de los discos magneticos. En los discos SSD, al tener un tiempode busqueda practicamente nulo, la planificacion en este caso es completamente innece-saria, siendo suficiente una cola FIFO, sin ninguna logica adicional para lograr unrendimiento optimo.

Desactivar o mover el archivo de intercambio: El archivo de intercambio puede ser unproblema importante en los discos de estado solido. En equipos de escritorio suele tenertamano que oscila del 20 al 50 % de la memoria RAM disponible. Si pretendemos darleuso a dicho archivo diariamente, es crucial para la vida del SSD que el archivode intercambio se encuentre en un disco duro mecanico. Cada Gigabyte que seescribe 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 deestado solido. Se encarga de aspectos clave, tales como la gestion de errores, los algoritmosde 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 mismacuidadosamente, 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 ala 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 MLCConsumo de energıa 550 mW 950 mWTasa de transferencia max. 260 MBytes/s 260 MBytes/sOperaciones aleatorias max. 30/10K IOPS2 30K/30K IOPSEncriptacion 128-bit AES contrasena fija. 128-bit AES contrasena configurableTasa de fallos de lectura 1 sector cada 1016 bytes leıdos 1 sector cada 1017 bytes leıdosTiempo medio entre fallos 2 · 106 horas 10 · 106 horas

Figura 7: Diferencias entre dos controladoras SandForce.

1Refiriendonos a bloque a nivel de celda de memoria

7

Page 8: Introducción a los discos de estado sólido   documento

2.4. Memoria cache

Todos los discos de estado solido incorporan memoria cache. Segun el uso que se le vayaa dar al disco puede ser o no necesaria. Es un elemento que influye directamente en elprecio del disco, ya que si empleamos una seccion para un chip de memoria cache externa, paraproporcionar al disco una decena de megabytes de cache, ya no podremos utilizar esa superficieen 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 enentornos 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 uncondensador en el esquema basico del disco. Dicho condensador debido a su tamano tambienresta un espacio similar al de un chip NAND por lo cual es otro elemento que incrementa elprecio por gigabyte del disco.

Su funcionalidad no es mas que ante una perdida de corriente garantizar que la cache seescribe ıntegramente en las celdas de memoria.Es un aspecto crıtico si el disco emplea tecnologıa MLC, ya que cada celda almacena mas de unbit, dando lugar a un escenario catastrofico, en el que la controladora escribe en la celda, perono llega suficiente energıa 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 undisco de estado solido. Pulverizan los parametros de los discos mecanicos, reduciendo en cuatroordenes de magnitud el tiempo de busqueda y multiplicando por tres la tasa de transferenciasecuencial.

El primero de estos datos no parece muy complicado de entender, en un SSD no hay partesmecanicas, por lo tanto, no es necesario que un cabezal se posicione sobre una pista antes depoder acceder a la informacion, la unica latencia posible es la que tenga la controladora desdeque 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? Laverdad 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 transferenciade 480 Megabits por segundo.

No hay acceso paralelo a las celdas: Un pendrive tan solo dispone de una celda de memoria.Con la tecnologıa actual un chip de memoria NAND, como maximo tiene una velocidadde lectura de unos 15 megabytes. La velocidad de un SSD se obtiene mediante un accesoconcurrente 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 dosniveles en las celdas MLC. Con el fin de aumentar la capacidad por chip, en los pendriveshay algunos fabricantes que montan tres o cuatro niveles.

8

Page 9: Introducción a los discos de estado sólido   documento

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, locual hace si cabe mas justa la comparativa.

Prueba OCZ Vertex 2 WD VelociRaptor

PC Mark Vantage - General 17103 11564IOMeter - 4k Random read 52 0.6IOMeter - 4k Random write 51.4 1.7IOMeter - 2MB Secuential read 265.5 145.3IOMeter - 2MB Secuential write 251.9 111Operaciones 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 deestado solido aventaja a el magnetico en aproximadamente un 49 %.

1Western Digital VelociRaptor

9

Page 10: Introducción a los discos de estado sólido   documento

4. La longevidad de un SSD

Cuando hablamos de que un disco de estado solido tiene una vida media muy pequena, nosreferimos 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 losdatos anteriores, si pudieramos escribir un grupo de celdas de forma constante, desactivandotodas 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

175 · 106 bytes/s· 10000veces = 292,571 segundos en provocar un fallo en el disco

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 quela 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, estavez, empleando un ejemplo de uso real.

OCZ Vertex 2 (Firmware 1.29)

Capacidad total 64 gigabytesReportado 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 % extraprovocado por la amplificacion de lectura), suponiendo un wear-leveling perfecto, tardaremos6.67 dıas en escribir en todas los bloques. Si cada celda puede escribirse 5000 veces, excedemosde largo el tiempo en el que una celda NAND se agota fısicamente.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 escribediariamente y del tamano del disco.

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

10

Page 11: Introducción a los discos de estado sólido   documento

5. Conclusiones

La tecnologıa de estado solido, esta comenzando a llegar al usuario final ahora. Si bien ya esuna alternativa fuerte a los discos magneticos en la mayorıa de ordenadores, aun queda muchocamino por andar. Pese a las limitaciones ya comentadas, si se destina el SSD a almacenar elsistema operativo y los programas, y en otro disco almacenamos los datos, es suficiente con unapequena 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 uncoste por gigabyte menor. Los discos de estado solido han llegado para quedarse.

11

Page 12: Introducción a los discos de estado sólido   documento

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