Tengo un disco duro de 4 TB que tiene un tamaño de sector físico de 4k (formato avanzado) y lo conecté a dos controladores de host SATA (uno interno y otro en un gabinete USB). En el (más antiguo, alrededor de 2010) aparece como un tamaño de sector lógico de 512B, pero informa que sus sectores físicos son 4096 bytes. En el reciente gabinete USB, se informa que tiene un tamaño lógico y físico 4096B:
# internal host controller
sd 4:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
sd 4:0:0:0: [sdd] 4096-byte physical blocks
# USB enclosure
sd 18:0:0:0: [sdd] 976754646 4096-byte logical blocks: (4.00 TB/3.63 TiB)
El controlador "interno" muestra el comportamiento que había visto anteriormente, que generalmente se llama "512e", donde el firmware de la unidad emula el direccionamiento LBA de 512 sectores a pesar de que físicamente no escribe sectores de esa manera. Los sistemas operativos (y los administradores) pueden garantizar que las particiones estén alineadas de manera que los comandos de escritura (pequeños) se puedan agrupar para que el disco pueda sobrescribir sectores completos en lugar de volver a escribir en una parte de un sector físico, donde necesita leer el resto de contenido primero.
Sin embargo, ver el comportamiento "4k nativo" en una unidad (carcasa USB) era nuevo para mí y mi pensamiento inicial fue que la carcasa emula el direccionamiento 4096B sobre la emulación 512B emulada de la unidad.
Las únicas ocurrencias de esto que pude encontrar con una búsqueda en la web fueron las instalaciones de almacenamiento USB que se registraron con 4k sectores lógicos. Supongo que emulan 4k sobre 512e, por lo que permiten las tablas de partición MBR para que las unidades grandes se puedan usar en dispositivos heredados / embebidos (televisores inteligentes y demás) que solo admiten almacenamiento masivo usb MBR + FAT32.
Después de ponerse en contacto con el fabricante , afirmaron que la unidad realmente funciona en modo 4k no emulado (nativo), el controlador SATA USB tampoco está emulando en absoluto. Esto requeriría que el firmware de la unidad detecte si el controlador host admite (¿desea?) Abordar tamaños de sector de 4KB. No pude encontrar nada sobre esto en la documentación pública de los estándares SATA. Entonces pregunto:
- ¿Alguien ha visto "bloques lógicos de 4096 bytes" en su controlador SATA?
- ¿Las unidades realmente admiten habilitar / deshabilitar la emulación a pedido? Si es así,
- ¿Cómo funciona esta determinación?
- ¿Se puede anular en el disco a través de una bandera?
- ¿Se puede anular en el controlador host a través de un controlador / indicador?