En términos generales, en respuesta directa a su pregunta, no conozco ninguna de las principales marcas de unidades SATA de que la unidad en sí haya tenido errores en relación con el funcionamiento adecuado con el almacenamiento en caché de escritura habilitado. Es decir, solo desde una perspectiva de unidad, la unidad hace lo que se supone que debe hacer desde una perspectiva de almacenamiento en caché. También me gustaría señalar que incluso cuando el almacenamiento en caché de escritura está habilitado, el retraso de una escritura de disco en el cable SATA a los medios rotativos que se actualizan físicamente todavía es muy corto (~ 50 a 100 ms típicamente). No es como si los datos de caché sucios permanecieran allí por segundos a la vez ..... la unidad está continuamente tratando de obtener datos sucios del cachéen los medios físicos tan pronto como sea posible. No se trata solo de la seguridad de los datos, sino de estar listo para aceptar futuras escrituras sin demora (es decir: publicación de escritura).
El problema que surge cuando el almacenamiento en caché está habilitado es que el orden de escritura en la unidad a través del cable SATA y el orden de escritura en el medio giratorio no es el mismo. Esto nunca puede causar un problema A MENOS que tenga una pérdida de energía o un bloqueo del sistema antes de que todo el contenido de la memoria caché llegue al disco. ¿Por qué? ->
El problema que puede surgir aquí es relativo a la robustez de la transacción del sistema de archivos y / o el contenido del archivo de la base de datos a estas escrituras perdidas fuera de orden. En efecto, las escrituras fuera de orden potencialmente perdidas pueden corromper teóricamente la integridad de la lógica de transacción que de otro modo habría sido garantizada por las escrituras en disco que ocurren en un orden muy específico para los medios.
Ahora, por supuesto, los diseñadores del sistema de archivos, bases de datos, controladores RAID, etc. están al tanto (o ciertamente deberían estar al tanto) de este fenómeno en relación con el almacenamiento en caché de escritura. El almacenamiento en caché de escritura es extremadamente deseable desde el punto de vista del rendimiento en la mayoría de los escenarios de E / S de acceso aleatorio. De hecho, tener disponible el almacenamiento en caché de escritura es un elemento clave para poder tener un beneficio real para la cola de comandos nativos más avanzada ( NCQ) compatible con SATA más recientes y las últimas generaciones de implementaciones de PATA. Por lo tanto, para garantizar el orden a los medios físicos en ciertos momentos críticos, el sistema de archivos y / o la aplicación, etc., pueden solicitar específicamente un vaciado de las memorias caché de escritura en los medios. Al completar esta solicitud de sincronización, todo lo pendiente de (potencialmente) almacenamientos intermedios de archivos, almacenamiento en caché de disco del sistema operativo, almacenamiento en caché de disco físico, etc. está realmente en los medios según el diseño del sistema de transacción en las operaciones críticas correctas. Es decir, esto sucede correctamente si los programadores hacen las llamadas correctas en la parte superior Y cada elemento de esta cadena de capas de software y hardware hizo su trabajo correctamente. es decir: no hay errores al respecto en la unidad, los controladores RAID, los controladores de disco, los cachés del sistema operativo, el sistema de archivos, el motor de la base de datos, etc. Este es un montón de software que tiene que funcionar exactamente bien. Además, verificar la corrección a este respecto es muy difícil porque, en casi cualquier situación, normalmente el orden de escritura no importa en absoluto ... y los escenarios de falla de energía y bloqueo son pruebas difíciles de construir. Entonces, al final, "desactivar el almacenamiento en caché de escritura" en una o más de las diversas capas y / o significados de este término ... tiene la reputación de "arreglar" ciertos tipos de problemas. En efecto, apagar los comportamientos de almacenamiento en caché de escritura del controlador RAID o las memorias caché de disco del sistema operativo, o la unidad, etc., está evitando uno o más errores en el sistema ... y la fuente de dicha tradición. y los escenarios de fallas de energía y fallas son pruebas difíciles de construir. Entonces, al final, "desactivar el almacenamiento en caché de escritura" en una o más de las diversas capas y / o significados de este término ... tiene la reputación de "arreglar" ciertos tipos de problemas. En efecto, apagar los comportamientos de almacenamiento en caché de escritura del controlador RAID o las memorias caché de disco del sistema operativo, o la unidad, etc., está evitando uno o más errores en el sistema ... y la fuente de dicha tradición. y los escenarios de fallas de energía y fallas son pruebas difíciles de construir. Entonces, al final, "desactivar el almacenamiento en caché de escritura" en una o más de las diversas capas y / o significados de este término ... tiene la reputación de "arreglar" ciertos tipos de problemas. En efecto, apagar los comportamientos de almacenamiento en caché de escritura del controlador RAID o las memorias caché de disco del sistema operativo, o la unidad, etc., está evitando uno o más errores en el sistema ... y la fuente de dicha tradición.
De todos modos, volviendo al núcleo de la pregunta: bajo SATA, el manejo específico de todos los comandos de lectura / escritura del disco y los comandos de caché de vaciado están bien definidos por las especificaciones SATA . Además, los fabricantes de unidades deben tener documentación detallada para cada modelo de unidad o familia de unidades que describa su implementación y cumplimiento de estas reglas como este ejemplo para unidades Seagate Barracuda . En particular, vea los detalles de las CARACTERÍSTICAS DEL SATA SETEl comando que controla el modo operativo de la unidad y específicamente la opción 82h se puede usar para deshabilitar el almacenamiento en caché de disco en el nivel de la unidad porque el valor predeterminado es ciertamente el almacenamiento en caché de escritura habilitado en todas las unidades que conozco. Si realmente desea deshabilitar la memoria caché, este comando debe ejecutarse al inicio de cada reinicio o encendido de la unidad y, por lo general, está bajo el control de los controladores de disco de su sistema operativo. Es posible que pueda alentar a su controlador de sistema operativo a configurar este modo a través de una cosa de tipo IOCTL y / o configuración de registro, pero esto varía ampliamente.