Con el almacenamiento mecánico, la operación del disco de bajo nivel seek()
hace que los cabezales del disco duro se muevan a una ubicación para que estén listos para leer desde un área determinada del disco.
Con almacenamiento de estado sólido, como tarjetas SD, unidades flash y SSD, no hay partes móviles del hardware, solo señales eléctricas.
Suponiendo que una tecnología RAM no volátil NAND es la base del hardware, ¿qué función seek()
desempeña realmente a nivel de hardware para dicho dispositivo?
Para ser claros, ya sé que sucede lo siguiente:
El programa de espacio de usuario llama a la
seek()
llamada del sistema o el equivalente específico del sistema operativoKernel interpreta la llamada del sistema y envía un mensaje al controlador SATA para buscar
El controlador SATA interpreta el comando y le dice al dispositivo de disco conectado, que está en estado sólido, que busque (¿o tal vez sea lo suficientemente inteligente como para reconocer que está en estado sólido y ni siquiera lo dice?)
Lo que no sé es, ¿el dispositivo de estado sólido lo hace ? con la orden de "buscar".
Si hay detalles que dependerían del sistema operativo, suponga una versión de escritorio relativamente estándar de GNU / Linux con la versión del kernel 3.2.
Respuestas:
Si se refiere a Linux, la búsqueda sigue avanzando el número requerido de bytes. Por ejemplo:
Comenzará a copiar ceros 1024 bytes en el inicio de un disco, no importa si sdb es una tarjeta sd o una unidad ssd, debido a una pequeña cosa llamada abstracción, la mecánica real de esto se soluciona en un nivel inferior.
Actualizar
Ya veo lo que dices ahora. Siguiendo mi ejemplo de tarjeta SD, la memoria flash usa algo llamado páginas , y las páginas vienen en un tamaño particular. Cuando llega una búsqueda, el sistema operativo envía el comando a la tarjeta SD / controlador de tarjeta para pasar a una página determinada para leer y escribir.
fuente
lseek()
llamada al sistema como un ejemplo específico si es necesario. Sé que esta llamada al sistema no solo hace la búsqueda lógica sino que también hace que los cabezales del HDD se muevan cuando se trata de un disco mecánico, entonces, ¿qué hace el SSD?