Configuración del sobreaprovisionamiento de SSD en Mac OSX

Estoy en las primeras etapas de investigación para agregar una unidad SSD a mi MacPro.

Los problemas de fragmentación pueden generar serios problemas de rendimiento en un SSD. Hay un par de respuestas a este problema:

  1. TRIM: que está fuera porque Apple ha considerado conveniente desactivarlo en unidades que no son de Apple. No me importa discutir si Apple hizo esto por codicia o por preocupaciones técnicas demasiado cautelosas. No me entusiasma piratear un kext para permitir que el código que no se probó con el modelo de mi unidad se interponga entre mis datos y el almacenamiento no volátil.

  2. Recolección de elementos no utilizados (GC) basada en unidades: algunas unidades son bastante buenas en esto dado el espacio de borrador sobreaprovisionado adecuado.

¿Cómo puedo configurar el aprovisionamiento excesivo en una unidad? ¿Es tan simple como particionar el disco y dejar una parte del disco sin asignar? ¿Se requiere un tipo de tabla de partición específico?

Las soluciones que van desde Disk Utility hasta fdisk son aceptables.

También puedo estar convencido de que no es necesario, pero todavía estoy interesado en el "cómo" técnico de asignar espacio adicional sobreaprovisionado.

Respuestas (2)

Como seguimiento, actualicé mi MacBook Pro 2011 ( no mi Mac Pro ) usando un SSD del mercado de accesorios en diciembre de 2014.

Selección de unidad

Para equilibrar el presupuesto, el rendimiento y la reputación, elegí un Crucial M500 de 480 GB, que no es de alto rendimiento conocido, pero tiene una reputación decente de confiabilidad. No estoy seguro de que los capacitores de protección contra pérdida de energía sean necesarios en una computadora portátil, pero me gustó tenerlos. Tiene recolección de basura en el disco y soporte TRIM. La unidad internamente tiene 32 GB de sobreaprovisionamiento.

Instalación de la unidad

Instalé la unidad como reemplazo directo del disco giratorio interno.

NO asigné ningún sobreaprovisionamiento adicional usando particiones.

NO instalé ningún hack habilitador de TRIM.

Uso de la unidad

La máquina se usa principalmente para el desarrollo de OS X/iOS, por lo que hay una gran cantidad de rotación en el disco de archivos de diferentes tamaños a medida que se descargan o crean, usan y eliminan archivos de objetos compilados, podcasts, videos de capacitación, etc. El uso del espacio en disco oscila entre el 25 y el 50 %.

La diferencia de rendimiento con respecto al stock 7200RPM 750GB fue bastante llamativa. He extraviado mis medidas por lo que no puedo ser preciso en la comparación. "Striking" tendrá que hacer.

Actuación

Después de 6 meses de agitación, el rendimiento sigue siendo muy bueno.

Las pruebas que utilizan Blackmagic Disk Speed ​​Test muestran un rendimiento de lectura casi idéntico (-0,8 %) y una disminución muy pequeña en el rendimiento de escritura (-2,4 %). Parte de esto podría atribuirse parcialmente a la variabilidad que viene con las pruebas del mundo real, pero me complace que solo haya experimentado un impacto insignificante en el rendimiento debido a la incapacidad de activar TRIM para la unidad.

Actualmente, veo un rendimiento de lectura de 470 MB/s y de escritura de 393 MB/s y uso el 26 % de la unidad. Veremos cómo se comporta en los próximos meses.

Apéndice:

A partir de OS X 10.10.4, Apple parece haber dejado de lado este punto. ¡Hurra!

http://arstechnica.com/apple/2015/06/latest-os-x-update-allows-you-to-enable-trim-for-third-party-ssds/

Anexo 2:

Se sabe que algunas unidades tienen errores TRIM que pueden tener implicaciones graves . Esto incluye:

  • "Micron_M500*"
  • "Crucial_CT M500 "
  • "Micron_M5[15]0*"
  • "Crucial_CT M550 "
  • "Crucial_CT MX100 "
  • "Samsung SSD 8*"
  • Unidades Sandforce como OWC Electra

Personalmente, estoy retrasando la activación hasta que pueda confirmar que las actualizaciones de firmware solucionarán la vulnerabilidad.

Anexo 3:

Encontré esta pequeña joya para las personas que aún no han habilitado TRIM y están viendo problemas de rendimiento en las unidades Crucial.

Si TRIM está presente, manejará esta limpieza en segundo plano, pero si por alguna razón TRIM no puede llegar a la SSD, Active Garbage Collection está ahí para cuidar la unidad.

[...] es posible que simplemente deba forzar la ejecución de Active Garbage Collection en la unidad encendiendo la SSD y dejándola inactiva durante 6 a 8 horas. Después de eso, la funcionalidad y el rendimiento de su unidad deberían restaurarse.

Siga estos pasos para activar la recolección de basura activa en su SSD Crucial:

[instrucciones de la computadora]

En una Mac, presione la tecla Opciones mientras enciende para ingresar a la pantalla Administrador de inicio. Dejar la Mac en esa pantalla proporciona energía a la SSD, pero la mantiene en un estado inactivo para que Garbage Collection pueda funcionar, al igual que la pantalla del BIOS en una computadora portátil con Windows.

Crucial Forums: Mi SSD solía ser mucho más rápido...

Además, si desactiva "Poner los discos duros en suspensión cuando sea posible", las unidades tendrán la oportunidad de realizar la recolección activa de basura durante los períodos de inactividad.

Anexo 4:

Un artículo maravillosamente educativo sobre arstechnica responde la pregunta original de cómo aprovisionar en exceso un SSD en OSX.

También es posible emular los efectos beneficiosos del aprovisionamiento excesivo simplemente usando menos de la capacidad indicada de un SSD, por ejemplo, comprando un SSD de 90 GB, creando una partición de 30 GB y dejando el resto sin asignar. Al controlador en sí mismo no le importan las construcciones lógicas construidas por el sistema operativo; felizmente continuará escribiendo en nuevas páginas nuevas siempre que estén disponibles.

Revolución de estado sólido

Dedicar espacio disponible al controlador del SSD para nivelar el desgaste simplemente dejando esos bloques marcados como no utilizados. Normalmente, el sistema operativo no escribirá en bloques que no sean parte de una partición, por lo que dejar algo de espacio sin particionar o asignado a una partición marcada como reservada debería funcionar. Si la unidad se ha utilizado anteriormente, se debe ejecutar un comando TRIM en los bloques afectados una vez para declararlos libres. Sin embargo, no tiene que modificar una extensión de kernel para habilitar TRIM en ninguna unidad de terceros. Simplemente ejecutar sudo trimforce enabledesde una terminal servirá. De esa manera, siempre tendrá disponible la capacidad total de su unidad mientras mantiene todo el espacio libre disponible para que el controlador trabaje con él.