¡Adiós cabezas lectoras! O como funciona la memoria flash

Hola geektimes! A menudo hablamos sobre los beneficios de las SSD, desacreditamos los mitos sobre las unidades de estado sólido, y recientemente incluso fuimos a producción . Pero, ¿cómo funciona, de hecho, la memoria flash? ¿Cuál es la diferencia entre los diferentes tipos de NAND? Todos aquellos que deseen comprender estos temas son bienvenidos a cat.


Mirar hacia el pasado


Antes de comenzar nuestra conversación, recordemos brevemente los discos duros. Como sabes, este último almacena información en varias placas magnéticas, que popularmente se llaman platos. De forma simplificada, un actuador con cabezales de lectura recibe información y, para completar los procesos de lectura / escritura, el disco gira todo el tiempo. No tiene mucho sentido quedarse aquí por mucho tiempo, pero es importante captar el punto.

Dado que el bloque de cabezales de disco debe coincidir con un área determinada (pista) para leer o escribir datos, y el disco gira constantemente, toma algún tiempo antes de que puedan acceder a la información y el sector deseado estará debajo de la cabeza, especialmente si las solicitudes son caóticas. Aunque el retraso del HDD se mide en milisegundos, esto es suficiente para hacer que la CPU espere, cuyo retraso se mide en nanosegundos. En un milisegundo, un millón de nanosegundos, y en promedio, el disco duro necesita de 10 a 15 milisegundos para buscar información y comenzar a leerla. Sí, ahora hay soluciones cuya velocidad de rotación alcanza 15 mil revoluciones por minuto, pero incluso el HDD más rápido no será tan rápido como nos gustaría.

Poco de teoría


Quizás usted y yo estaríamos contentos con discos duros "muy" rápidos (como dijo Henry Ford: "si le preguntara a la gente qué quieren, me pedirían que creara caballos rápidos"), pero maneje fabricantes, entre los cuales está el suyo humilde servidor, el beneficio no se detiene . Aparecieron SSD (unidades de estado sólido o unidades de estado sólido), donde la información se almacena no en discos giratorios, sino que usa memoria flash NAND. Nos detendremos en ello en detalle.

En el caso de NAND, la información se almacena en una matriz de celdas de memoria: estos son transistores con una puerta flotante (puerta flotante). Dependiendo de la dirección del voltaje, los electrones se mueven entre la puerta de control y el canal NAND.

Tan pronto como se aplica voltaje a la puerta de control, los electrones comienzan a ser atraídos hacia arriba: el campo eléctrico resultante los ayuda a alcanzar la puerta flotante, superando un obstáculo hecho de óxido. Este último actúa como un aislante, ya que es gracias a él que los electrones no se mueven más allá de la puerta flotante. Así es como ocurre la programación celular.


El proceso de borrar la celda se ve exactamente lo contrario: el voltaje se aplica al canal, los electrones se mueven desde la puerta flotante a través del óxido hasta la conexión a tierra de la puerta de control.

Una celda con un solo transistor funciona de la siguiente manera. Dependiendo de la presencia o ausencia de carga en una puerta flotante, el estado del transistor se determina si está abierto o cerrado. Cuando se considera el suministro de voltaje a la puerta de control como la inicialización de la celda de memoria, se puede juzgar la presencia o ausencia de carga en la puerta flotante por el voltaje entre la fuente y el drenaje. Si coloca un electrón en una puerta flotante y aplica voltaje a la puerta de control, el transistor se cerrará. Obtenemos una celda de memoria que puede almacenar un bit. Cuando se usa el método de inyección de electrones calientes, se aplica voltaje al drenaje y a la puerta de control, lo que conduce al movimiento de electrones a través de la barrera.


Una celda con dos transistores es una modificación de un solo transistor. En este caso, el transistor (normal) aísla la línea de bits del transistor de puerta flotante.

La carga se elimina de la puerta flotante aplicando un voltaje negativo a la puerta de control (voltaje positivo en la fuente). Como resultado, tenemos el túnel Fowler - Nordheim: los electrones se mueven (túnel) desde la región de la puerta flotante hasta la fuente.

Ciclo de reescritura. Antes de programar una nueva celda con electrones nuevos, primero debe borrar las antiguas. En la práctica, la mayoría de los usuarios no tienen que prestar atención al número de ciclos de reescritura, ya que el recurso SSD es lo suficientemente fácil para cualquier cantidad de datos grabados. Es cierto, hay excepciones molestas, pero es por esoGarantía del fabricante .

En las SSD, la memoria flash consta de bloques, mientras que la última consta de páginas. La información se escribe en estas páginas, y para actualizar los datos, no es suficiente reescribir páginas irrelevantes. Entonces, primero los datos se mueven de las páginas antiguas a las nuevas, luego se envían a otro bloque, y solo después de eso se borra el bloque con los datos irrelevantes. Tan pronto como se borre el bloque, será libre de escribir nuevos datos. Un proceso tan complicado: en el formato visual, parece mucho más comprensible.


Obviamente, la ausencia de discos móviles (y de hecho partes móviles) es una de las principales ventajas del SSD sobre los discos duros, y esto es lo que permite que los SSD trabajen a velocidades significativamente más altas que los HDD. Para mayor claridad, aquí hay una tabla resumen sobre el tiempo de retraso de varios tipos de NAND y HDD.


