Teleobjetivo Imagen de Cabecera

¿Por que fallan los discos SSD?

19 de Marzo de 2008 · 26 Comentarios

Leo en abadiadigital que, en los portátiles con discos sólidos, la tasa de devoluciones se encuentra entre el 20% y el 30%. La mayoría de las devoluciones se deben a fallos en las unidades de disco, pero también se están produciendo muchas devoluciones porque el rendimiento de estas unidades es inferior al de un disco duro normal. ¿Por que esta ocurriendo todo esto?

La explicación rápida es que estamos ante una tecnología nueva y, en consecuencia, todavía requiere afinarla; la explicación completa hay que buscarla en la forma como funcionan los chips de 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.

Etiquetas: Tecnologia

26 respuestas ↓

  • 1 Diego // 19 de Marzo de 2008 a la(s) 11:15 pm

    Muy importante información.

    Los discos SSD sucks.

  • 2 ErPaquillo // 23 de Marzo de 2008 a la(s) 5:07 am

    Esto es como todo… Por eso yo prefiero las cámaras de vídeo en formato MiniDV antes que en DVD o disco duro. Lo más mejor es la cinta digital…

    Vamos a echarle huevos y a cargar un windows con un BLOAD¨¨,R

    BLOAD¨C:WinXP.COM”, R
    Found: WinXP

    Please wait…

  • 3 Enlaces interesantes | blojer // 24 de Marzo de 2008 a la(s) 12:12 am

    […] ¿Por qué fallan los discos SSD?, comentarios sobre las limitaciones de la memoria flash. […]

  • 4 Explicación: ¿Por qué fallan los discos SSD? // 8 de Abril de 2008 a la(s) 9:07 am

    […] Explicación: ¿Por qué fallan los discos SSD?teleobjetivo.org/blog/porque-fallan-los-discos-ssd.html por bertol hace pocos segundos […]

  • 5 Diego // 8 de Abril de 2008 a la(s) 9:22 am

    Serán el futuro, sin duda, sólo que hay que darles un poco de más tiempo (y más dinero) para salvar estos pequeños problemas.

    Pero cuando estén solucionados, sí que serán buenos porque no harán ruido, el consumo será mínimo y el peso también. Así que…

  • 6 troin // 8 de Abril de 2008 a la(s) 10:16 am

    El numero limitado de borrados es mentira.

  • 7 caspas // 8 de Abril de 2008 a la(s) 12:03 pm

    El trabajo por transacciones sólo agravaría el problema, estas pasando la carga de operaciones de todo el disco a una pequeña parte donde estaría constantemente escribiendo y leyendo, en cuanto fallasen los sectores de esta área de registro el disco entero quedaría desactualizado, ¡eso más que una solución es un desastre!.

    Otra alternativa sería dejar pendiente el procesamiento hasta que faltara el espacio en disco, así las celdas se borrarían pocas veces, pero claro, ¿Qué pasa con el rendimiento?, ahora ya no hablamos de leer una celda o página, si no de leer cientos de ellas para calcular lo que “debería” haber en una celda que ha sido cambiada muchas veces.

  • 8 frames // 8 de Abril de 2008 a la(s) 1:37 pm

    Estoy relacionado con una de las comunidades que más usa “discos” SSD en un ordenador: los usuarios de Eee PCs.

    Como la afirmación inicial de devoluciones (creo que parte de Dell) me parece un tanto “cuestionable”, he querido hacer un pequeño experimento pseudo-científico que he anunciado en el weblog del Eee PC en español y he creado una encuesta en el foro.

    A ver qué nos cuenta la gente.

  • 9 Davaeron // 8 de Abril de 2008 a la(s) 3:39 pm

    Troin, tus argumentos son aplastantes… e inexistentes.

    Gracias por la información, me lo pensaré antes de comprar un portátil con SSD

  • 10 oaninor // 8 de Abril de 2008 a la(s) 8:19 pm

    tengo una asus eee desde hace poco mas de un mes. en cuanto a la fiabilidad creo que tendria que darle mas tiempo, y en cuanto al rendimento, me imagino que algo hay de cierto pues de verdad veo el acceso a disco ya sea lectura o escritura muy lento. no diria que mas que un disco normal pero si es mucho mas lento de lo que esperaba.

  • 11 Atec // 8 de Abril de 2008 a la(s) 9:06 pm

    No sé si acabo de entender el problema, pero dice que hay 3 operaciones: 0: escribir 0, 1: escribir 1, 2: borrar, no?

    Si la operación 2 es tan dañina, por qué no sustituirla por escribir 0? Y si esta operación la hace el SO, todo esto se podría arreglar con una simple actualización del SO (pongamos un service pack :p )

    Saludos.

  • 12 AlejoLp // 8 de Abril de 2008 a la(s) 9:55 pm

    Las operaciones de Escribir y Borrar son las mismas. Cuando borrás lo que haces es Escribir que “aquí no hay nada interesante”.

  • 13 monti // 8 de Abril de 2008 a la(s) 11:57 pm

    No, no son las mismas. En las memorias flash, el escribir un bit significa poner ese bit a cero, y borrarlo significa ponerlo a uno (Las memorias salen de fábrica con todos sus bits a uno). La operación de escritura es sencilla y requiere poca energía, mientras que la operación de borrado si que es compleja y destructiva.

  • 14 LordRedyen // 9 de Abril de 2008 a la(s) 5:27 am

    Hola yo creo, no me ocnta, que el problema de los discos SSD es con sistemas winfdws, los *nix like, segun entiendo, no tiene acceso directo al disco (magnetico o de estado solido) sino qeu tiene un disoc virtual en la ram donde hacen todo el trabajo, cada sierto tiempo o con la orden *sync* escribe(escribir o borrar) los datos en el disco, por ello que no tenemos porblemas con los discos de estado solido, llevo milenios (2 años y medio) usando un USB Kingston, en linux rula bien por que veo que el led indicador no esta trabajando sino hasta uqe me pongo a usar la swap y demases, pero en cambio en entornos windows ese led siempre anda prendido opr que sera??, bueno en el EeePC hay un linux con el mismo manejo del disco, asi que rula bien…
    es mi opinion espero sea respaldad o refutada por terceros : D

  • 15 willy // 9 de Abril de 2008 a la(s) 12:04 pm

    Una duda, segun el articulo: “en los chips de memoria flash el borrado hace que, con cada operación de borrado, la celda se deteriore hasta quedar inutilizada”.

    Por que esto no ocurre con la memoria RAM?, o acaso con la memoria RAM no se realiza tambien una cantidad enorme de borrados?

  • 16 monti // 9 de Abril de 2008 a la(s) 12:12 pm

    willy: Porque son tecnologías diferentes. En la RAM, las celdas de memoria son condensadores, y el borrado consiste simplemente en dejar que descarguen. En las memorias Flash, las celdas de memoria son diodos y el borrado consiste en “quemarlos” con una descarga eléctrica de alto voltaje.

  • 17 Javier // 15 de Junio de 2008 a la(s) 2:53 am

    Tus suposiciones son bastante falsas.
    Los discos SSD van equipados con caché de escritura y lectura. A eso, hay que añadirle la caché del sistema operativo. Esto elimina la posibilidad de tener que borrar un solo sector a la vez.
    En segundo lugar, los discos SSD no acceden siempre al mismo sector a la hora de hacer grabaciones, sino que van rotando. Es decir, el sector que para el ordenador sea 5, para el SSD en realidad puede ser 19, y esto se hace transparentemente.
    En las memorias flash sucede algo similar, pero claro, depende de la calidad y el año en que la compraste, tendrán estas correcciones de errores o no.
    Están ofreciendo 5 años de garantía en estos discos, y por algo será.
    (Ese 20% de devoluciones, en caso de ser real que no me lo creo, seguro que es porque los usuarios no se esperaban que el ordenador fuera como es, o no sea suficientemente rápido, etc)

  • 18 Carlos // 25 de Julio de 2008 a la(s) 1:04 pm

    Por lo que he entendido, pese a los problemas señalados de los discos SSD, hay una aplicación que plantearía muy pocos problemas, a saber: el uso como disco externo, muy fácilmente transportable, fuera del alcance del correo electrónico, para almacenar música, fotos o cualquier otro tipo de fichero “estable” (copias de seguridad,…). Teniendo en cuenta que no hay motivo racional para lanzarse corriendo a comprar nuevos equipos con SSD, este uso supondría una transición hacia la implantación definitiva, si es que se resuelven los problemas (graves, desde luego) actuales.

  • 19 Juan // 3 de Agosto de 2008 a la(s) 10:12 am

    esperemos que en un par de años todos los errores de estas nuevas tecnologias sean arreglados

  • 20 Problemas con los discos SSD (Solid State Drive) « m2r Weblog // 20 de Agosto de 2008 a la(s) 11:00 am

    […] buscar en la tecnología en la que se basan estos discos, los chips de memoria flash. En el blog Teleobjetivo lo explican a la perfección: Las memorias flash presentan serias […]

  • 21 Vídeo comparativo entre un disco duro normal y uno SSD // 9 de Septiembre de 2008 a la(s) 10:06 am

    […] tiempo hablaba de los problemas que dan los discos SSD, que se traducen en problemas de rendimiento y fiabilidad. Ahora, podemos ver estas diferencias en […]

  • 22 elbien // 10 de Marzo de 2009 a la(s) 4:53 pm

    recuerdo antes de todos esto al desarollador del puppy linux comentando que habia quemado un par de memorias flas por haber intentado usarlas como disco duro (su sistema operarivo cabia en 120 mb), y lo soluciono con cargar todo el sistema en memoria y grabar sesiones al finalizar, algo asi como lo que comentaba lordreyden, claro que con un sistema operativo que necesita 2gb para arrancar, estas cosas serian impensables, lo que me deja pensando un poco sobre quien es el del problema en este caso…
    (por ejemplo, si se me cuelga mi windows vista, y el disco tiene un monton de operaciones de borrado y escritura en espera, es muy probable que el sistema no quiera arrancar luego, yo creo que un 20 o 30% de las veces)

  • 23 Tecnomilton // 18 de Marzo de 2009 a la(s) 4:42 am

    ¿que acaso no existe un driver capaz de manejar correctamente a estos SSDs? eso de no borrar celdas hasta que se haya grabado todas deberia ser un estandar en estos polemicos.

  • 24 Sobre los fallos en los discos SSD // 28 de Octubre de 2009 a la(s) 7:45 pm

    […] un año hablaba sobre las limitaciones de los SSD y porque son menos fiables que los discos mecánicos convencionales. En este hilo de Slashdot […]

  • 25 monitor // 11 de Mayo de 2010 a la(s) 12:22 pm

    Dudo mucho, pero mucho que esto de que los hd ssd sean menos fiables y tambien dudo que el borrado afecte en algo al SSD si fuera así.
    He hecho pruebas y despues de un borrado se recuperan los datos incluso despues de un formateo, por lo tanto funciona igual que una CF o un HD, si fuera como comentas los datos seria irecuperables ya que todo estaria a 0

  • 26 Alwar // 13 de Julio de 2010 a la(s) 10:49 pm

    Claro, porque cuando formateas lo que borras no es ese sector fisico, si no que borras una entrada en la lista de archivos que tiene tu sistema de ficheros. Si haces un formateo “lento” si se borraría todo y no podrías recuperar nada. Igual pasa con los archivos, cuando tu borras uno, incluso uno que esta en la papelera de reciclaje lo que haces es borrar la referencia a el, y como has borrado la referencia, no sabes en que sector del disco está y por tanto no puedes leerlo. Esto hace que las operaciones de escritura sean menores.

    Y básicamente escritura = borrado, ya que cada bit solo puede se 1 o 0, luego según el protocolo cuando borres pondras a 0 o 1, y cuando escribes pues pondras 1 o 0 según los datos que estés guardando.

Dejar un Comentario