¿Cómo mantienen las unidades flash un buen rendimiento si TRIM no es compatible?

¿Cómo mantienen las unidades flash un buen rendimiento si TRIM no es compatible?

Hasta donde yo sé, no había soporte TRIM/UNMAP en Windows antes de 7 (se usaban herramientas especiales para unidades SSD), pero las unidades flash se usaron desde aproximadamente 2005 y eran totalmente compatibles con Windows XP.

Como dispositivos de almacenamiento masivo USB, usaban el protocolo SCSI además del USB (¿tengo razón en este punto?). Existe UNMAP en SCSI, pero tampoco es compatible con Windows XP.

Por lo tanto, la única posibilidad que tiene una unidad flash USB de saber que se puede eliminar algún bloque es una solicitud de escritura del sistema operativo.

Eso significa que después de un cierto uso, todo el disco está sucio y siempre va lento. No hay forma de decirle que elimine ningún bloque. Sólo puedes tirarlo y comprar una nueva unidad flash USB.

Pero estoy seguro de que no fue así. ¿Qué me perdí?

Respuesta1

La respuesta general corta es: gracias a una cantidad oculta de celdas NAND.

Los controladores de las unidades flash mantienen el rendimiento de escritura aplicando un mecanismo de recolección de basura: los sectores lógicos libres fragmentados se recopilan y asignan a bloques NAND físicos libres. El recolector de basura no está controlado en absoluto por el sistema operativo; este es un proceso en segundo plano que es completamente interno a la unidad (la unidad solo necesita estar encendida).

Si no hay más espacio libre en el disco, entonces obviamente la recolección de basura ya no puede funcionar (tenga en cuenta que esto sucede sólo si el disco se llenó por completo en algún momento).

Para superar este problema, hay una cantidad oculta de celdas NAND en la mayoría de las unidades: incluso si la unidad está "lógicamente llena" (desde el punto de vista del sistema operativo), no está "físicamente llena" y el controlador todavía tiene algo de espacio. para aplicar la recolección de basura. https://www.seagate.com/fr/fr/tech-insights/ssd-over-provisioning-benefits-master-ti/

Ahora bien, el volumen oculto de celdas depende de la categoría de la unidad: una unidad de gama alta tendrá un volumen grande, mientras que una unidad de nivel básico tendrá una cantidad mínima. También creo que es seguro asumir que las memorias USB baratas no tienen ninguna celda oculta.

De manera similar, no todas las unidades tienen un mecanismo inteligente de recolección de basura, algunas unidades pueden tener uno aproximado y algunas unidades (nuevamente, llaves USB baratas) pueden no tener ningún recolector de basura.

Todo lo que he escrito arriba se aplica incluso sin TRIM.

Respuesta2

Existen demasiadas tecnologías de unidades flash para dar algo más que una respuesta muy general. A continuación se ofrecen algunos consejos, teniendo en cuenta que la mayoría de las unidades flash se fabrican de forma económica con hardware que se degrada con el tiempo.

  • Borrado seguro ATA es una alternativa a TRIM para algunas unidades. en el artículo Haga que la memoria flash USB vuelva a escribir rápidamente el autor lo utilizó para aumentar el rendimiento de escritura de una unidad flash USB SanDisk Extreme de 64 GB de 81,7 MB/S a 149,7 MB/S.

  • Los sectores débiles del disco pueden mejorarse mediante un formato ("lento", no rápido)

  • El formato NTFS puede ser más eficiente que FAT32 y exFAT. Ver por ejemplo el artículo Comparación de rendimiento de FAT32, exFAT y NTFS USB3.

  • En el Administrador de dispositivos, configurar el USB en "Mejor rendimiento" en lugar de "Extracción rápida" permitirá a Windows almacenar en caché mejor los datos, pero siempre será necesario recordar expulsar la unidad después de escribir.

  • Actualice los controladores para el dispositivo y/o el controlador USB.

  • Un puerto USB que se utiliza con frecuencia puede degradarse con el tiempo, así que pruebe con otro puerto, cambiando entre los puertos frontal y posterior de la carcasa.

Respuesta3

Algunas unidades USB3.xmoldura de soporte. No estoy del todo seguro de si Windows puede utilizarlo; Linux sí.AparentementeSi utilizan el protocolo UASP (SCSI conectado por USB), el recorte podría funcionar en Windows 8+.

En cuanto a la carne de la Q (¿cómo podría hacerse esto sin recortes)? Conozco algunos controladores USB2 que tenían trucos especiales bajo la manga para entender FAT32. Entonces sabían cómo emular el recorte en ese sistema de archivos (observando FAT), pero no, por ejemplo, en NTFS o algún sistema de archivos Linux. Hubo una reducción significativa del rendimiento en dichas unidades cuando se usaba algo que no fuera FAT32 después de que las escrituras excedieran la capacidad. Una solución típicaerareformatear al menos de vez en cuando en FAT32; esto era esencialmente equivalente a un ajuste completo.

Lamentablemente, no tengo una referencia a mano para mi afirmación de que algunos controladores entendían FAT32, pero IIRC lo vi como una presentación de un fabricante de chips chino (probablemente Yeestor).

información relacionada