Revolución en almacenamiento: Discos SSD

En esta ocasión tocamos el tema de las nuevas unidades SSD (discos de estado sólido) que son el nuevo medio de almacenamiento que poco a poco irá reemplazando a los tradicionales “discos rigidos”. Las unidades SSD usan una tecnologia enteramente diferente. A diferencia de los discos rígidos, las unidades SSD no tienen ninguna parte móvil internamente, por lo cual son mucho más resistentes. Son enteramente electrónicos, más rápidos pero también ligeramente más complicados.
Un disco rígido común y corriente contiene partes mecanicas móviles, de extrema precisión, orquestando movimientos milimétricos sobre discos de aluminio que giran a miles de vueltas por minuto.
Explicado a nivel muy básico, esta nueva tecnología SSD consiste en almacenar
la informacion en forma similar a la usada en pen-drives (o “thumb drives”). Y aunque todo esto suena simple, no lo es.
El software que controla a un SSD hace cosas internamente que tienen una complejidad impresionante, y que vale la pena resaltar.

A diferencia de los discos rígidos, que almacenan su informacion mediante magnetismo, una unidad SSD lee y escribe a un tipo de memoria conocido como flash NAND. La memoria flash es no volátil, lo que significa que no pierde su contenido cuando pierde el suministro eléctrico, como sucede en la memoria RAM. Es esencialmente lo mismo que hay dentro de reproductores de mp3 y “pen drives” (ó thumb drives), pero lo que hace a un SSD mucho mas rápido es una serie de trucos que la controladora SSD utiliza para leer y escribir datos.

“La memoria en un SSD es esencialmente lo mismo que hay dentro de reproductores de mp3 y pen drives”

La propiedad de las unidades SSD de ser almacenamiento no-volátil proviene de su componente básico: los transistores. Este almacenamiento de información con transistores se logra manteniendo a los electrones mediante una puerta lógica, y luego envía o recibe electrones usando un fenómeno físico muy particular ( https://en.wikipedia.org/wiki/Field_electron_emission#Fowler.E2.80.93Nordheim_tunneling )
Cada transistor puede guardar un bit (un 1 si la celda no tiene carga, o un 0 si tiene carga). Es interconectando miles de millones de estas pequeñas celdas que se logra conformar algo que puede almacenar la información en cantidad, tal como lo hacen los pen drives. Ahora bien, el tema se empieza a poner complicado a la hora de usar esta tecnología para lograr una velocidad y durabilidad aceptable que supere a los discos rígidos actuales.

Por las características de las memorias flash NAND, es posible leer  información en grupos contiguos llamados “páginas” (usualmente 8192 bytes). Desafortunadamente no funciona 100% igual a la hora de realizar escrituras: las escrituras solamente pueden realizarse cuando se escribe sobre celdas previamente puestas en blanco -es decir, todas las celdas que la componen están eléctricamente sin carga-.
El proceso eléctrico para poner en blanco una celda consiste en aplicar una sobrecarga de voltaje, haciéndolo peligroso para las celdas cercanas. Por esta razón, la puesta en blanco se realiza en grupos más grandes de celdas mejor separados unos de otros, llamados “bloques”. Un bloque tiene aproximadamente 2 megabytes. Estas características inherentes a la memoria flash generan un problema: no es posible sobreescribir información de manera simple y directa. Si ya no se tienen páginas en blanco, hace falta identificar algún bloque de celdas que no esté siendo utilizado, realizarle el borrado eléctricamente al bloque entero, y copiar a esas celdas en dicho bloque con la información en cuestión. Cuando un disco SSD es nuevo y recién sacado de su caja, está repleto de paginas listas para ser escritas. A medida que se empieza a escribir y borrar más información, los bloques libres comienzan a escasear, y es allí donde deben comenzar a realizarse dichos “malabares” internos con las celdas. Por esta razón, a  medida que pasa el tiempo, los discos SSD comienzan a ponerse más lentos.

“A medida que pasa el tiempo, los discos SSD comienzan a ponerse más lentos.”

Otro problema de los discos SSD es que las sobrecargas de voltaje necesarias para poner en blanco un bloque de celdas terminan cobrando su precio: luego de cierta cantidad de borrados realizados, las celdas en cuestión se terminan dañando y se tornan inservibles. Es decir, dada la naturaleza de su funcionamiento, las celdas se van degradando y por lo tanto la cantidad de escrituras que pueden realizarse en un disco SSD son limitadas. Esas celdas, una vez que quedan dañadas, se marcan internamente como no útiles, de modo que ya no es posible usarlas. Efectivamente, el espacio disponible en el disco SSD comienza a reducirse.

“Dada la naturaleza de su funcionamiento, las celdas se van degradando y por lo tanto la cantidad de escrituras que pueden realizarse en un disco SSD son limitadas”

Para intentar compensar este indeseable comportamiento, los fabricantes incluyen espacio adicional oculto, para poder reemplazar internamente a aquellos bloques que han quedado dañados y marcados de modo permanente. Dicho espacio adicional oculto no está disponible para el usuario, sino que está solamente accesible para la lógica interna, para ser usado únicamente como “rueda de repuesto” en el momento necesario.

 

Fuentes:

http://cmosedu.com/jbaker/papers/2005/degradation_of_rise_time.pdf

http://www.iue.tuwien.ac.at/phd/windbacher/node14.html

http://www.anandtech.com/show/2738/8

http://www.elettronica.ingre.unimo.it/materiale_didattico/28_ieee_proc_97.pdf

Esta entrada fue publicada en General. Guarda el enlace permanente.

Deja un comentario