¿Cómo determina un disco duro qué plato/sector usar? ¿Hay un controlador integrado en la propia unidad? ¿O es la placa base? ¿El sistema operativo?
¿Qué tipo de algoritmo elige esto? Seguramente no puede ser aleatorio ni secuencial.
De manera similar, ¿cómo se aplican las mismas preguntas a un SSD?
Respuesta1
¿Cómo determina un disco duro qué plato/sector usar?
¿Qué tipo de algoritmo elige esto? Seguramente no puede ser aleatorio ni secuencial.
Se trata de información patentada que difícilmente encontrará. A "Secreto comercial" o "salsa secreta" Si tu quieres...
No hay "poco profundo" razón para que no sea aleatorio o secuencial... pero sospecho que los fabricantes de discos optimizarán el rendimiento de los datos colocándolos en todos los platos. Es muy probable que haya un "profundo"Razón para colocar los datos donde lo hacen (los discos duros modernos se están acercando a los reinos de la magia, y se requiere un enorme conocimiento técnico para comprender la mayor parte de lo que está sucediendo).
Históricamente fue abierto y bien comprendido (verCHS, abajo).
¿Hay un controlador integrado en la propia unidad?
Sí, un disco duro moderno presentará unasataoSASinterfaz a la máquina host... Este enlace de comunicación se ejecuta entre la placa base y el controlador integrado del disco duro.
Posteriormente, el controlador es responsable de gestionar la velocidad del husillo, la posición del cabezal, el procesamiento entre instrucciones de lectura/escritura y las señales analógicas sincronizadas con precisión hacia/desde los cabezales de lectura/escritura, etc.
¿O es la placa base? ¿El sistema operativo?
Históricamente, el disco duro se presentaba como un dispositivo muy básico: un motor paso a paso o una bobina móvil se accionaba directamente desde la placa base para gestionar las posiciones de los cabezales, y las señales analógicas se limpiaban toscamente antes de transmitirse a la placa base.
Mira estoVídeo de desmontaje de un disco duro Fujitsu de 337 MB y 8 pulgadas.por los detalles sangrientos. Salte a ~2:04 para ver un resumen de las interfaces (Dispositivo del módulo de almacenamiento). Aun así, como puede ver, existe un circuito de soporte considerable para la interfaz.
Los discos duros fueron direccionados usandoCHS (Cilindro - Culata - Sector), pero más recientemente se abordan utilizandoLBA (direccionamiento de bloque lógico).
Ipensarque con la introducción de LBA, también comenzamos a ver discos que administraban sus propios sectores defectuosos, reubicándolos en aprovisionados "repuesto" espacio cuando se detectó que eran malos. Por lo tanto, ya no tenemos control directo de dónde se colocan los cabezales, qué cabezal se utiliza y a qué sector se accede.
Antes de que los discos administraran sus propios sectores defectuosos, veías etiquetas con una lista de sectores defectuosos de fábrica, que tenías que introducir en el sistema mientras creabas el sistema de archivos. Alternativamente, usarías una herramienta comobadblocks
para buscar problemas. Por ejemplo:
De manera similar, ¿cómo se aplican las mismas preguntas a un SSD?
Con una SSD, todo el almacenamiento flash se asigna desde el espacio de direcciones físico al virtual. Esto permitenivelación de desgasteimplementarse de manera transparente y sincualquierconocimiento de la máquina anfitriona.
Respuesta2
¿Qué determina en qué plato/sector escribe un disco duro?
Los algoritmos e instrucciones individuales contenidos en el disco duro controlado determinan la ubicación de la mayoría de los datos enviados a los discos duros.
Con los HDD giratorios, el sistema operativo puede acceder a todas las direcciones posibles en el disco y PUEDE especificar una ubicación específica para leer o escribir.
Con los SSD, el controlador virtualiza las direcciones reales para admitir algunas de las funciones avanzadas que ofrecen los SSD, como el sobreaprovisionamiento y la capacidad de encontrar y marcar bits defectuosos y incluirlos en una lista negra sin reducir su tamaño, así como el almacenamiento en caché y otras cosas. , por lo que el sistema operativo normalmente no conoce las direcciones reales posibles en un SSD.