¿La transferencia de datos desde una unidad flash se considera velocidad de lectura?

1

Tengo una pregunta bastante simple. Básicamente, estoy relativamente seguro de que escribir en una unidad flash es la velocidad de escritura y leer los datos en ella es la velocidad de lectura. Sin embargo, al transferir datos de una unidad a otra (ya sea SSD o HDD), suponiendo que la velocidad de escritura de la unidad de destino es infinita, ¿la velocidad de transferencia sería la velocidad de lectura de la unidad de origen? En otras palabras, es la velocidad a la que se transfieren los datos. desde un disco es leer velocidad?

ThatCrazyCow
fuente

Respuestas:

1

El primer cuello de botella será las limitaciones del medio (SATA / USB / FireWire) o, como usted mismo mencionó, la velocidad de lectura de la unidad de origen.

La copia de archivos de un disco a otro no utiliza la muy alta velocidad de lectura y escritura de la RAM, ya que el portapapeles solo almacena información sobre la ubicación de los archivos y no los archivos en sí.

Daniel
fuente
3

Si copia un archivo de una unidad flash a algo con una velocidad de escritura infinita (posix /dev/null/ventanas \\.\nul ) luego sí, solo verá los efectos de la velocidad de lectura, la aplicación y la sobrecarga del sistema operativo.

Jasen
fuente
2

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

sawdust
fuente