Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Aspectos internos de una unidad SSD

Publicado en 24 julio, 2013, por en Hardware.

En los últimos años, el número de fabricantes de unidades de disco duro se ha reducido de forma significativa a unas pocas grandes compañías.

Destacan Seagate, Western Digital y Toshiba.

El resto de fábricas han sido adquiridas. Como su desaparición era inminente, han sido absorbidas por estas empresas. Muchas siguen usando el nombre, pero realmente forman parte de estas organizaciones.

Llegados a este punto, las unidades externamente parecen idénticas, los cabezales, platos, etc, lo que les hace realmente diferentes unas de otras es el firmware que emplean.

En los discos duros mecánicos, 20 años de ingeniería inversa permiten conocer su funcionamiento e interpretar el almacenamiento y recuperación forense de datos. En definitiva se conoce la lógica de trabajo.

Pero las unidades Sólidas o SSD, en su 4 ó 5 generación, difieren de las anteriores y existen muchos mecanismos de funcionamiento que sólo conocen sus fabricantes. Todo el mundo quiere ser líder. Los veloces ciclos con los que trabajan hacen difícil interpretar su funcionamiento interno.

Las unidades SSD o sólidas se caracterizan principalmente por no disponer de partes móviles, en las lecturas y escrituras. No existen ni intervienen partes mecánicas.

Existen grandes diferencias entre unidades de estado sólido y memorias de almacenamiento interno (ejemplo llaves USB). En las unidades SSD, no existe posibilidad de emular el controlador de acceso a los datos, el procesador central no puede realizar esas tareas que quedan delegadas a los procesadores y PCB de la SSD, a diferencia de las memorias de almacenamiento. Las unidades SSD poseen su propio procesador, controlan su propio funcionamiento, y no existe el acceso a datos mediante comandos.

Un gran defecto de las unidades de disco duro mecánicas es el gran problema existente con las caídas, movimientos bruscos, golpes, sus estructuras internas al ser móviles y no poseer almacenamiento electrónico, pueden dañarse fácilmente. Posee elementos muy frágiles que pueden fallar ante accidentes. Aunque no exista alimentación de la unidad mecánica, puede verse afectada por estos impactos. Este tipo de situaciones no podrían ocurrir con las unidades SSD, puesto que al no disponer de partes mecánicas, son realmente resistentes a las caídas y accidentes. Los datos pueden recuperarse fácilmente sin daño alguno, si se ha producido un percance de este tipo.

Por otro lado, el almacenamiento de los datos en una unidad de disco duro tradicional es analógico, similar a una onda, mientras que el almacenamiento en SSD es directamente digital. No existe el codificación ni decodificación de la señal, para convertir la información en digital. Los errores de lectura de esa señal analógica ocurren frecuentemente y es necesario realizar varias lecturas para asegurar el correcto acceso a la información. Existe una comprobación constante del ECC. Existe una pérdida de tiempo realizando esas comprobaciones que reduce la eficacia de la unidad. Este aspecto se denomina Reliability o confiabilidad de los datos. En este sentido la SSD son extremadamente superiores.

Por otro lado la velocidad es superior en unidades SSD. En las unidades tradicionales muchos usuarios piensan que la velocidad en el exterior del disco es superior a la interior. Eso no es cierto técnicamente, la velocidad es constante, lo que sí es cierto que en la parte externa de la de los platos existen más sectores y existe más información, que produce menos retrasos en su lectura puesto que no se pierde tiempo en los movimientos del cabezal, puede leerse más información en el mismo tiempo. Además todos los cabezales se mueven juntos, pero no trabajan juntos, a la vez, sólo una cabeza de la unidad de disco esta activa en un momento determinado, ralentizando el tiempo entre activación y activación. Las conversiones de datos de analógico a digital, hacen perder tiempo, es por ello que las unidades SSD son mucho más rápidas.

Por otro lado, el consumo de las unidades SSD al no disponer de motor, es inferior, esto permite alargar la vida de las baterías y la duración del funcionamiento de los equipos portátiles. Al no existir motor ni movimiento de componentes interno en las SSD, no existe vibración, al no tener vibración, estas unidades hacen menos ruido, son más silenciosas.

El movimiento, siempre produce calor, por lo que las unidades SSD se calientan menos, la temperatura es inferior. Podríamos trabajar con un Macbook entre las piernas sin miedo a no tener descendientes.

Por otro lado, al disponer de componentes electrónicos, las SSD pesan menos que los discos duros tradicionales, y pueden disponer de un tamaño menor.

Por lo que podemos apreciar que todo por ahora son ventajas, pero existen algunos aspectos que es necesario tener en cuenta, que pueden limitar su vida.

Sigamos…

Respecto al tipo de memoria que pueden usar las SSD, de los 3 tipos existentes, emplean el tipo NAND, los otros tipos de memoria NOR y el DRAM no son utilizadas para los discos SSD.

