Desmitificando SATA hotplug

Sólo mis dos centavos de ayuda… cuando se habla de que la alimentación molex hace que el disco no sea intercambiable en caliente, se trata de alimentar el disco mediante el conector molex que está en el propio disco.

En otras palabras, si utilizas desde la fuente de alimentación un conector de alimentación molex con un adaptador de alimentación molex a sata, el propio disco se alimenta de su conector de alimentación sata, por lo que puede ser intercambiable en caliente, pero si dicha alimentación molex se conecta al conector de alimentación molex del disco (también utilizando un adaptador de alimentación sata a molex) el disco no puede ser intercambiado en caliente sin riesgo (picos eléctricos en la conexión y desconexión).

Sólo para dejarlo bien claro:

Para algunos discos que tienen un conector de alimentación molex en ellos, no los alimentes a través de dicho conector, el conector molex no es seguro para el hot-swap

Si el conector de alimentación en el disco que se utiliza es el conector de alimentación sata, entonces no importa de dónde viene la alimentación, puedes utilizar adaptadores de alimentación molex a sata… ya que el disco está alimentado por su conector de alimentación sata.

El riesgo es utilizar el conector molex presente en algunos discos, no todas las unidades sata tienen dicho conector molex en el disco.

Además, un disco alimentado por conector de alimentación sata que se alimenta con un adaptador de alimentación molex a sata puede morir si dicha conexión molex no es firme o si se desconecta la parte molex.

Así que retomando: Nunca desconectes el conector de alimentación molex, sólo los conectores de alimentación sata.

Espero que ahora esté claro.

Punto 2º: El soporte de hot-swap, debe estar soportado (mejor dicho, implementado) en el puerto sata, no en la unidad sata; y también debe estar soportado en el sistema operativo.

El sistema operativo debe saber cuando una unidad en un puerto sata se desconectará antes de la desconexión (entre los sistemas operativos modernos son capaces de detectar las desconexiones abruptas y seguir funcionando, otros sistemas operativos sólo se congelan), por lo que el usuario (o las aplicaciones de software) deben decirle al sistema operativo que un disco va a ser eliminado (expulsión en Linux, eliminación segura en Windows, etc).

Si el SO no está diseñado para hot-swap, pueden ocurrir cosas raras cuando se conecta otro disco, como que el SO piense que el disco viejo vuelve a vivir… y el SO no vea que el nuevo disco es diferente… los SO modernos detectan los cambios de hardware, otros SO no.

Así que, sí, el sata hot-swap debe implementarse en el hardware de la controladora sata y en el SO… pero no en el disco, el disco en sí no tiene nada que ver con el hot-swap.

Para hacer un hot-swap de cualquier disco, el sistema operativo limpia todos los datos, y envía un comando al disco diciéndole que debe limpiar toda su caché interna y luego hacer un spin-down, después de eso el sistema operativo le dice al controlador sata que desconecte el puerto de datos y si está bien diseñado también el puerto de alimentación, entonces el usuario puede retirar el disco de forma segura (no se pueden enviar datos, el hardware sata debe detectar impedancia infinita (no hay unidad conectada) en el puerto de datos sata y en el puerto de alimentación sata, y prepararse para una nueva unidad, escuchando las impedancias no infinitas, por lo que reconecta los puertos de alimentación y datos tan pronto como se conecta la otra unidad… entonces debe decirle al SO que se ha conectado un nuevo hardware, y el SO debe ver qué es y cargar los drivers, etc.

El hot-swap sata debe estar implementado en el hardware, oh, sí, debe estarlo… algunos fabricantes son un poco vagos y no siguen las especificaciones de Sata, no implementan el hot-plug, el hot-swap, etc.

A veces me he encontrado con puertos SataIII que se mueren al conectar un disco mientras el sistema está alimentado.

Recomiendo una prueba antes de probar con el SO cargado… arrancar con la bios sin el disco conectado a la sata y ver que la bios no detecta el disco, luego conectar el disco con mucho cuidado sin salir de la bios, y volver a comprobar que la bios ahora detecta el disco… si no lo detecta no lo proceses y apaga el pc inmediatamente sin salir de la bios.

Si tu bios puede ver el disco después de conectarlo en caliente, sabes que es hot-plug… pero espera, aún no sabes si es hot-swap… para eso necesitas otro disco diferente (no del mismo modelo/marca/capacidad) y seguir con la prueba dentro de la bios… ahora debes desenchufar el disco y ver si la bios se cuelga o si detecta ahora que no hay tal disco… si se cuelga, apaga inmediatamente, tu bios no es hot-swap… si detecta que no hay disco, solo continua el test para ver si es hot-swap o no.

Si la bios detecta que no hay disco después de desenchufarlo, ahora es el momento de comprobar otro disco… usa un disco que no necesites, puede morir nada más conectarlo, ¡estás avisado!… conéctalo y mira si la bios lo detecta, si no es así apágalo inmediatamente, no tiene implementado el hot-swap, …. si ve el disco como si fuera el anterior, apaga inmediatamente, no hay hot-swap… compra si ve el nuevo, tienes mucha suerte, el hardware tiene la implementación para hot-swap.

Si estas pruebas te muestran que tu hardware no es realmente hot-swap, no importa lo que haga el SO, el procedimiento de hot-swap es muy arriesgado si no imposible… y mejor no lo uses, apaga siempre antes del swap.

Pero si tu bios te muestra que ve el disco, luego ve que lo desconectas, luego ve el otro disco conectado, entonces tienes soporte de hardware para hot-plug en ese puerto sata… repito: en ese puerto sata. Ah, sí, amigos, algunos fabricantes vagos sólo implementan el hot-swap en algunos puertos y no en todos.

Riesgos de estas pruebas que debes soportar: Perder el puerto sata porque se muere al enchufar un disco en él estando en bios… no importa, también se moriría si estuvieras ejecutando el SO, y con el SO en marcha también podría dañar otros puertos sata.

El peor de los casos: La controladora sata root murió porque no tenía capacidad de hot-swap, si estabas en bios, ningún dato estaba en riesgo, pero si estabas ejecutando el SO podías perder todos los datos y además dañar otros componentes como tarjeta gráfica, ram, efc.

Hacer las pruebas estando en bios es lo más seguro… y si se produce algún daño en el puerto sata, muchas veces sólo muere un puerto… de todas formas, si está en garantía deben arreglarlo, ya que las normas legales plantean a los fabricantes no causar daños por conectar/desconectar de forma correcta.

Dicho esto, no intentes hacer hot-plu, hot-remove, hot-swap, si el disco se alimenta por el conector molex que está fijado al disco (no todos los discos tienen conector de alimentación molex, la mayoría no lo tienen)… y tampoco desconecte la parte molex de ningún adaptador de alimentación molex a sata.

Los conectores molex no están diseñados para hot-plug, hot-remove, hot-swap… provocan picos eléctricos.

P.D.: En algunos pines de molex, la corriente que pasa puede ser de más de 3,5A, eso puede matar a una persona (no es común, pero puede), el voltaje (12V) no es lo que mata a las personas, es el amperaje (>0,3A puede matar, no importa el voltaje, es el amperaje lo que mata).

iv

Deja una respuesta

Tu dirección de correo electrónico no será publicada.