En el post de hoy vamos a hablar de lo que a los consumidores de datos nos espera en cuanto a almacenamiento magnético en discos duros en los años próximos. Analizaremos las principales características técnicas de las tecnologías emergentes y explicaremos el abismal cambio en la trayectoria del almacenamiento magnético que las mismas suponen, el impacto que tienen las mismas en el rendimiento estático y dinámico de los discos, y el impacto que tiene en las técnicas de recuperación de datos que se usan actualmente en empresas de todo el mundo.
Todos hemos oído hablar de que la geometría de un disco duro se compone de cilindros, cabezas, y sectores. Los discos duros más antiguos no disponían de la potencia de cálculo ni almacenamiento en ROM suficiente como para poder guardar ni gestionar en tiempo real tablas de traducción entre el panorama físico del disco (varios platos, cada uno con una o dos cabezas, y en cada superficie del plato N pistas y N*K sectores) y el almacenamiento lógico secuencial, que es más fácil de gestionar. Debido a ello, se comunicaban con el host directamente hablando de cabezas, cilindros y sectores (CHS), que era quien se encargaba de llevar cuenta de en qué zonas del disco estaban situados los datos, teniendo en cuenta los tres parámetros CHS. Los discos más modernos tienen un pequeño software instalado, impensable hace años, que se encarga de traducir todas las direcciones físicas del disco duro en una dirección intermedia, lógica a ojos del disco aunque física a ojos del host, llamada LBA o Logical Block Addressing.
En el primero de los casos, CHS, los datos se procuraban almacenar de forma que sectores consecutivos en el disco duro (mismo cilindro y misma pista, ubicación muy próxima) también fuesen dos bloques consecutivos del mismo fichero almacenado. No hacerlo supone fragmentar el disco, es decir, partir los ficheros en varios trozos que no caen consecutivamente en el disco duro. Era el sistema de ficheros quien se encargaba de escribir secuencialmente, y quien tenía que estar al tanto de su estado de fragmentación, proporcionando técnicas para evitarla y también para corregirla.
El segundo de los caso, el de LBA, es similar al de CHS, y ambos abarcan el espectro de almacenamiento magnético en disco actual. LBA, al ser una capa lógica e intermedia entre CHS y el host, es susceptible de engañar al mismo pretendiéndole creer que dos sectores LBA consecutivos son también físicamente consecutivos. El disco está programado para que, en la medida de lo posible, cumpla con las espectativas del host, que espera que el sector LBA N y el LBA N+1 están secuencial y adyacentemente ubicados en el disco duro, haciendo rápido el acceso del primero al segundo. Esta situación puede cambiar debido a que los discos actuales cuentan con zonas de reserva en todas las pistas, de las que se van utilizando sectores nuevos a medida que otros viejos fallan o se listan como defectuosos. De este modo, la lectura/escritura no es secuencial en algunos casos, lo cual impacta gravemente en el rendimiento del disco, al tener éste que ir a buscar diferentes fragmentos del disco a zonas distintas dentro del mismo. Este fenómeno no es sino un caso más del fenómeno de la fragmentación, pero a nivel de disco y realizada de un modo más controlado y limitado que la fragmentación de la que es responsable el sistema de ficheros.
En ambos casos, como hemos visto, se trata de un almacenamiento fundamentalmente secuencial, siendo dos sectores lógicos adyacentes también adyacentes en el plano físico. ¿Qué ventajas tiene este tipo de almacenamiento? Las tiene prácticamente todas: No es necesario un complejo algoritmo de distribución de datos, no es necesario un complejo algoritmo de búsqueda (y obtención del camino más corto y eficiente) de fragmentos de ficheros, es rápido debido a que en una misma revolución del plato magnético se obtiene acceso a todos los datos lógicos (secuencialmente distribuidos) maximizando la cantidad de datos que se pueden recoger por unidad de tiempo… ¿qué nos lleva, pues, a salirnos de este buen camino?
Investigaciones recientes en el ámbito del almacenamiento masivo y magnético de datos han demostrado que mediante el uso de esta técnica de almacenamiento se puede aumentar la densidad de almacenamiento en hasta un 25% respecto a las más altas densidades que se usan en los discos de mayor capacidad actuales. Esto ha supuesto que todos los fabricantes se hayan puesto manos a la obra para introducir esta técnica, conocida como SMR, en sus procesos de fabricación de discos duros.
El shingled magnetic recording, o almacenamiento magnético superpuesto que podríamos traducir, consiste en dejar de respetar las bandas de guarda entre cada pista de almacenamiento, y juntarlas hasta el punto de que, para las operaciones de escritura, se superponen. Se especifica que esto sucede para las operaciones de escritura porque el área afectada por los pulsos magnéticos que emiten las cabezas escritoras es significativamente mayor que el área que posteriormente necesitan las cabezas lectoras (pudiendo ser en la práctica la misma cabeza lectora/escritora, reversiblemente) para extraer la información. Por lo tanto, lo que se busca con esta técnica es aprovechar al máximo la capacidad de almacenamiento, penalizando el rendimiento por lo que se va a explicar a continuación.
La clásica geometría de los discos duros se verá levemente modificada al introducir un nuevo término: las bandas. Cada banda agrupa un número determinado de pistas que se superponen, limitando el área de influencia del solapamiento para agilizar las recolocaciones y sobrescrituras de datos. De este modo, la nueva geometría consiste en sectores, cabezas (superficies), pistas (cilindros), y bandas; no obstante, el protocolo de comunicaciones no tiene por qué variar, ya que cada sector sigue teniendo su numeración única.
En primer lugar, mucho más espacio. Pero en segundo lugar, complicar las cosas bastante. Si nos basásemos en el paradigma de almacenamiento secuencial, es decir, el de todo disco antiguo y moderno, estos discos sufrirían de un grave problema cuando quisiésemos escribir en un LBA cuyos vecinos ya han sido escritos (por ejemplo, cuando borramos prácticamente cualquier fichero y quisiésemos volver a aprovechar ese espacio). El disco tendría que leer previamente todas las pistas de las bandas afectadas, almacenarlas en una memoria temporal, y escribir de nuevo todo ese contenido (además del nuevo) en los platos magnéticos en el orden adecuado teniendo en cuenta la superposición de pistas en las bandas. Esto supondría un gran punto negativo para el rendimiento del disco duro. Además, existe otro problema. cuando el disco empieza a estar lleno, prácticamente cualquier operación nueva de escritura caerá en una zona con pistas vecinas que ya contienen información, por lo que el rendimiento empeoraría con el aumento del espacio disponible en el disco duro.
Adicionalmente, esto introduce dos nuevos problemas: el disco duro, al contrario que ahora, debería ser consciente de la cantidad de información que contiene. Es decir, debe tener, por un lado, una cuenta de los sectores que el sistema de ficheros tiene destinados a ficheros actualmente activos, y por otro lado, debe disponer de un modelo transaccional de recolocación de pistas ya en uso, con memorias no volátiles por si la operación de reubicación y escritura falla antes de terminar o se queda a medias por, por ejemplo, fallos o cortes en el suministro eléctrico.
Existen dos formas de afrontar el primero de los dos problemas: bien hacer que sea el propio disco duro quien de alguna forma sepa qué sectores están activos o visibles en forma de ficheros desde el punto de vista del sistema de ficheros, o bien diseñar nuevos drivers para cada sistema operativo que se encarguen, como antiguamente, de gestionar el estado de uso del disco duro. La segunda de las formas, la más sencilla, salvando las distancias, pues el sistema operativo es quien gestiona el sistema de ficheros y sabe bien cómo funciona y cuál es el estado de ocupación de las unidades de disco, haciendo uso de diferentes drivers en función de cada sistema de ficheros con que trabaje. Tiene dos graves problemas: carga a la CPU con tareas “secundarias”, y anula la portabilidad de los discos duros, ya que fuera del sistema que lleva su gestión, no serían operables. La segunda de las formas, es la más compleja debido a que requiere de diseñar un componente de software capaz de saber qué zonas están en uso y qué zonas no lo están, además de que necesita de memorias adicionales (flash, por ejemplo) para almacenar dicha información.
La solución que nos encontraremos: el disco duro se encargará de todo, el rendimiento se reduce en cierta medida, y se unificarán criterios en tecnologías completamente diferentes: se introducirá la tecnología de almacenamiento flash en discos duros magnéticos.
Hace años se introdujo una técnica de almacenamiento destinada a memorias flash denominada Flash Translation Layer. Fundamentalmente consiste en hacer uso de un controlador flash que actúa a modo de balanceador de carga, combatiendo la escasa cantidad de ciclos de lectura y escritura que tienen las memorias flash actuales. Cuando un sector flash es frecuentemente sobrescrito y supera un umbral (que no tiene por qué ser fijo), la FTL se encarga de mover transparentemente el sector a otra ubicación en los chips de memoria, que haya sido utilizada en menor medida, y de anotar en sus tablas la nueva posición física del sector lógico. En el caso de las memorias flash, la FTL se encarga de muchas tareas y realiza muchas operaciones sobre la información que se almacena en los chips de memoria, pero ésa es una de las tareas fundamentales: recolocar sectores lógicos en diferentes lugares físicos, para maximizar el tiempo de vida útil del chip.
Esta tecnología, la FTL, tiene todo el sentido del mundo en un sistema de almacenamiento de acceso aleatorio, pues el tiempo de acceso a distintas zonas del chip es virtualmente el mismo para todas las posiciones de memoria. ¿Tiene algún sentido el uso de esta tecnología en discos duros? Hasta hace poco, parecía que no.
Los discos duros actuales cuentan con una reducida tabla de mapeo entre los sectores físicos y los sectores lógicos LBA. Esta tabla, conocida como el traductor o el translator, tiene en cuenta principalmente los sectores que han sido marcados como defectuosos, y los sectores de las zonas de reserva de cada pista que los sustituyen, principalmente, y su tarea es más bien sencilla, pues el almacenamiento es secuencial y solo necesita almacenar los cortes que se pueden producir en la secuencia, que sirven para instruir al software interno del disco duro para reconstruir en caliente el mapa de LBA’s.
En los discos con la tecnología SMR, el translator va más allá, y pasa a comportarse de la misma forma que la FTL de las memorias flash y los discos SSD. El disco duro ya no almacenará los datos secuencialmente, sino que puede que al principio de su funcionamiento lo haga, pero a medida que se va usando, si se borra un fichero antiguo y se escribe uno de igual o menor tamaño nuevo, el disco duro se encargará de escribirlo en otra parte. Analicemos brevemente esto:
Y aquí entra en juego el Translator 2.0, que automáticamente reubicaría los nuevos sectores a una pista diferente, quedando los LBA 13100-13220 en una zona físicamente distinta y no consecutiva de los LBA <= 13099 y LBA >= 13221.
Es de esperar que estos discos sufran de una pérdida de rendimiento notable a medida que se va incrementando la cantidad de datos que almacenan. Al igual que ocurre con las memorias flash, se espera que cuenten con una gran cantidad de spare sectors/tracks, o sectores y pistas de reserva que sirvan como una provisión y zona de intercambio.
Los discos con tecnología SMR además verán un rendimiento muy variable en función del uso que se le vayan a dar. El almacenamiento creciente y monótono, como el de los backups, es perfecto para este tipo de discos, pues las posibilidades de sobrescritura son muy bajas, y es éste uno de los factores que más impacta en el rendimiento. La recolocación de pistas y sectores será poco frecuente, y las lecturas serán bastante secuenciales en toda la vida útil del disco duro. Por otro lado, otro tipo de destinos para un disco, como por ejemplo un almacenamiento de logs de eventos, que se escriben y sobrescriben cada minuto de cada hora, de cada semana del año (con sus rotaciones, etc.) puede ser fatal para este tipo de discos, que verán una rápida pérdida de rendimiento, que aumentará tanto tiempos de acceso como de búsqueda y, por supuesto, de escritura.
Un área de interés para estos futuros discos duros es el de la recuperación de datos. En los discos actuales, la recuperación de los datos en ocasiones pasa por la reconstrucción del Translator, debido a la pérdida o corrupción de alguna o algunas de las tablas de defectos. Es un paso crucial para mantener la integridad de los sistema de ficheros que pudiera contener el disco duro, pues todas las referencias son relativas, y la pérdida del translator supone el acoplamiento o el desfase de todos los LBA a partir del primer defecto encontrado por el propio disco.
En el panorama de la recuperación de datos actual ya se está trabajando con la reconstrucción de la FTL de los discos duros SSD, que en muchas ocasiones se torna extremadamente difícil, debido a que un disco duro SSD puede contener la friolera de 16 chips, cada uno con miles de páginas de memoria, cada una con miles de bloques a su vez, y el almacenamiento es definitivamente no secuencial, de modo que un intento de recuperación de datos “a lo bruto” termina con un puñado de LBA’s desordenados y sin ningún sentido (por no hablar de las operaciones intra-LBA que se realizan, como XOR’s, inversiones de bits, etc.). Esta dificultad transportada al mundo del almacenamiento magnético, y añadida a las enormes densidades de datos que se encuentran en los platos magnéticos, va a cambiar el futuro de las técnicas de recuperación de datos de discos duros, que van a necesitar de una cuantiosa inversión en I+D para averiguar las formas de reconstruir el nuevo Translator en caso de que se corrompa, o de que sea inaccesible debido a fallos irrecuperables sobre la superficie de los platos magnéticos.
Siempre se podrá intentar una lectura secuencial, pero si no se logra reconstruir o recuperar la nueva tabla de traducción, ocurrirá lo mismo que con los discos SSD: se habrán podido recuperar las piezas del puzzle, pero será extremadamente complicado averiguar cuáles encajan con otras. Puede que haya piezas que encajen en su posición secuencial, pero con toda seguridad se habrá perdido la integridad del sistema de ficheros, por lo que los intentos de recuperación se resumirán a ficheros individuales, que con suerte, serán posibles de recuperar dado que el disco habría procurado escribir todo su contenido de una sola tacada.
Lo único que parece salvar a estos discos duros es la no necesidad de disponer de un comando trim para preformatear los sectores receptores, que, recordemos, en tecnología flash moderna es un requisito y el comando trim viene implementado en casi todos los discos duros SSD. De todos modos, aun sin comandos de preformateo (que dejan el sector entero en el estado lógico 0) disparados por el S.O., para volver a escribir en una zona que ya ha sido usada, es preciso rescribir y reubicar, revolviendo LBA’s viejos. Por este motivo, las posibilidades de recuperar datos borrados, incluso aunque solo se haya formateado el disco duro, disminuyen drásticamente en discos duros con tecnología SMR, ya que los LBA teóricamente “en desuso” pasan a formar parte de los sectores disponibles para las reubicaciones que realiza el disco en nuevas escrituras o en sus tareas de mantenimiento.
Estos discos duros se esperan para el próximo año 2014, por lo que por ahora, vamos a ver qué tal responden las nuevas unidades de 4 TB, y dejemos los 5 TB y más para más adelante.
¡Esperamos sus comentarios!
Un saludo
Hard2bit Data Forensics
En el umbral de una nueva era, la intersección entre la inteligencia artificial (IA) y…
El Directorio Activo (AD) de Microsoft es una de las implementaciones de servicios de directorio…
Las tecnologías cuánticas, una de las fronteras más emocionantes de la ciencia y la ingeniería…
¿Te has encontrado alguna vez con un correo electrónico, un mensaje de texto o una…
Hoy vamos a desglosar con profundidad un tema crítico: "Los peligros de las redes sociales…
En el ciberespacio, una guerra digital se libra entre delincuentes cibernéticos y defensores de la…