La DRAM ha sido usada durante muchos años, admite ratios de velocidad altísimos, esta memoria es la misma que la que se emplea en la RAM de los ordenadores, pero no es empleada para las unidades SSD. Es mucho más rápida que la memoria de las unidades SSD que es de tipo NAND, pero existe un problema, si apagamos la electricidad o corriente del circuito perdemos la información. Es por ello que no se emplean en las SSD

Los otros dos tipos NOR y NAND no son volátiles, fueron diseñadas hace tiempo por Fujio Masuoka en Toshiba.

La memoria NOR es similar a la empleada en las BIOS de los PCs, posee una particularidad, y es que sólo puede escribirse en ellas pocas veces, antes de que dejen de funcionar. Poseen una acta velocidad de lectura, una baja velocidad de escritura.

Las NAND usadas por las unidades SSD, USB, XD, etc. En este tipo de memoria puedes escribir miles de veces antes de que fallen o se estropeen.

Las memorias NAND poseen celdas. Cada celda almacena electrones. Si no existe carga dentro de la celda, el valor es 1, a diferencia, si posee carga o electrones, el valor es 0.

A grandes rasgos, existe una puerta en la parte superior a la celda, que mediante una carga, deja pasar el/los electrones. Estos quedan atrapados dentro de la celda gracias a una capa de óxido. En la parte inferior de la celda existe un transistor que informa debido a los movimientos del los electrones del estado de la carga. El proceso de carga (valor 0), se denomina inyección de electrones. El transistor inferior puede leer cuantos electrones se encuentran en la celda, en definitiva, la presencia de carga.

Como curiosidad el valor 0, a diferencia de lo que emplean muchos programadores es la presencia de valor. Lo contrario a la lógica programada.

SLC (Single layer Chip), posee el valor mínimo de información, un bit por cada celda, y son las más caras.

Memoria flash NAND puede ser sub-dividido en 3 grandes categorías SLC, MLC y TLC.

SLC es una abreviatura de «célula de un solo nivel»:

Memoria SLC almacena un bit en cada célula, dando lugar a velocidades de transferencia más rápidas, menor consumo de energía y la resistencia de células superiores. La única desventaja de la célula de un solo nivel es el coste de fabricación por MB, lo que significa que la tecnología flash SLC se utiliza en tarjetas de memoria de alto rendimiento, donde la velocidad y la fiabilidad son importantes.

MLC es una abreviatura de «multi-level cell ‘:

Memoria MLC almacena dos bits en cada celda. Al almacenar más bits por celda, una tarjeta de memoria Multi-Level Cell alcanzará velocidades más lentas de transferencia, mayor consumo de energía y la resistencia de células más bajas que una tarjeta de memoria de la célula de un solo nivel. La ventaja de la memoria Multi-Level Cell es el bajo coste de fabricación. Tecnología flash MLC se utiliza sobre todo en los dispositivos de memoria de los consumidores habituales.

TLC es una abreviatura de ‘Celda Triple-nivel «:

TLC memoria almacena tres bits en cada celda. Al almacenar incluso más bits por celda, una tarjeta de memoria del teléfono de triple nivel alcanzará velocidades más lentas de transferencia, las tasas de error más elevadas y la resistencia de células más bajas que la célula multi-nivel y tarjetas de memoria de la célula de un solo nivel. Las ventajas de la Memoria de la célula de triple nivel son que el chip de memoria será físicamente más pequeño que SLC y chip MLC para una capacidad de memoria dada, se requiere menos energía para funcionar que la memoria MLC y es más barato de producir. Tecnología flash TLC se utiliza sobre todo en los dispositivos de memoria de gama baja, donde la velocidad y la fiabilidad no son importantes.

El proceso de Write Endurance. (Resistencia a la escritura), el problema de las memorias que forman parte de las unidades SSD

Básicamente este proceso inyecta electrones dentro de la celda, cargando la celda e inversamente tambien  se produce la descarga y salida de los electrones.

Es esa salida de electrones, la que provoca el daño de la celda en el tiempo, y limita la vida de la unidad SSD, que va a determinar el metodo de almacenamiento y funcionamiento de estas unidades SSD que comentaré mas adelante. El proceso de descarga hará que la celda ya no se pueda cargar mas, quedando inutilizado. Cuando pasa esto, el dispositivo lo marca como un bad block.

Por lo que estas unidades para un correcto funcionamiento, deben evitar realizar escrituras en las mismas posiciones, y emplean un procedimiento aleatorio de escritura en diferentes celdas. La vida es menor, si empleamos escrituras constantes, 4 gigas pueden durar 3 años, 8 gb 6 años, y 16 gb 9 años. Como podemos apreciar a mayor cantidad de memoria mayor vida de la memoria, puesto que puede alternar esas escrituras.

