La reseña de ArsTecnica

La reseña de ArsTecnica

Tengo un SSD Samsung 960 Pro de 512 GB en NVMe con PCIe Gen.3x4 ejecutándose. Utilizo el controlador Samsung NVMe 2.0.0.1607. El SSD funciona bien. Sin embargo, no entiendo por qué la escritura en 4k es más rápida que la lectura en 4k. Estoy usando AS Benchmark:

ingrese la descripción de la imagen aquí

¡Es un factor de 3! ¿Hay algún problema (con mi sistema o con AS Benchmark) o es normal?

Respuesta1

Las lecturas de 4k serán lo más difícil que pueda hacer el disco. 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 pretende leer algo. mayor a 4kb.

Es más probable que las lecturas de unidades "normales" superen los 4 kb, ya que hay muy pocos archivos que sean tan pequeños, e incluso es probable que el archivo de la página se lea en trozos grandes, ya que sería extraño que un programa tuviera "sólo" 4 KB de memoria paginados. Esto significa que cualquier precarga que la unidad intente realizar penalizará el rendimiento de la unidad.

Las lecturas de 4K pueden pasar a través del búfer de la unidad, pero la parte "aleatoria" de la prueba las hace completamente impredecibles. El controlador no sabrá cuándo la unidad podría necesitar nuevamente las lecturas "grandes" más habituales.

Por otro lado, las escrituras 4K se pueden almacenar en buffer, poner en cola y escribir secuencialmente de manera eficiente. El búfer de la unidad puede realizar gran parte del trabajo de captura y escritura para el que fue diseñado, y el nivelador de desgaste podría incluso asignar todas esas escrituras de 4K al mismo bloque de borrado de la unidad, convirtiendo ocasionalmente lo que es una escritura "aleatoria" de 4K en algo más cercano a una escritura secuencial.

De hecho, sospecho que esto es lo que está sucediendo en las escrituras "4K-64Thrd", el "64-Thrd" esaparentemente usando una gran profundidad de cola, indicando así a la unidad 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 al realizar una escritura de 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, reconociendo ahora que está bajo una carga pesada muy constante, detiene la precarga de datos, posiblemente evita el búfer y en su lugar cambia a un modo de lectura "sin procesar", acercándose nuevamente a la velocidad de lectura secuencial.

Básicamente, el controlador de accionamiento puede haceralgopara hacer que una escritura 4K sea más eficiente, especialmente si un grupo de ellos llega al mismo tiempo, mientras que no puede hacer nada para hacer unasolteroLa lectura 4K es más eficiente, especialmente si se intenta optimizar el flujo de datos precargando datos en el caché.

Respuesta2

Otras respuestas ya han explicado 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.

La reseña de ArsTecnica

ArsTechnicaha revisado el disco, tanto su versión (512 GB) como la de 2 TB:

ArsTechnica (Este gráfico no es visible inmediatamente en la reseña, es el quinto en la primera galería, debes hacer clic en él)

El rendimiento de estos 2 modelos es muy similar, y sus números se parecen a los tuyos: la unidad puede leer a 37 MB/s y escribir a 151 MB/s.

La reseña de AnandTech

anandtechTambién ha revisado el disco: 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:

AnandTech lectura 4K Escritura AnandTech 4K

La unidad lee a 137 MB/s y escribe a 437 MB/s. El número es mucho mayor que el suyo, pero probablemente se deba a la mayor profundidad de las colas. De todos modos la velocidad de escritura es 3 veces la velocidad de lectura, como en tu caso.

Reseña de PC World

Una reseña más, demundo PC: 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: Gráfico mundial de PC La velocidad de escritura está en línea con la suya, pero aquí el disco es aún más lento en lectura. El resultado es que la proporció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 en 4K aleatorio sea mucho más rápida que la velocidad de lectura: según la prueba, puede ser incluso 5 veces más rápida.

Tu manejo está bien. No hay razón para creer que esté defectuoso o que su sistema tenga un problema.

Respuesta3

El controlador SSD almacena en caché las escrituras en la NVRAM integrada y las descarga en medios flash en los momentos oportunos. La latencia de escritura es, por tanto, la latencia de acceso a la caché, normalmente 20us. Las lecturas, por el contrario, se sirven fuera de los medios, con un tiempo de acceso de 120-150us en el mejor de los casos.

Respuesta4

Ampliando la respuesta de Andrey, es necesario 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 simplemente deben escribirse en una memoria caché RAM interna. Posteriormente se escribirá en la memoria flash, junto con otros bloques de 4k y metadatos necesarios para comprobarlo, corregir errores y localizarlo.

Para una lectura, el SSD primero debe localizar 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 física, basándose en la geometría de la memoria flash (la forma en que están dispuestas las celdas), la reasignación de bloques defectuosos, la nivelación del desgaste y varios otros factores. Luego tiene que esperar a que finalicen otras operaciones antes de recuperar los datos de la memoria flash, luego verificarlos y, si es necesario, volver a leerlos y aplicar la corrección de errores, posiblemente incluso reescribir todo el bloque en otro lugar.

Si bien el tiempo total que tarda una operación de escritura puede ser mayor que el de 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.

información relacionada