SOBRE LOS SSD'S Y SUS MEMORIAS SLCA día de hoy es muy difícil encontrar memorias SLC y sus precios son bastante altos, generalmente están orientadas al mercado empresarial.
Ya no se producen unidades SLC domésticas, todo es a nivel industrial y suelen costar mucho dinero.
https://www.techpowerup.com/ssd-specs/s ... 0-gb.d1253https://www.techpowerup.com/ssd-specs/s ... 0-gb.d1674https://www.techpowerup.com/ssd-specs/k ... 6-tb.d1881BASE DE DATOS DE CASI TODOS LOS SSD'S Y QUE MEMORIAS TIENEN:
https://www.techpowerup.com/ssd-specs/Actualmente tampoco se producen muchos MLC's de los últimos que quedan a nivel doméstico usuario está el SAMSUNG 970 PRO y puede que termine desapareciendo del mercado en favor de los TLC, por lo que la cosa está bastante jodida si queremos usar estos discos como dispositivos de almacenamiento a largo plazo a no ser que los tengamos conectados a la corriente de forma constante.
En techpowerup podemos consultar el tipo de memoria de nuestra unidad, también hay algunos programas como AIDA64 que pueden arrojar ese dato.
Lo más común es encontrar discos TLC en gamas medias, mientras que en algunas gamas altas como samsung podemos encontrar algún MLC pero ya es raro, en gamas bajas encontraremos memorias QLC, tanto TLC como QLC no están recomendadas para el almacenamiento de datos a largo plazo.
[ TUTORIAL ] CONVERTIR DISCO QLC EN SLCHace unos meses, presentamos una prueba de overclocking de un SSD SATA III NAND Flash de 2,5 pulgadas estándar gracias a Gabriel Ferraz, ingeniero informático y responsable de la base de datos SSD de TechPowerUp. Ahora, está de vuelta con otro proyecto igualmente interesante de modificación de un SSD SATA III de celda de nivel cuádruple (QLC) en un SSD SATA III de celda de nivel único (SLC). Utilizando el SSD Crucial BX500 de 512 GB, su objetivo era transformar la unidad QLC en una SLC más resistente y de mayor rendimiento. El Silicon Motion SM2259XT2 alimenta la unidad elegida con una CPU ARC de 32 bits de un solo núcleo con una velocidad de reloj de 550 MHz y dos canales que funcionan a 800 MT/s (400 MHz) sin una caché DRAM. Este SSD en particular utiliza cuatro matrices NAND Flash de Micron con números de pieza NY240. Se controlan dos matrices por canal. Estos chips NAND Flash fueron diseñados para funcionar a 1.600 MT/s (800 MHz), pero están limitados a solo 525 MT/s en esta unidad en el mundo real.
La resistencia promedio de estos chips es de 1.500 ciclos P/E en NAND FortisFlash y alrededor de 900 ciclos P/E en Mediagrade. Transformar la misma unidad en el pSLC eleva esos números a 100.000 y 60.000, respectivamente. Sin embargo, hacer que eso funcione es la parte complicada. Para lograrlo, debe descargar MPtools para el controlador Silicon Motion SM2259XT2 desde el sitio web USBdev.ru y encontrar el chip correcto utilizado en el SSD. Luego, se modifica el software con cuidado y se modifica un archivo de configuración que distingue entre mayúsculas y minúsculas para permitir el modo SLC, lo que obliga al chip a ejecutarse como un chip SLC NAND Flash. Finalmente, se debe llegar a la carpeta de firmware y se deben mover los archivos de un modo que se ve en el video.
En este hilo tutorial se puede convertir un disco QLC en SLC
https://www.reddit.com/r/DataHoarder/co ... matically/https://www.techpowerup.com/321998/enth ... e-increasehttps://theoverclockingpage.com/2024/05 ... e/?lang=enEn el artículo de hoy, nos embarcamos en algo sin precedentes. Te guiaremos paso a paso a través del proceso de transformación de un SSD equipado con NAND QLC en un SSD SLC, mejorando significativamente su durabilidad y rendimiento general.
Especificación del SSD DUT:
El SSD que elegí es un Crucial BX500 , que hemos probado numerosas veces tanto en nuestro sitio web como en mi canal de YouTube.ATENCIÓN: ANTES DE SEGUIR LEYENDO !!!En primer lugar, este procedimiento es más seguro que el overclocking, pero aun así requiere precaución. Solo proceda si está realmente interesado, ya que no me hago responsable si algún paso se ejecuta incorrectamente. Lo explicaré lo más claramente posible para minimizar los malentendidos.
Esto anula la garantía de cualquier SSD.
Y RECUERDE, AL ACTUALIZAR EL FIRMWARE EN EL SSD, SE BORRARÁN TODOS LOS DATOS , así que asegúrese de realizar una copia de seguridad de sus dispositivos antes de continuar con cualquier cosa.
HERRAMIENTAS NECESARIASPara realizar este procedimiento fue necesario utilizar un adaptador SATA a USB 3.0 con el modelo
Jmicron JMS578 Bridge Chip .
Además, también necesitamos una pinza para realizar el cortocircuito en los terminales ROM/Modo Seguro en la PCB del SSD.
Especificaciones técnicasAntes de pasar al tutorial, analicemos este SSD un poco más.
ControladorEl controlador SSD es responsable de gestionar todas las tareas de gestión de datos, incluido el sobreaprovisionamiento y la recolección de elementos no utilizados, entre otras funciones en segundo plano. Naturalmente, esto contribuye al rendimiento general del SSD.
En este proyecto, el SSD utiliza el modelo de controlador Silicon Motion SM2259XT2 , que es una nueva variante del SM2259XT .
En este caso se trata de un controlador single-core , es decir, que tiene un núcleo principal encargado de gestionar las NANDs, con una arquitectura ARC de 32 bits , no ARM como estamos acostumbrados. Este controlador tiene una frecuencia de trabajo de hasta 550 MHz , pero como veremos en la siguiente imagen, en este proyecto estaba trabajando a 437,5 MHz .
Este controlador también admite hasta 2 canales de comunicación con una velocidad de bus de hasta 800 MT/s , donde cada uno de estos canales admite hasta 8 comandos Chip Enable , lo que permite al controlador comunicarse con hasta 16 Dies simultáneamente utilizando la técnica de entrelazado .
Lo que lo diferenciaba de su predecesor, el SM2259XT , que contaba con 4 canales y 4 CE , soportando un máximo de 16 matrices .
Caché DRAM o HMBTodo SSD de gama alta que desee ofrecer un alto rendimiento constante necesita un búfer para almacenar sus tablas de mapeo ( Flash Translation Layer o tabla de búsqueda ). Esto permite un mejor rendimiento aleatorio y una mayor capacidad de respuesta.
Al ser un SSD SATA sin DRAM, no es compatible con la tecnología Host Memory Buffer (HMB).
Memoria flash NANDEn cuanto a sus circuitos integrados de almacenamiento, el SSD de 500 GB cuenta con 2 chips NAND flash etiquetados como “ NY240 ”, que al decodificarlos dan como resultado las NAND “ MT29F2T08GELCEJ4-QU:C ” del fabricante estadounidense Micron , modelo N48R Media Grade . En este caso, se trata de dies de 1 Tb (128 GiB) que contienen 176 capas de datos y un total de 195 puertas, lo que da como resultado una eficiencia del array del 90,2%.
En este SSD, cada NAND Flash contiene 2 dies con 1 Tb de densidad, totalizando 256 GB por NAND, lo que da un total de 500 GB. Se comunican con el controlador utilizando una velocidad de bus de 262,5 MHz ( 525 MT/s ), que está considerablemente por debajo de lo que son capaces de hacer las NAND. Estos dies N48R son capaces de operar a 800 MHz ( 1600 MT/s ).
Hay varias razones por las que pueden estar tan bajos, como que el fabricante opte por reducir el consumo de energía y el calor. O incluso que este lote de memoria flash NAND no pueda pasar el control de calidad de Micron a frecuencias más altas y termine vendiéndose más barato o tal vez también tenga una menor resistencia, lo que generalmente se traduce en costos de memoria NAND más bajos, lo que permite que los SSD como este tengan un precio muy bajo.
SOFTWARE UTILIZADO PARA ESTE PROYECTOComo se trata de un controlador de Silicon Motion , utilizaremos una herramienta de producción en masa de ellos, conocida como MPTools . Vale la pena señalar que estos programas NO son proporcionados por los fabricantes, sino que son FILTRADOS por personas con acceso y publicados en foros rusos o chinos.
Para este proyecto, utilizaremos la herramienta “ SMI SM2259XT2 MPTool FIMN48 V0304A FWV0303B0 ”, que debe ser compatible tanto con el controlador como con la NAND Flash, y esta herramienta nos permite hacerlo.
Antes de realizar cualquier modificación, necesitamos recuperar ciertos parámetros del SSD para conservarlos. Estos valores en el software son un valor predeterminado de otro SSD que puede tener parámetros diferentes. Necesitamos obtener los siguientes parámetros:
-Flash IO Conducción con sus subversiones
--Conducción con control de flash
-Flash DQS/Conducción de datos
Estos parámetros utilizan valores hexadecimales y deben cambiarse según la velocidad deseada que configuraremos para el SSD.
También tenemos muchos más parámetros como:
-Control ODT (terminación en matriz)
-ODT flash (terminación en chip)
-Disparador de ventana Schmitt
Para obtener estos parámetros, debemos ir a la pantalla principal de MPTools como se muestra a continuación:
Y luego haremos clic en “Escanear”, lo que escaneará todos los discos compatibles en el sistema:
Luego de esto el SSD se mostrará en el puerto 1 si todo ha ido bien hasta el momento, recordando que no es necesario poner todavía el SSD en Modo Seguro/Modo ROM .
Ahora hacemos doble clic sobre este Nombre Azul “ Ready (FW: M6CR061, MN48R) ”, que al hacer doble clic nos abrirá esta nueva pantalla con información del SSD.
Luego debemos hacer clic tanto en Modo tarjeta como en Configuración CID para ver todos los parámetros con los que viene el SSD de fábrica.
Después de anotar estos parámetros, vemos aquí también la velocidad del controlador y de la NAND, que para hacer una comparación justa, dejaremos en estas mismas frecuencias.
Aplicación de configuracionesInicialmente debemos hacer clic en el botón “Editar configuración” en la esquina superior derecha, y la contraseña por defecto es “espacio 2x”, que literalmente es “ “.
Luego de habilitar las opciones para configurar el SSD, comencemos por darle un nombre a este proyecto. En el campo “ Model Name: ” ingresaremos el nombre que tendrá el SSD. Este se llamó “ SSD SLC Test ”.
A continuación, agregaremos una etiqueta a este nuevo firmware. En el rectángulo rojo número 3, iremos al campo “ Versión de firmware: ” e ingresaremos lo que deseemos. Utilicé “ SSD-SLC ” como ejemplo.
A continuación, llegamos a una de las partes más cruciales, la sección de integridad de la señal, ya que todos estos demás parámetros son sensibles y deben ajustarse con precisión.
Empecemos con los 2 parámetros superiores, “ Flash Control Driving (hex) ” y “ Flash DQS/Data Driving (Hex) ”. Como vimos en las imágenes anteriores, estos parámetros vienen con valores de 66 en hexadecimal, por lo que los mantendremos. Estos 2 parámetros se pueden encontrar en las imágenes a continuación:
Después de configurar estos 2, pasemos a las frecuencias. Como podemos ver en la imagen de abajo, tomamos estos 2 valores y los configuramos. La CPU en este software viene por defecto a 500 MHz mientras que la NAND a 250 MHz. La NAND aumentará ligeramente el reloj y la CPU lo disminuirá, no haré overclock aquí para una comparación justa. A continuación, dejaremos la salida manejando en 03H, que es la señal más cercana a 04H que tenía el SSD.
A continuación, tenemos los 3 últimos parámetros a resolver: Flash ODT , Control ODT y Schmitt Window. En este caso, aplicamos los valores marcados en rojo en cada uno de estos parámetros en sus respectivos campos.
Bueno, aquí hemos llegado al final de otra etapa de este procedimiento. Y comenzamos el siguiente paso, que es la modificación del software. Porque por defecto, esta versión de MPTools no soportaría esta modificación.
Inicialmente debemos ir al directorio de este programa en la carpeta “ UFD_MP ” ubicada en el directorio raíz.
Dentro de esta carpeta debemos buscar el archivo llamado “ Setting.set ”, que es un archivo de configuración de MPTools . Lo abriremos con el Bloc de notas de Windows.
Con el archivo abierto haremos 2 modificaciones, la primera en el apartado “ [Función] ”, donde tenemos la configuración llamada “ ENFWTAG=1 ”, la cual debemos cambiar su nivel lógico de 1 a 0 .
La otra configuración se encuentra en la categoría “ [Opción] ”, donde agregaremos una línea de comando extra. Este comando es el siguiente: “ EnSLCMode=1 ”. Luego de esto, guardamos el archivo y volvemos a abrir MPTools.
Con MPTools abierto, podemos ver que en el apartado “ Seleccionar procedimiento ” ahora hay una opción llamada “ Forzar modo SLC ”, que debemos marcar. Pero vamos a ir con calma porque aún no hemos terminado las modificaciones. No tiene sentido intentar escribir este nuevo firmware en el SSD si este va a seguir funcionando en su modo nativo, ya sea TLC o QLC.
Ahora hemos llegado a la parte crucial que permite que todas estas modificaciones que hemos realizado sean posibles. Necesitamos tomar los archivos de inicialización de firmware y arranque de una carpeta dentro de MPTools y colocar estos archivos en otro directorio del programa.
Primero, volvemos al directorio predeterminado de MPTools y abrimos la carpeta “ Firmware ” dentro del software.
Dentro de esta carpeta, encontraremos una carpeta llamada “ 2259 ”, que hace referencia al controlador SM2259XT2 de este SSD. Dentro de esta carpeta, debería haber otra carpeta llamada “ IMN48 ” junto con un archivo de configuración y un archivo de parámetros.
Una vez más entramos en esta carpeta IMN48 , donde nos encontraremos con numerosos archivos y carpetas.
Avanzamos y abramos la carpeta “ 00 ”, luego seleccionemos todos los archivos y carpetas dentro de la carpeta “ 00 ”.
Copiaremos (no cortaremos) a la carpeta anterior, la carpeta “ 00 ” , que debería verse como la siguiente imagen:
Y luego debemos ingresar a la carpeta “ XT2 ” y copiar este único archivo dentro de ella llamado “ BootISP2259.bin ” a este directorio “ 00 ” como se muestra en la siguiente imagen.
A continuación, copiaremos todos estos archivos de la carpeta y los pegaremos en el directorio anterior “ 2259 ” como se muestra en la siguiente imagen:
ES IMPORTANTE TENGA EN CUENTA QUE ESTE PROCEDIMIENTO CON ESTOS ARCHIVOS ES PARA ESTE KIT DE SM2259XT2 + NANDS N48R.
OTROS SSD CON DISTINTAS NAND SIGUEN EL MISMO PROCEDIMIENTO, PERO CON DISTINTOS NOMBRES DE CARPETA. LAS CARPETAS N48 SE NOMBRARÁN SEGÚN EL FABRICANTE DE LA NAND, COMO SE MUESTRA EN EL SIGUIENTE EJEMPLO DE UN SSD CON CONTROLADOR SM2259XT2 + NAND KIOXIA BiCS5PD: Es posible que algunos modelos NAND no sean 100 % compatibles. Hasta ahora, solo he hecho pruebas con NAND Intel y Micron.
Teniendo esto claro, ahora volvemos al programa MPTools , vamos a Parameter novamente y vamos a comprobar todas las configuraciones anteriores para ver si aún están aplicadas.
Si todo está correcto, vamos al apartado de “ Test ” al lado de “ Parámetros ”, que es la pantalla principal del programa. Ahora debemos poner el SSD en modo ROM. Cerramos el software nuevamente.
¿CUÁNTO AUMENTÓ LA RESISTENCIA?Para calcular la durabilidad con precisión, necesitamos la siguiente información:
Factor de amplificación de escritura
NAND: Ciclo de programación/borrado
Capacidad de SSD
Con estos 3 parámetros podemos tener una idea básica de TBW (Terabytes escritos), pero recordemos que es un valor aproximado. Para un cálculo más preciso sería necesario seguir los parámetros JEDEC JESD218A , que incluye parámetros más complicados como la Eficiencia de nivelación del desgaste ( WLE ).
Utilizando este cálculo básico con el SSD en su modo por defecto, vemos que tiene un TBW de 120TB , con un Ciclo de Programación/Borrado de estas NAND Media Grade N48R de alrededor de 900 PEC . ¿Y cómo sé esto? He conseguido acceder a la hoja de datos de las NAND. Teniendo esto en cuenta, podemos llegar a la siguiente conclusión, considerando el cálculo:
120 TB (TBW) = (900 PEC x 0,5 TB)
———————-
X (WAF)
X = 3,75 WAFVemos que en base a esto el WAF del SSD en su forma nativa sería bastante alto, en el rango de 3.75, cuando se probó en escenarios prácticos estuvo cerca de 3.8 WAF.
Ahora, en modo pSLC, los parámetros cambian. La NAND de este Die puede soportar hasta 60.000 ciclos P/E según la hoja de datos, y su capacidad cae a 0,12 TB (120 GB). Cuando probé el SSD al azar, noté que su WAF estaba por debajo de 2, lo que mejoró significativamente.
X TB (TBW) = (60.000 PEC x 0,12 TB)
———————-
1,8 (WAF)
X = 4000 TB (TBW)Vemos que el TBW ha aumentado drásticamente, de 120 TB (500 GB QLC) a 4000 TB (120 GB pSLC), lo que supone un aumento de más del 3333 %, más del 3000 por ciento.
BANCO DE PRUEBAS– SO: Windows 11 Pro de 64 bits (compilación: 23H2)
– CPU: Intel Core i7 13700K (5,7 GHz en todos los núcleos) (E-cores e Hyper-threading deshabilitados)
– RAM: 2 × 16 GB DDR4-3200MHz CL-16 Netac (c/ XMP)
– Placa base: MSI Z790-P PRO WIFI D4 (versión de BIOS: 7E06v18 )
– GPU: RTX 4060 Galax 1-Click OC (controladores: 537.xx)
– (Unidad del SO): SSD Solidigm P44 Pro de 2 TB (firmware: 001C )
– SSD DUT: SSD BX500 “SLC-Test” de 2 TB (firmware: mi firmware personalizado )
– Controlador del chipset Intel Z790: 10.1.19376.8374
– Windows: indexación deshabilitada para evitar afectar los resultados de la prueba. – Windows: actualizaciones de
Windows deshabilitadas para evitar afectar los resultados de la prueba
. – Windows: la mayoría de las aplicaciones de Windows deshabilitadas para ejecutarse en segundo plano.
– Arranque de Windows: imagen limpia solo con controladores
– Prueba de caché pSLC: el SSD se enfría con ventiladores para evitar la limitación térmica, lo que garantiza que no interfiera con los resultados de la prueba.
– Windows: antivirus deshabilitado para minimizar la variación en cada ronda.
– SSD DUT: se utilizan como unidad secundaria, con un 0 % de espacio utilizado, y otras pruebas se realizan con un 50 % de espacio utilizado para representar un escenario realista.
– Quarch PPM QTL1999 – Prueba de consumo de energía: se realiza con tres parámetros: inactivo, donde la unidad se deja como secundaria, y después de un período de inactividad, se realiza una prueba de escritura de una hora y se registra el consumo de energía promedio
APORTES A PROYECTOS COMO ESTE EN EL FUTURO
Si te ha gustado este artículo y te gustaría ver más artículos como este, te dejaré un enlace a continuación donde podrás contribuir directamente. En el futuro, tengo pensado traer una comparación que muestre la diferencia en los tamaños de caché de SLC, la transformación de un SSD QLC o TLC en SLC, entre muchos otros temas.
Paypal – Gabrielcariocapfz@hotmail.com
MARCA DE DISCO DE CRISTAL
Realizamos pruebas sintéticas secuenciales y aleatorias con las siguientes configuraciones:
Secuencial: 2x 1 GiB (bloques 1 MiB) 8 colas 1 hilo
Aleatorio: 2x 1 GiB (bloques de 4 KiB) 1 cola 1/2/4/8/16 subprocesos
VÍDEO TUTORIAL DEL PROCESO