Al evaluar las unidades de disco duro, ciertas especificaciones fundamentales como la capacidad y la velocidad de transferencia suelen ser los puntos de comparación más evidentes. Sin embargo, un sistema NAS rara vez somete a una unidad a la carga de trabajo constante y sin interrupciones representada por una cifra de rendimiento máximo en transferencias secuenciales. En la práctica, el funcionamiento de un NAS implica tareas como copias de seguridad, acceso a archivos, metadatos, actividad RAID y otras solicitudes que compiten entre sí.
Por consiguiente, el rendimiento de un NAS, no solo depende del hardware mecánico o de las ratios de rendimiento. La eficacia con la que la unidad gestiona estas cargas de trabajo simultáneas puede ser igual de importante, y es aquí donde el firmware juega un papel crucial. Para entender por qué, resulta útil considerar que representan realmente las cifras de velocidad de transferencia que aparecen en las especificaciones.
El rendimiento máximo solo cuenta una parte de la historia
La tasa de transferencia secuencial indicada para un disco duro describe una condición operativa particular: el movimiento continuo de datos entre sectores adyacentes. Durante una transferencia secuencial sostenida, los cabezales de lectura/escritura dedican relativamente poco tiempo a desplazarse entre distintas ubicaciones del soporte. Un sistema NAS rara vez opera bajo estas condiciones durante periodos prolongados. A medida que llegan diversas solicitudes, las transferencias continuas se interrumpen y los cabezales comienzan a desplazarse entre diferentes zonas del disco.
En un sistema NAS de cuatro bahías durante la jornada laboral, es posible que las copias de seguridad nocturnas aún se estén completando mientras los usuarios acceden a archivos compartidos y el sistema operativo actualiza los metadatos del sistema de archivos. Si una unidad se ha sustituido recientemente, el tráfico generado por la reconstrucción RAID se suma a la misma cola de solicitudes. Ninguna de estas actividades es especialmente exigente por sí sola, pero la dificultad radica en atenderlas todas al mismo tiempo.
El resultado no es simplemente un menor rendimiento, ya que cada cambio de dirección interrumpe el flujo de datos y conlleva movimiento adicional de los cabezales antes de que la siguiente solicitud pueda atenderse. A medida que llegan más peticiones, la transferencia continua de datos se fragmenta cada vez más, debido por ¿a? otras actividades.
No todas las solicitudes pueden esperar, aunque retrasar parte de un backup secuencial durante una fracción de segundo es rara vez perceptible. Cuando un usuario abre un documento, espera una respuesta inmediata, mientras que el procesamiento de los metadatos del sistema de archivos y el tráfico generado por la reconstrucción del tráfico RAID deben continuar progresando en segundo plano. La unidad debe equilibrar solicitudes de lectura y escritura que difieren en tamaño, ubicación y urgencia, en lugar de procesarlas estrictamente en el orden en que llegan.
El firmware optimiza el comportamiento del hardware
Los cabezales de grabación, el motor del eje y el medio de almacenamiento definen los límites mecánicos de una unidad de disco duro. El firmware no puede hacer que estos componentes funcionen a mayor velocidad, pero sí puede determinar la eficiencia con la que se usan, ya que determina cómo responde la unidad ante distintas solicitudes, incluyendo la gestión de los datos en la caché y la organización de los comandos antes de su ejecución.
Dos unidades fabricadas con un hardware similar pueden, por tanto, responder de manera distinta ante la misma carga de trabajo en un NAS. La diferencia no reside en el mecanismo de grabación en sí, sino en el firmware que lo controla.
La carga de trabajo determina la respuesta
En este mismo NAS de cuatro bahías, es posible que el backup nocturno siga escribiendo datos cuando un usuario abre un documento almacenado en otra parte del conjunto de discos. El dispositivo podría interrumpir la copia de seguridad de inmediato para atender la solicitud de lectura, pero esto aumentaría el movimiento de los cabezales y rompería el flujo continuo de escritura. Por otro lado, ignorar la solicitud de lectura tampoco es una opción, ya que el usuario espera una respuesta inmediata. Por tanto, el firmware debe decidir cómo gestionar estas solicitudes contrapuestas antes de que lleguen al mecanismo de grabación.
Esta decisión depende de algo más que del orden en que llegan las solicitudes. Una solicitud de lectura puede requerir un tratamiento distinto al de una operación de escritura secuencial prolongada, mientras que las actualizaciones de metadatos y el tráfico generado por la reconstrucción RAID añaden demandas adicionales al sistema de almacenamiento. A medida que la carga de trabajo varía, el firmware reevalúa de forma continua la gestión de las solicitudes entrantes antes de que alcancen el mecanismo de grabación, y así puede determinar cómo debe utilizarse la caché y cómo deben organizarse los comandos.
La asignación de caché depende de la carga de trabajo
Identificar la carga de trabajo es solo el primer paso. Una vez que el firmware ha determinado cómo debe gestionarse una solicitud, puede aplicar una política de caché que refleje las exigencias de dicha actividad, en lugar de tratar todas las solicitudes de la misma manera.
Un backup secuencial y la apertura de un documento por parte de un usuario pueden pasar por la misma caché, pero no se benefician de la misma estrategia de asignación. Reservar espacio en la caché para las escrituras almacenadas en búfer ayuda a mantener la continuidad de una transferencia secuencial, mientras que disponer de espacio en la caché para las solicitudes de lectura reduce el tiempo de espera necesario para recuperar los datos.
Aplicar una única política de caché a todas las solicitudes puede provocar que las escrituras secuenciales almacenadas en búfer y las solicitudes de lectura de menor tamaño compitan por los mismos recursos de caché a medida que la carga de trabajo varía.
La planificación de comandos aplica las decisiones
El hecho de reconocer la carga de trabajo y asignar la memoria caché de forma adecuada no determina cuándo llegan las solicitudes al soporte de almacenamiento. El firmware también debe decidir el orden en que se ejecutan los comandos pendientes. En una carga mixta de trabajo NAS, esta decisión influye en la frecuencia con la que los cabezales de lectura/escritura se desplazan entre distintas ubicaciones del disco y cuánto tiempo se dedica a la transferencia de datos frente al tiempo empleado en reposicionar el mecanismo de lectura/escritura.
Los principios descritos hasta ahora se implementan de diferentes formas por los distintos fabricantes de unidades de discos. El enfoque de Toshiba se materializa en su arquitectura de firmware NASLink™, en la que el reconocimiento de la carga de trabajo, la asignación de caché y la planificación de comandos funcionan como componentes de un mismo proceso de toma de decisiones (Gráfico 1).

