4 votos

¿Cuál es la mayor sobrecarga de memoria estable para las SSD?

Con un disco duro, la mayor sobrecarga en el acceso a la memoria estable (donde medimos el tiempo de acceso desde que la instrucción pasa por la etapa MEM en el pipeline) son los costes de E/S para buscar la pista correcta en el disco.

En general, la contribución al tiempo es probablemente algo así (estoy adivinando, por favor corrígeme si me equivoco):

Seek > Rotation > Copying to buffer > OS page replacement code
     > Actual bus I/O costs and copying to in-memory location
     > Context switches

Sin embargo, estoy bastante seguro de la primera.

¿Cuál es el orden de la memoria flash?

4voto

Matt McMinn Puntos 6067

Para el caso del HDD, tu ejemplo se ve muy bien. El tiempo medio de búsqueda es 1/3 del tiempo máximo para moverse por todas las pistas, y el retraso medio de rotación es de media revolución del disco.

Si el sistema tiene un búfer de E/S multisectorial, se comprobará si el sector deseado ya está en la memoria, y si lo está, se utilizará la copia existente en lugar de volver a leerla del disco duro. Esto es particularmente cierto en aquellos casos en los que se utilizan clusters, y se accede a sectores secuenciales en el cluster.

Por otro lado, si los sectores de un archivo se leen secuencialmente, pero los sectores no se suceden en el disco debido a la fragmentación, entonces se añade el tiempo de búsqueda más la latencia de rotación a cada sector leído.

Además, en el caso del disco duro, normalmente hay muy poca diferencia entre la lectura y la escritura (me doy cuenta de que sólo has preguntado sobre el acceso al dispositivo de almacenamiento masivo, pero incluyo esto sólo para ser completo). Incluso si los datos están encriptados, hay un retraso en desencriptar los datos al leerlos, y en encriptarlos al escribirlos, concedido esto último podría tomar un poco más de tiempo.

En el caso de los SSD, la gran diferencia es que no hay tiempo de búsqueda ni latencia de rotación. (Hay algo de tiempo de preparación, pero es del orden de 100 µs). Además, la transferencia de bytes de la memoria SSD a la RAM puede ser varias veces más rápida que la de un disco duro. La sobrecarga de un volumen cifrado también sería la misma que la anterior.

El gran éxito de las SSD es la escritura de los datos. La memoria flash NAND debe borrarse primero y luego escribirse en páginas. El borrado puede tardar unos milisegundos. Además, hay un número finito de veces que este ciclo de borrado puede realizarse de forma fiable en cada página, para evitar que el soporte SSD se desgaste demasiado rápido, nivelación del desgaste se utiliza. Esto significa que una página de sectores que se escribe con frecuencia se trasladará a otra zona del disco.

Así que, para responder a la pregunta del título, yo diría que la mayor sobrecarga de los SSD sería la nivelación del desgaste.

2voto

Alex Andronov Puntos 178

A diferencia de los discos duros, en los que la escritura de un sector hace que los datos antiguos se escriban en la misma ubicación que el contenido anterior del sector, las unidades de estado sólido gestionan invariablemente las escrituras de sectores almacenando los datos en una nueva ubicación y, a continuación, anotando de algún modo que los datos deben encontrarse en la nueva ubicación y no en la antigua. Una unidad de 32 GB formateada con sectores de 512 bytes tendrá que rastrear la posición de aproximadamente 64.000.000 sectores. Antiguamente, cuando las unidades eran mucho más pequeñas, algunos sistemas de gestión de estado sólido se limitaban a marcar cada sector con su dirección lógica y a mantener una tabla de asignación en la memoria RAM o a examinar cada sector cuando era necesario para encontrar una solicitud, pero ninguno de esos enfoques es práctico cuando hay 64.000.000 de sectores que rastrear. Incluso si una unidad pudiera leer los datos de localización de un sector por microsegundo, leer 64.000.000 llevaría más de un minuto.

No sé hasta qué punto los fabricantes de SSD publican los algoritmos que utilizan para la gestión de los sectores, pero es posible diseñar una serie de compensaciones entre las velocidades de acceso aleatorio y de lectura secuencial, las velocidades de acceso aleatorio y de escritura secuencial, los requisitos de RAM, la solidez frente a la adversidad (como la pérdida inesperada de energía mientras se escribe), etc. Por lo tanto, los diferentes chips pueden tener variaciones sustanciales en los tiempos de lectura y escritura en el caso medio, en el mejor y en el peor de los casos. Las especificaciones pueden ofrecer cifras de rendimiento en el caso medio y en el peor, pero no sé en qué casos se puede garantizar que el rendimiento será significativamente mejor que el peor caso (que sería mucho peor que el caso típico).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X