Eltein Lab

Electrónica, Informática, Telecomunicaciones

Discos Duros SSD: ¿Por qué fallan?

Los discos solidos (SSD) se están implantando poco a poco, sobretodo en el mercado de los netbooks. Estos discos, que no tienen parte mecánica, también tienen problemas que provocan averías, y con ellas la pérdida de datos. Pero, ¿Por qué fallan?

La explicación completa hay que buscarla en el funcionamiento de las memoria flash, el componente en el que están basados este tipo de unidades.

Para ser mas precisos, las memorias flash presentan unas limitaciones muy importantes:

  • Numero limitado de borrados: En los chips de memoria flash el borrado de una celda de memoria requiere una descarga eléctrica de una tensión relativamente elevada; esto hace que, con cada operación de borrado, la celda se deteriore hasta quedar inutilizada. En la práctica, el número total de borrados ronda el millón. En las aplicaciones habituales de las memorias flash (cámaras fotográficas o reproductores multimedia) llevará años realizar un número tan elevado de borrados, pero en un ordenador personal, donde el disco duro está trabajando de forma casi continua, esta cifra se puede alcanzar en muy poco tiempo.
  • El borrado es una operación peligrosa: La naturaleza destructiva de las operaciones de borrado hace la fiabilidad de estos componentes sea muy inferior a la de un disco duro convencional. No es solo que un borrado pueda destruir las celdas afectadas, es que el deterioro que sufren hace que sus probabilidades de fallar en el momento de realizar una operación de lectura o escritura vayan aumentando con el tiempo.
  • El borrado se ha de hacer por páginas: En los circuitos flash las celdas de memoria están agrupadas por sectores de 512 bytes (como en las unidades de disco), y estos sectores a su vez se agrupan en páginas de un tamaño relativamente grande, del orden de 128kb o 256Kb. Las operaciones de lectura o escritura se hacen por sectores, pero el borrado se hace por páginas; es decir, cada orden de borrado supone limpiar 256 o 512 sectores del disco.

Despues de leer estas limitaciones queda claro porque la tasa de fallos es tan alta; simplemente, la fiabilidad de estos componentes es mucho menor que la de un disco duro convencional. Ahora queda explicar el problema del bajo rendimiento; si siempre se nos ha dicho que las memorias flash tienen unos tiempos de acceso muchísimo menores que un disco duro, ¿Como es posible que los discos SSD sean mas lentos que los convencionales?

De lo dicho anteriormente se desprende que el controlador de memoria flash debe estar programado para reducir al mínimo el número de borrados, algo que no es nada fácil si pensamos en el hecho de que los sectores no se pueden borrar individualmente. Es decir, si queremos borrar un sector no podemos aplicar la solución obvia: Leer la página, borrar la página, reescribir la página pero sin el sector que queríamos eliminar. Hacer esto supondría inutilizar el disco en muy poco tiempo.

La solución es trabajar mediante transacciones; es decir, cuando el sistema ordena borrar un sector la operación no se ejecuta físicamente, sino que se escribe una anotación en el disco indicando que se ha dado esta orden. Cuando se ordena una operación de escritura que, para ejecutarse, necesita borrar datos (vamos a sobreescribir un sector) se procede de la misma manera. Esto significa que el disco se va llenando con una lista de operaciones a realizar y, cuando el espacio libre empieza a escasear, se ejecuta la transacción; es decir, todas las operaciones de borrado y sobreescritura pendientes se ejecutan en bloque y el espacio extra se libera.

Trabajar de esta forma no tiene ningún efecto negativo si el trabajo que hace el disco consiste en leer o escribir archivos de gran tamaño; casualmente, así es como trabajan los reproductores multimedia y cámaras de fotos, que es la aplicación habitual de las memorias flash. El problema es que los PCs no trabajan así; en los ordenadores lo habitual es que se lean y escriban bloques de datos de pequeño tamaño de forma casi continua. Un buen ejemplo son los programas de correo electrónico; cada vez que llega un correo nuevo hay que grabarlo en el disco, en el momento en que lo leemos hay que escribir la marca de leído, … cada operación que hacemos con nuestro programa implica escribir en el disco una cantidad muy pequeña de información.

En resumen, que un programa de correo electrónico genera una carga enorme de trabajo sobre el controlador de nuestro disco SSD; eso explica porque estos discos pueden llegar a ser mucho mas lentos que los convencionales.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Información

Esta entrada fue publicada el febrero 16, 2010 por en Almacenamiento de Datos, Recuperacion de datos, Uncategorized.
A %d blogueros les gusta esto: