Tengo una pregunta bastante simple
Pero la respuesta no es simple.
¿A qué velocidad se transfieren los datos de una unidad a la velocidad de lectura?
La transferencia de datos desde un dispositivo está leyendo.
La dirección de E / S es siempre desde la perspectiva de la CPU.
La transferencia de datos se realizará en dos fases.
La primera fase es desde el medio (por ejemplo, discos o discos flash NAND) al controlador integrado del dispositivo (por ejemplo, un controlador de disco o un controlador flash NAND, NFC).
La segunda fase es desde el controlador del dispositivo a la PC host a través de un puente SATA o USB-SATA (es decir, SATA sobre USB).
Entre estas fases, el bloque de datos se verifica mediante ECC, y quizás se corrige.
Estas dos fases deben ocurrir de forma secuencial para cada bloque / sector de datos.
Estas transferencias no pueden realizarse al mismo tiempo, por lo que se puede agregar el tiempo para realizar cada fase para obtener el tiempo total para transferir los datos (e ignora el tiempo para enviar la solicitud de lectura y acceder a los datos).
La tasa de lectura del fabricante del dispositivo puede o no separar estas dos fases, y puede o no proporcionar una aclaración.
En general, sospecho que las tasas de lectura típicas de las unidades flash NAND son solo para la primera fase, ya que este suele ser el valor más rápido que puede impresionar a un cliente potencial.
Sin embargo, al transferir datos de una unidad a otra (ya sea SSD o HDD),
Vaya, una transferencia de una unidad a otra es casi siempre dos transferencias. Hay una lectura desde la unidad de origen a la memoria, y luego desde la memoria una escritura a la unidad de destino.
La cantidad de concurrencia o superposición que la lectura & amp; Las operaciones de escritura empleadas están determinadas por la sofisticación (por ejemplo, el doble búfer) del programa de copia y las limitaciones de hardware (por ejemplo, la contención del bus). El mejor de los casos podría realizar la transferencia en aproximadamente la mitad del tiempo como el peor de los casos (sin ninguna concurrencia), pero sin un análisis o conocimiento específico, no sabría cómo interpretar los tiempos de transferencia.
No puede omitir la memoria a menos que tenga un bus maestro que pueda realizar transferencias de dispositivo a dispositivo.
Dado que la transferencia de un dispositivo a otro realmente implica dos transferencias con un grado de concurrencia no especificado, obtendrá una "velocidad" de lectura y escritura incorrecta de los dispositivos individuales.
Con las operaciones de escritura de * nix OS usando / dev / cero y leer operaciones usando / dev / null proporcionar números de velocidad de transferencia generales aproximados