SLC, MLC, TLC no son solo abreviaturas, sino que indican el número de bits en cada celda. Para SLC (Single), este es un bit, para MLC (Multi), dos bits, para TLC (Triple), respectivamente, tres bits. Debido a esto, el MLC almacena el doble de información que el SLC, y esto a pesar del hecho de que la cantidad de células es la misma. En general, el principio de funcionamiento para estos tipos de NAND es el mismo, lo que no se puede decir sobre la resistencia.

Durante un período de tiempo, la estructura física de las células puede estar sujeta al desgaste debido a una disminución en la capa de óxido causada por la actividad de los electrones. Como resultado, los electrones acumulan una carga negativa y se atascan, se aplica un voltaje más alto y la capa de óxido disminuye nuevamente. Tal círculo vicioso resulta.

SLC, MLC y TLC difieren en resistencia. Si, por ejemplo, tomamos un cristal NAND con una densidad de 16 Gbit, obtenemos un SLC de 16 Gbit a pesar del hecho de que hay un bit en cada celda. En consecuencia, para MLC será de 32 Gbps, y para TLC - 48 Gbps. Es cierto que en el último caso, el cristal NAND todavía tiene que cortarse, como resultado, se obtiene el equivalente de 32 Gbit para MLC. ¿Quién crees que es capaz de soportar los mayores cambios de voltaje?

Con dos niveles (0.1), SLC tiene el mejor indicador para este parámetro: este tipo de NAND soporta una amplia gama de fluctuaciones de voltaje. Con niveles crecientes, este rango disminuye, por lo tanto, TLC con sus 8 niveles y 3 bits en una celda tiene el menor número de ciclos de reescritura.

Dado que los problemas con la reducción de chips han sido durante mucho tiempo un problema, 3D NAND está reemplazando la moderna memoria flash NAND plana. Es menos susceptible al desgaste debido a la ausencia de la necesidad de un alto voltaje al escribir datos en la celda. Los fabricantes están desarrollando activamente esta área y dan sus propios nombres de tecnología (para Samsung - 3D V-NAND, para Toshiba - BiCS 3D NAND, etc.). El punto es que en este caso obtenemos un cilindro con una capa superior en el papel de un obturador de control, mientras que la capa interna actúa como un aislante. Las celdas están ubicadas una debajo de la otra, formando una pila. La lógica de control se encuentra debajo de la matriz de memoria, el área del chip se libera, donde posteriormente encuentran el "hogar" de la celda de memoria.



Un poco de practica


No podemos observar todo lo anterior por nuestra cuenta (al menos sin equipo especial). Y así es como todo se ocupa de la fabricación de placas de circuito impreso, soldadura, instalación de chips y microcircuitos:


OCZ Trion 150

Aquí vemos tanto memoria flash como microcircuitos de búfer y un controlador cuidadosamente cubierto con una banda de goma térmica. Sí, el tema aquí no es sobre el dispositivo SSD, sino el trabajo de la memoria flash, pero sin un controlador no hay ningún lugar. Y aquí está el por qué.

El controlador distribuye el registro a las celdas de memoria flash, lee desde la memoria y las celdas TRIM (más sobre eso más adelante); en general, la frase "no tenemos insustituible" no se trata de él. Es él quien controla la transferencia de datos, tanto en SATA como en PCIe, distribuye información en NAND para un menor desgaste. Sin la ayuda del firmware, por supuesto, no se puede hacer aquí.

El controlador está conectado a la memoria flash en paralelo y, como puede ver, desempeña una de las funciones clave. El Trion 150, por ejemplo, usa el controlador Toshiba, mientras que el Vertex 460A 0 ya tiene el Barefoot 3 M10 de OCZ.


Ah, sí, casi me olvido del caché. Es un compañero de controlador confiable: tan pronto como se da el comando para cambiar el archivo al SSD, el bloque ingresa primero en la memoria caché, donde tiene lugar el cambio. En este momento, se eliminan datos irrelevantes en NAND y el controlador encuentra dónde colocar la información que se colocó en el búfer. El principio principal es elegir una celda con el menor desgaste, que es lo que hace el controlador, después de su comando, los datos modificados se envían a una nueva "casa".

Ahora, la mayoría de los SSD, incluidos los de OCZ, también admiten TRIM, una tecnología especial que observa datos irrelevantes. En este caso, la información innecesaria no se graba en otros bloques de memoria, lo que afecta favorablemente no solo el número de ciclos de reescritura, sino también la velocidad de grabación en sí.

Momento de la filosofía


Obviamente, en comparación con los discos duros convencionales, NAND es un gran avance, pero también tiene sus propios problemas y desventajas. Sí, NAND tiene grandes perspectivas en términos de capacidad de almacenamiento, pero el precio por gigabyte deja mucho que desear. Es poco probable que en el futuro cercano este parámetro pueda "capturar" discos duros.

Mediante el uso de cachés SLC y estándares de datos rápidos, los SSD se han vuelto aún más productivos, tienen un buen ancho de banda. Sin embargo, a largo plazo, se supone que vendrá algo más para reemplazar a NAND. Y, de hecho, 3D NAND - la primera "campana", que indica esto.

Ahora NAND está ciertamente a caballo, dicen el verdadero rey de la colina. Y seguirá siendo este rey durante al menos los próximos 4-5 años.

Source: https://habr.com/ru/post/es392891/


All Articles