Gráfico 1: El firmware primero identifica la carga de trabajo antes de aplicar la asignación de caché y la planificación de comandos para lograr un rendimiento “predecible”
En NASLink™ el tipo de procesamiento reconocido influye en la forma en que se organizan los comandos pendientes. Las solicitudes de escritura de pequeño tamaño se agrupan en secuencias de escritura más largas y continuas para reducir el movimiento innecesario de los cabezales. Siempre que es posible, las solicitudes de lectura de pequeño tamaño se intercalan durante los intervalos de inactividad en las operaciones de escritura, mientras que las tareas en segundo plano, como la reconstrucción RAID o la comprobación de discos, se ajustan para minimizar su impacto en el acceso de los usuarios.

Gráfico 2: NASLink™ reorganiza las solicitudes pendientes agrupando las operaciones de escritura en transferencias secuenciales más largas, atendiendo las operaciones de lectura de menor tamaño durante intervalos adecuados y gestionando por separado la actividad RAID en segundo plano.
Las decisiones de programación también tienen en cuenta factores que van más allá del comando en sí. Así, la longitud de la cola, la continuidad de los datos, la vibración y la temperatura influyen en el orden en que se ejecutan las solicitudes.
El firmware sigue dependiendo del hardware
El firmware puede identificar cargas de trabajo, asignar caché y organizar la cola de comandos, pero estas decisiones aún dependen de las características físicas de la unidad. La tecnología de grabación determina cómo se escriben los datos en el soporte, la caché disponible limita el espacio de trabajo del firmware y la precisión en el posicionamiento del cabezal sigue siendo esencial durante la ejecución de los comandos.
Este es el motivo por el que el firmware para NAS se desarrolla de forma integrada con un hardware diseñado para una operación continua en entornos de múltiples unidades, en lugar de desarrollarse de forma aislada. En los discos Toshiba N300, la tecnología de grabación magnética convencional (CMR) ofrece las características de grabación secuencial predecible en las que se basa la estrategia firmware, hasta 1GB de caché proporciona la memoria de trabajo que NASLink™ asigna de forma dinámica, y los sensores de vibración rotacional ayudan a mantener un posicionamiento preciso del cabezal cuando las unidades adyacentes generan vibraciones dentro de la carcasa.
Ingeniería para cargas de trabajo mixtas
El rendimiento secuencial máximo sigue siendo una especificación importante, pero solo describe una condición operativa. Una unidad NAS pasa gran parte de su vida útil respondiendo a solicitudes concurrentes que interrumpen la transferencia continua de datos y exigen que el firmware tome decisiones sobre cómo organizar la actividad de almacenamiento.
Las cargas de trabajo en sistemas NAS combinan transferencias secuenciales, lecturas aleatorias y tareas de mantenimiento en segundo plano, lo que hace que gran parte del comportamiento de la unidad quede bajo el control del firmware. El reconocimiento de la carga de trabajo, la asignación de caché y la programación de comandos influyen en la forma en que el mecanismo de grabación responde a estas demandas simultáneas, mientras que el hardware proporciona la plataforma estable sobre la que se sustentan dichas decisiones. NASLink™ es un ejemplo de la aplicación de estos principios de ingeniería en una unidad diseñada específicamente para entornos NAS.
Autora: Eun-Kyung Hong, product manager de HDD en Toshiba Electronics Europe GmbH