Por lo tanto ese proceso que permite que las memorias duren mas, es empleado actualmente por software en unidades USB, pero en unidades SSD lo realiza el controlador del disco.

Por poner un ejemplo, el proceso readyboost incorporado desde Windows Vista, que permite emplear las memorias usb como memoria principal, realiza este proceso de protección y escritura aleatoria de forma automática. El empleo de readyboots de forma constante desgasta el uso de las unidades flash.

Curiosidad sobre las memorias USB o flash.

En  uno de los comunicados que realizan los fabricantes de estos dispositivos, aclaran esto:

Cuando las obleas o wafers de memoria flash son probadas,se clasifican en función de su calidad de testeo. Las células malas se marcan y las células restantes se clasifican entre consumidores y el flash de calidad industrial. Las obleas buenas suelen ir a entidades de calidad en sus productos. Por lo que, aparte de la capacidad de una USB, la diferencia en el precio queda marcada lógicamente en muchas ocasiones por la calidad del material, que determina la duración de la memoria. Si pagamos el doble de una marca a otra es además de la marca, por la duración y fiabilidad de almacenamiento.

Todos los fabricantes compran los wafers a las mismas fuentes, pero no todos compran la misma calidad. La misma durabilidad.

El sector en las NAND

El firmware de las SSD permite almacenar los ficheros en bloques diferentes cada vez que escribe. Todos los datos se mueven de un sitio a otro de forma constante, para evitar dañar los bloques. El las unidades SSD es labor de la controladora de disco, en las unidades USB es responsabilidad del sistema operativo.

En una unidad tradicional o disco duro mecánico, cuando se abre un fichero, se edita y se almacena, se graba en el mismo sector. Esto no ocurre con las SSD. Por lo que podríamos recuperar un dato borrado en el disco tradicional fácilmente, puesto que se queda en la misma posición. Esto no ocurre con las SSD. Cuando modificamos un fichero, el contenido se mueve a otra localización, y se borra el sitio donde se encontraba originalmente. Los sectores no son continuos, no figuran en la mismas posiciones. Es responsabilidad del controlador de disco SSD recuperar los datos. Esto supone una complicación para el análisis forense de datos, puesto que en las SSD los ficheros se recolocan físicamente de sus ubicaciones, quedando a disposición del controlador de disco, no del SA (System Area). Además cada firmware es diferente.

El las SSD la unidad mínima de escritura lógica es un sector, pero el sector no posee el mismo tamaño;

Oscila entre 512+16  hasta 2048+64 bytes que forman una página.

Por lo tanto el sector es variable para cada unidad, y esto es un problema de variabilidad.

En cambio, La unidad mínima de borrado es un bloque, que esta formado por 16/32/64 sectores, su borrado devuelve 1.

Por lo tanto en los procesos de borrado eliminan mas información que realmente se escribe. Es en este escenario donde se mueven datos.

El tamaño del bloque es un problema porque difiere entre fabricantes. Si comparamos el tamaño del sector de un disco duro tradicional 512 bytes, es fijo y es la unidad mínima de escritura y borrado. Cuando un sector falla, se marcan los 512 bytes en cambio en las SSD se marca el bloque, por lo que cuando existen fallos, la pérdida de capacidad es mayor en las unidades SSD. Este es un inconveniente de las SSD.

¿Cual es la diferencia principal entre una unidad SSD y una memoria USB, si ambas poseen NAND?

Cuando conectamos una llave USB, estas unidades no poseen procesador principal, no poseen lógica de trabajo, dejan esas funciones al sistema operativo, dejan esas funciones al driver para que efectúe su trabajo. Cuando la conectamos el driver comienza su trabajo. Se lee el firmware y se usa el procesador principal para realizar tareas sobre la llave.

Una unidad SSD cuando se conecta al ordenador, no necesita dialogar estrechamente con el procesador de la maquina para trabajar. Posee su propio procesador, que lee su propio firmware. Las tareas de Wear leveling, Gestion de bloques defectuosos, ECC, ciclos de borrado son seleccionados por el procesador de la SSD.

Una unidad tradicional posee una zona llamada SA o System Area, cuando se conecta se lee ese SA. Esto desaparece en las SSD, existe un DA un Device Area, solo el primer bloque garantiza el almacenamiento del Firmware, LDB, Bad blocks, etc.

Con todo lo anterior expuesto las opciones de recuperación se complican en las unidades SSD, puesto que además al no existir partes reemplazables, no podemos atajar problemas típicos de unidades mecánicas, platos, cabezales, preamp, PCB, etc.

Los errores físicos de estas unidades se pueden apreciar en chips quemados, o resistencias. En ocasiones podemos cambiar alguna, pero necesitamos un desoldador especial.

Etiquetas:,

Usted debe ser Registrado para publicar un cometario

Home Hardware Aspectos internos de una unidad SSD
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies