Las lecturas de 4k serán lo más difícil que puede hacer la unidad. Se encuentran entre los tamaños de bloque más pequeños que la unidad podrá manejar, y no hay forma de que la unidad precargue grandes cantidades de datos, de hecho, probablemente sean bastante ineficientes si la lógica de carga anticipada de la unidad tiene la intención de leer algo mayor de 4kb.
Es más probable que las lecturas de unidad "normales" sean mayores de 4 kb, ya que hay muy pocos archivos que sean tan pequeños, e incluso es probable que el archivo de página se lea en fragmentos grandes, ya que sería extraño que un programa tenga "solo" 4KB de memoria paginada. Esto significa que cualquier precarga que la unidad intente hacer realmente penalizará el rendimiento de la unidad.
Las lecturas 4K pueden pasar a través del búfer de la unidad, pero la parte "aleatoria" de la prueba los hace completamente impredecibles. El controlador no sabrá cuándo la unidad podría necesitar las lecturas "grandes" más habituales nuevamente.
Las escrituras 4K, por otro lado, se pueden almacenar, poner en cola y escribir secuencialmente de manera eficiente. El búfer de la unidad puede hacer una gran cantidad de trabajo de captura y escritura para el que fue diseñado, y el nivelador de desgaste incluso puede asignar todas esas escrituras 4K al mismo bloque de borrado de la unidad, convirtiendo ocasionalmente lo que es una escritura 4K "aleatoria" en algo más cercano a una escritura secuencial.
De hecho, sospecho que esto es lo que está sucediendo en las escrituras de "4K-64Thrd", el "64-Thrd" aparentemente está utilizando una gran profundidad de cola , lo que indica al disco que tiene una gran cantidad de datos para leer o escribir . Esto desencadena una gran cantidad de agrupaciones de escrituras y, por lo tanto, se acerca a la velocidad de escritura secuencial de la unidad. Todavía hay una sobrecarga para realizar una escritura 4K, pero ahora está exponiendo completamente el potencial del búfer. En la versión de lectura de la prueba, el controlador de la unidad, ahora reconociendo que está bajo una carga pesada muy constante, detiene la carga previa de datos, posiblemente evita el búfer y, en cambio, cambia a un modo de lectura "sin procesar", acercándose nuevamente a la velocidad de lectura secuencial.
Básicamente, el controlador de unidad puede hacer algo para que una escritura 4K sea más eficiente, especialmente si un grupo de ellos llega en un momento similar, mientras que no puede hacer nada para que una sola lectura 4K sea más eficiente, especialmente si está tratando de optimizar flujo de datos precargando datos en el caché.