Tengo un SSD Samsung 960 Pro de 512 GB en NVMe con PCIe Gen.3x4 funcionando. Yo uso el Samsung NVMe Driver 2.0.0.1607. El SSD está funcionando bien. Sin embargo, no entiendo por qué la escritura de 4k es más rápida que la lectura de 4k. Estoy usando AS Benchmark:
Es un factor de 3! ¿Hay algo mal (con mi sistema o AS Benchmark) o es normal?
ssd
performance
Musbach
fuente
fuente
Respuestas:
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é.
fuente
Otras respuestas ya explicaron por qué puede ser que escribir sea más rápido que leer; Me gustaría agregar que para esta unidad esto es absolutamente normal, como lo confirman los puntos de referencia que puede encontrar en las revisiones.
El comentario de ArsTecnica
ArsTechnica ha revisado la unidad, tanto su versión (512 GB) como la de 2 TB:
(Este gráfico no es inmediatamente visible en la revisión, es el quinto en la primera galería, debe hacer clic en él)
El rendimiento de estos 2 modelos es muy similar, y sus números se parecen a los suyos: la unidad puede leer a 37 MB / sy escribir a 151 MB / s.
Comentario de AnandTech
AnandTech también ha revisado la unidad: utilizaron el modelo de 2TB, promediando los resultados de las pruebas con una profundidad de cola de 1, 2 y 4. Estas son las gráficas:
La unidad lee a 137 MB / sy escribe a 437 MB / s. El número es mucho mayor que el tuyo, pero probablemente se deba a las mayores profundidades de la cola. De todos modos, la velocidad de escritura es 3 veces la velocidad de lectura, como en su caso.
PC World review
Una revisión más, de PC World : han probado la versión de 1 TB, y los resultados para 4K son 30 MB / s para lectura y 155 MB / s para escritura: la velocidad de escritura está en línea con la suya, pero aquí la unidad es aún más lento en la lectura. El resultado es que la relación es de cinco a uno, no de tres a uno.
Conclusión
Las revisiones confirman que para esta unidad es normal que la velocidad de escritura para 4K aleatorio sea mucho más rápida que la velocidad de lectura: dependiendo de la prueba, incluso puede ser 5 veces más rápida.
Tu viaje está bien. No hay razón para creer que es defectuoso o que su sistema tiene un problema.
fuente
El controlador SSD almacena en caché las escrituras en la NVRAM incorporada, y lo descarga en medios flash en los momentos oportunos. La latencia de escritura es, por lo tanto, la latencia de acceso a la memoria caché, típicamente 20us. Las lecturas, por el contrario, se publican fuera de los medios, con un tiempo de acceso de 120-150us en el mejor de los casos.
fuente
Para ampliar la respuesta de Andrey, debe observar la sobrecarga involucrada antes de que el SSD pueda indicarle a la computadora que la operación se ha completado.
Para una escritura, los datos deben escribirse simplemente en una memoria caché RAM interna. Más tarde se escribirá en la memoria flash, junto con otros bloques de 4k y metadatos necesarios para verificar, corregir errores y localizarlos.
Para una lectura, el SSD primero debe ubicar los datos. La ubicación que la computadora quiere leer se llama dirección lógica y no tiene una relación directa con la ubicación física de los datos en la memoria flash. El SSD traduce la dirección lógica a una dirección física, basada en la geometría de la memoria flash (la forma en que están organizadas las celdas), la reasignación de bloques defectuosos, la nivelación del desgaste y otros factores. Luego tiene que esperar a que finalice cualquier otra operación antes de recuperar los datos de la memoria flash, luego verificarlos y, si es necesario, volver a leer y aplicar la corrección de errores, posiblemente incluso volver a escribir todo el bloque en otro lugar.
Si bien el tiempo total que tarda una operación de escritura puede ser mayor que una operación de lectura típica, el tiempo que tarda el SSD en informar que la operación se completó en la medida en que puede procesar más comandos es menor. Con bloques grandes, la sobrecarga no es el factor limitante, pero con muchos bloques pequeños comienza a limitar la velocidad de lectura / escritura.
fuente