La memoria flash es un medio de almacenamiento electrónico no volátil de memoria de computadora que se puede borrar y reprogramar eléctricamente. Los dos tipos principales de memoria flash, flash NOR y flash NAND , reciben el nombre de las puertas lógicas NOR y NAND . Ambos utilizan el mismo diseño de celda, que consta de MOSFET de puerta flotante . Se diferencian a nivel de circuito dependiendo de si el estado de la línea de bits o de las líneas de palabras es alto o bajo: en NAND flash, la relación entre la línea de bits y las líneas de palabras se asemeja a una puerta NAND; en flash NOR, se parece a una puerta NOR.
La memoria flash, un tipo de memoria de puerta flotante , fue inventada por Toshiba en 1980 y se basa en la tecnología EEPROM . Toshiba comenzó a comercializar memorias flash en 1987. [1] Las EPROM debían borrarse por completo antes de poder reescribirlas. Sin embargo, la memoria flash NAND se puede borrar, escribir y leer en bloques (o páginas), que generalmente son mucho más pequeños que todo el dispositivo. La memoria flash NOR permite escribir una sola palabra de máquina (en una ubicación borrada) o leerla de forma independiente. Un dispositivo de memoria flash normalmente consta de uno o más chips de memoria flash (cada uno con muchas celdas de memoria flash), junto con un chip controlador de memoria flash independiente .
El tipo NAND se encuentra principalmente en tarjetas de memoria , unidades flash USB , unidades de estado sólido (las producidas desde 2009), teléfonos básicos , teléfonos inteligentes y productos similares, para el almacenamiento y transferencia de datos en general. La memoria flash NAND o NOR también se utiliza a menudo para almacenar datos de configuración en productos digitales, una tarea que antes era posible gracias a EEPROM o RAM estática alimentada por batería . Una desventaja clave de la memoria flash es que sólo puede soportar una cantidad relativamente pequeña de ciclos de escritura en un bloque específico. [2]
NOR flash es conocido por sus capacidades de acceso aleatorio directo, lo que lo hace apto para ejecutar código directamente. Su arquitectura permite el acceso a bytes individuales, lo que facilita velocidades de lectura más rápidas en comparación con la memoria flash NAND. La memoria flash NAND opera con una arquitectura diferente, basándose en un enfoque de acceso en serie. Esto hace que NAND sea adecuada para el almacenamiento de datos de alta densidad, pero menos eficiente para tareas de acceso aleatorio. La memoria flash NAND se emplea a menudo en escenarios donde el almacenamiento rentable y de alta capacidad es crucial, como en unidades USB, tarjetas de memoria y unidades de estado sólido ( SSD ).
El principal diferenciador radica en sus casos de uso y estructuras internas. NOR flash es óptimo para aplicaciones que requieren acceso rápido a bytes individuales, como en sistemas integrados para la ejecución de programas. La memoria flash NAND, por otro lado, brilla en escenarios que exigen almacenamiento rentable y de alta capacidad con acceso secuencial a los datos.
La memoria flash [3] se utiliza en computadoras , PDA , reproductores de audio digitales , cámaras digitales , teléfonos móviles , sintetizadores , videojuegos , instrumentación científica , robótica industrial y electrónica médica . La memoria flash tiene un tiempo de acceso de lectura rápido , pero no es tan rápida como la RAM o la ROM estática. En dispositivos portátiles, se prefiere utilizar memoria flash debido a su resistencia a los golpes mecánicos, ya que las unidades mecánicas son más propensas a sufrir daños mecánicos. [4]
Debido a que los ciclos de borrado son lentos, los grandes tamaños de bloque utilizados en el borrado de memoria flash le dan una ventaja de velocidad significativa sobre la EEPROM no flash al escribir grandes cantidades de datos. A partir de 2019, la memoria flash cuesta mucho menos que la EEPROM programable por bytes y se había convertido en el tipo de memoria dominante dondequiera que un sistema requiriera una cantidad significativa de almacenamiento de estado sólido[update] no volátil . Sin embargo, las EEPROM todavía se utilizan en aplicaciones que requieren sólo pequeñas cantidades de almacenamiento, como en la detección de presencia en serie . [5] [6]
Los paquetes de memoria flash pueden utilizar el apilamiento de matrices con vías de silicio y varias docenas de capas de celdas 3D TLC NAND (por matriz) simultáneamente para lograr capacidades de hasta 1 tebibyte por paquete utilizando 16 matrices apiladas y un controlador flash integrado como una matriz separada en el interior. el paquete. [7] [8] [9] [10]
Los orígenes de la memoria flash se remontan al desarrollo del MOSFET de puerta flotante (FGMOS) , también conocido como transistor de puerta flotante. [11] [12] El MOSFET (transistor de efecto de campo semiconductor de óxido metálico) original , también conocido como transistor MOS, fue inventado por el ingeniero egipcio Mohamed M. Atalla y el ingeniero coreano Dawon Kahng en los Laboratorios Bell en 1959. [13 ] Kahng desarrolló una variación, el MOSFET de puerta flotante, con el ingeniero taiwanés-estadounidense Simon Min Sze en los Laboratorios Bell en 1967. [14] Propusieron que podría usarse como celdas de memoria de puerta flotante para almacenar una forma de Memoria programable de sólo lectura ( PROM ) que es no volátil y reprogramable. [14]
Los primeros tipos de memoria de puerta flotante incluían EPROM (PROM borrable) y EEPROM (PROM borrable eléctricamente) en la década de 1970. [14] Sin embargo, las primeras memorias de puerta flotante requirieron que los ingenieros construyeran una celda de memoria para cada bit de datos, lo que resultó ser engorroso, [15] lento, [16] y costoso, restringiendo la memoria de puerta flotante a aplicaciones de nicho en el Década de 1970, como el equipamiento militar y los primeros teléfonos móviles experimentales . [11]
Fujio Masuoka , mientras trabajaba para Toshiba , propuso un nuevo tipo de memoria de puerta flotante que permitía borrar secciones enteras de memoria de forma rápida y sencilla, aplicando un voltaje a un solo cable conectado a un grupo de celdas. [11] Esto llevó a Masuoka a la invención de la memoria flash en Toshiba en 1980. [15] [17] [18] Según Toshiba, el nombre "flash" fue sugerido por el colega de Masuoka, Shōji Ariizumi, porque el proceso de borrado de la memoria El contenido le recordó el flash de una cámara . [19] Masuoka y sus colegas presentaron la invención del flash NOR en 1984, [20] [21] y luego el flash NAND en la Reunión Internacional de Dispositivos Electrónicos (IEDM) IEEE 1987 celebrada en San Francisco. [22]
Toshiba lanzó comercialmente la memoria flash NAND en 1987. [1] [14] Intel Corporation introdujo el primer chip flash comercial tipo NOR en 1988. [23] La memoria flash basada en NOR tiene tiempos de borrado y escritura prolongados, pero proporciona direcciones completas y buses de datos . permitiendo el acceso aleatorio a cualquier ubicación de la memoria . Esto lo convierte en un reemplazo adecuado para los chips de memoria de solo lectura (ROM) más antiguos, que se utilizan para almacenar código de programa que rara vez necesita actualizarse, como el BIOS de una computadora o el firmware de los decodificadores . Su resistencia puede ser desde tan solo 100 ciclos de borrado para una memoria flash en chip, [24] hasta 10.000 o 100.000 ciclos de borrado más típicos, hasta 1.000.000 de ciclos de borrado. [25] El flash basado en NOR fue la base de los primeros medios extraíbles basados en flash; CompactFlash se basó originalmente en él, aunque las tarjetas posteriores pasaron a una memoria flash NAND menos costosa.
La memoria flash NAND ha reducido los tiempos de borrado y escritura y requiere menos área de chip por celda, lo que permite una mayor densidad de almacenamiento y un menor costo por bit que la memoria flash NOR. Sin embargo, la interfaz de E/S de NAND flash no proporciona un bus de direcciones externo de acceso aleatorio. Más bien, los datos deben leerse por bloques, con tamaños de bloque típicos de cientos a miles de bits. Esto hace que la memoria flash NAND no sea adecuada como reemplazo directo de la ROM del programa, ya que la mayoría de los microprocesadores y microcontroladores requieren acceso aleatorio a nivel de bytes. En este sentido, la memoria flash NAND es similar a otros dispositivos de almacenamiento de datos secundarios , como discos duros y medios ópticos , y por lo tanto es muy adecuada para su uso en dispositivos de almacenamiento masivo, como tarjetas de memoria y unidades de estado sólido (SSD). Por ejemplo, los SSD almacenan datos utilizando múltiples chips de memoria flash NAND.
El primer formato de tarjeta de memoria extraíble basado en NAND fue SmartMedia , lanzado en 1995. Le siguieron muchos otros, incluidos MultiMediaCard , Secure Digital , Memory Stick y xD-Picture Card .
Una nueva generación de formatos de tarjetas de memoria, incluidos RS-MMC , miniSD y microSD , presentan factores de forma extremadamente pequeños. Por ejemplo, la tarjeta microSD tiene una superficie de poco más de 1,5 cm 2 , con un grosor inferior a 1 mm.
La memoria flash NAND ha alcanzado niveles significativos de densidad de memoria como resultado de varias tecnologías importantes que se comercializaron entre finales de la década de 2000 y principios de la de 2010. [26]
La memoria flash NOR fue el tipo de memoria Flash más común vendida hasta 2005, cuando la memoria flash NAND superó a la memoria flash NOR en ventas. [27]
La tecnología de celda multinivel (MLC) almacena más de un bit en cada celda de memoria . NEC demostró la tecnología de celdas multinivel (MLC) en 1998, con un chip de memoria flash de 80 Mb que almacena 2 bits por celda. [28] STMicroelectronics también demostró MLC en 2000, con un chip de memoria flash NOR de 64 MB . [29] En 2009, Toshiba y SanDisk introdujeron chips flash NAND con tecnología QLC que almacenan 4 bits por celda y tienen una capacidad de 64 Gbit. [30] [31] Samsung Electronics introdujo la tecnología de celda de triple nivel (TLC) que almacena 3 bits por celda y comenzó a producir en masa chips NAND con tecnología TLC en 2010. [32]
La tecnología Charge Trap Flash (CTF) reemplaza la compuerta flotante de polisilicio, que está intercalada entre un óxido de compuerta de bloqueo arriba y un óxido de túnel debajo, con una capa de nitruro de silicio eléctricamente aislante; la capa de nitruro de silicio atrapa electrones. En teoría, CTF es menos propenso a sufrir fugas de electrones, lo que proporciona una mejor retención de datos. [33] [34] [35] [36] [37] [38]
Debido a que CTF reemplaza el polisilicio con un nitruro eléctricamente aislante, permite celdas más pequeñas y mayor resistencia (menor degradación o desgaste). Sin embargo, los electrones pueden quedar atrapados y acumularse en el nitruro, provocando su degradación. Las fugas se exacerban a altas temperaturas ya que los electrones se excitan más al aumentar la temperatura. Sin embargo, la tecnología CTF todavía utiliza un óxido de túnel y una capa de bloqueo, que son los puntos débiles de la tecnología, ya que aún pueden dañarse de la forma habitual (el óxido de túnel puede degradarse debido a campos eléctricos extremadamente altos y la capa de bloqueo debido al ánodo). Inyección de agujero caliente (AHHI) [39] [40] .
La degradación o el desgaste de los óxidos es la razón por la que la memoria flash tiene una resistencia limitada y la retención de datos disminuye (el potencial de pérdida de datos aumenta) a medida que aumenta la degradación, ya que los óxidos pierden sus características de aislamiento eléctrico a medida que se degradan. Los óxidos deben aislar los electrones para evitar fugas que provocarían la pérdida de datos.
En 1991, los investigadores de NEC , entre ellos N. Kodama, K. Oyama y Hiroki Shirai, describieron un tipo de memoria flash con un método de trampa de carga. [41] En 1998, Boaz Eitan de Saifun Semiconductors (posteriormente adquirida por Spansion ) patentó una tecnología de memoria flash llamada NROM que aprovechaba una capa de captura de carga para reemplazar la puerta flotante convencional utilizada en los diseños de memoria flash convencionales. [42] En 2000, un equipo de investigación de Advanced Micro Devices (AMD) dirigido por Richard M. Fastow, el ingeniero egipcio Khaled Z. Ahmed y el ingeniero jordano Sameer Haddad (quien más tarde se unió a Spansion) demostró un mecanismo de captura de carga para celdas de memoria flash NOR. . [43] CTF fue posteriormente comercializado por AMD y Fujitsu en 2002. [44] La tecnología 3D V-NAND (NAND vertical) apila celdas de memoria flash NAND verticalmente dentro de un chip utilizando tecnología 3D Charge Trap Flash (CTP). La tecnología 3D V-NAND fue anunciada por primera vez por Toshiba en 2007, [45] y el primer dispositivo, con 24 capas, fue comercializado por primera vez por Samsung Electronics en 2013. [46] [47]
La tecnología de circuitos integrados 3D (3D IC) apila chips de circuitos integrados (IC) verticalmente en un único paquete de chips 3D IC. [26] Toshiba introdujo la tecnología 3D IC en la memoria flash NAND en abril de 2007, cuando debutó con un chip de memoria flash NAND integrado compatible con eMMC de 16 GB (número de producto THGAM0G7D8DBAI6, a menudo abreviado THGAM en sitios web para consumidores), que se fabricó con ocho apilados de 2 GB. Chips flash NAND. [48] En septiembre de 2007, Hynix Semiconductor (ahora SK Hynix ) introdujo la tecnología IC 3D de 24 capas, con un chip de memoria flash de 16 GB que se fabricó con 24 chips flash NAND apilados mediante un proceso de unión de oblea. [49] Toshiba también usó un IC 3D de ocho capas para su chip flash THGBM de 32 GB en 2008. [50] En 2010, Toshiba usó un IC 3D de 16 capas para su chip flash THGBM2 de 128 GB, que se fabricó con 16 circuitos integrados apilados. Fichas de 8 GB. [51] En la década de 2010, los circuitos integrados 3D tuvieron un uso comercial generalizado para la memoria flash NAND en dispositivos móviles . [26]
En 2016, Micron e Intel introdujeron una tecnología conocida como CMOS Under the Array/CMOS Under Array (CUA), Core over Periphery (COP), Periphery Under Cell (PUA) o Xtacking, [52] en la que los circuitos de control para el La memoria flash se coloca debajo o encima del conjunto de celdas de memoria flash. Esto ha permitido aumentar el número de planos o secciones que tiene un chip de memoria flash, pasando de 2 planos a 4, sin aumentar el área dedicada a los circuitos de control o periféricos. Esto aumenta el número de operaciones de E/S por chip o chip flash, pero también presenta desafíos a la hora de construir condensadores para bombas de carga utilizadas para escribir en la memoria flash. [53] [54] [55] Algunos flash dies tienen hasta 6 planos. [56]
Desde agosto de 2017, están disponibles tarjetas microSD con una capacidad de hasta 400 GB (400 mil millones de bytes). [57] [58] El mismo año, Samsung combinó el apilamiento de chips IC 3D con sus tecnologías 3D V-NAND y TLC para fabricar su chip de memoria flash KLUFG8R1EM de 512 GB con ocho chips V-NAND de 64 capas apilados. [8] En 2019, Samsung produjo un chip flash de 1024 GB , con ocho chips V-NAND de 96 capas apilados y con tecnología QLC. [59] [60]
La memoria flash almacena información en una serie de celdas de memoria hechas de transistores de puerta flotante . En los dispositivos de celda de un solo nivel (SLC), cada celda almacena solo un bit de información. Los dispositivos de celda multinivel (MLC), incluidos los dispositivos de celda de triple nivel (TLC), pueden almacenar más de un bit por celda.
La puerta flotante puede ser conductora (normalmente polisilicio en la mayoría de los tipos de memoria flash) o no conductora (como en la memoria flash SONOS ). [61]
En la memoria flash, cada celda de memoria se parece a un transistor de efecto de campo semiconductor de óxido metálico (MOSFET) estándar, excepto que el transistor tiene dos puertas en lugar de una. Las celdas pueden verse como un interruptor eléctrico en el que la corriente fluye entre dos terminales (fuente y drenaje) y es controlada por una compuerta flotante (FG) y una compuerta de control (CG). El CG es similar a la puerta de otros transistores MOS, pero debajo de este, está el FG aislado alrededor por una capa de óxido. El FG se interpone entre el CG y el canal MOSFET. Debido a que el FG está aislado eléctricamente por su capa aislante, los electrones colocados sobre él quedan atrapados. Cuando el FG se carga con electrones, esta carga protege el campo eléctrico del CG, aumentando así el voltaje umbral ( VT ) de la celda. Esto significa que el V T de la celda se puede cambiar entre el voltaje umbral de FG sin carga (V T1 ) y el voltaje umbral de FG cargado más alto (V T2 ) cambiando la carga de FG. Para leer un valor de la celda, se aplica al CG un voltaje intermedio (V I ) entre V T1 y V T2 . Si el canal conduce en V I , el FG debe estar descargado (si estuviera cargado no habría conducción porque V I es menor que V T2 ). Si el canal no conduce en el VI , indica que el FG está cargado. El valor binario de la celda se detecta determinando si hay corriente fluyendo a través del transistor cuando se afirma VI en el CG . En un dispositivo de celda multinivel, que almacena más de un bit por celda, se detecta la cantidad de flujo de corriente (en lugar de simplemente su presencia o ausencia), para determinar con mayor precisión el nivel de carga en el FG.
Los MOSFET de puerta flotante se denominan así porque hay una capa de óxido de túnel eléctricamente aislante entre la puerta flotante y el silicio, por lo que la puerta "flota" sobre el silicio. El óxido mantiene los electrones confinados en la puerta flotante. La degradación o el desgaste (y la resistencia limitada de la memoria Flash de la compuerta flotante) se produce debido al campo eléctrico extremadamente alto (10 millones de voltios por centímetro) que experimenta el óxido. Estas densidades de alto voltaje pueden romper los enlaces atómicos con el tiempo en el óxido relativamente delgado, degradando gradualmente sus propiedades de aislamiento eléctrico y permitiendo que los electrones queden atrapados y pasen libremente (fugas) desde la puerta flotante hacia el óxido, lo que aumenta la probabilidad de pérdida de datos. ya que los electrones (cuya cantidad se utiliza para representar diferentes niveles de carga, cada uno asignado a una combinación diferente de bits en MLC Flash) normalmente están en la puerta flotante. Esta es la razón por la que la retención de datos disminuye y el riesgo de pérdida de datos aumenta a medida que aumenta la degradación. [62] [63] [37] [64] [65] El óxido de silicio de una celda se degrada con cada operación de borrado. La degradación aumenta la cantidad de carga negativa en la celda con el tiempo debido a los electrones atrapados en el óxido y anula parte del voltaje de la puerta de control; esto con el tiempo también hace que el borrado de la celda sea más lento, para mantener el rendimiento y la confiabilidad del chip NAND. , la celda debe retirarse del uso. La resistencia también disminuye con el número de bits de una celda. Con más bits en una celda, el número de estados posibles (cada uno representado por un nivel de voltaje diferente) en una celda aumenta y es más sensible a los voltajes utilizados para la programación. Los voltajes se pueden ajustar para compensar la degradación del óxido de silicio y, a medida que aumenta el número de bits, también aumenta el número de estados posibles y, por lo tanto, la celda es menos tolerante a los ajustes en los voltajes de programación, porque hay menos espacio entre los niveles de voltaje. que definen cada estado en una celda. [66]
El proceso de mover electrones desde la puerta de control hacia la puerta flotante se llama túnel de Fowler-Nordheim y cambia fundamentalmente las características de la celda al aumentar el voltaje umbral del MOSFET. Esto, a su vez, cambia la corriente de fuente de drenaje que fluye a través del transistor para un voltaje de puerta determinado, que en última instancia se utiliza para codificar un valor binario. El efecto túnel de Fowler-Nordheim es reversible, por lo que se pueden agregar o quitar electrones de la puerta flotante, procesos tradicionalmente conocidos como escritura y borrado. [67]
Más de la mitad de la energía utilizada por un chip flash NAND de 1,8 V se pierde en la propia bomba de carga. Dado que los convertidores elevadores son inherentemente más eficientes que las bombas de carga, los investigadores que desarrollan SSD de bajo consumo han propuesto volver a los voltajes de suministro duales Vcc/Vpp utilizados en todos los primeros chips flash, impulsando el alto voltaje Vpp para todos los chips flash en un SSD con un solo Convertidor de refuerzo externo compartido. [68] [69] [70] [71] [72] [73] [74] [75]
En naves espaciales y otros entornos de alta radiación, la bomba de carga en el chip es la primera parte del chip flash que falla, aunque las memorias flash seguirán funcionando (en modo de sólo lectura) a niveles de radiación mucho más altos. [76]
En flash NOR, cada celda tiene un extremo conectado directamente a tierra y el otro extremo conectado directamente a una línea de bits. Esta disposición se llama "flash NOR" porque actúa como una puerta NOR: cuando una de las líneas de palabras (conectada al CG de la celda) se eleva, el transistor de almacenamiento correspondiente actúa para bajar la línea de bits de salida. NOR flash sigue siendo la tecnología elegida para aplicaciones integradas que requieren un dispositivo de memoria discreto no volátil. [ cita necesaria ] Las bajas latencias de lectura características de los dispositivos NOR permiten tanto la ejecución directa de código como el almacenamiento de datos en un solo producto de memoria. [77]
Una celda flash NOR de un solo nivel en su estado predeterminado es lógicamente equivalente a un valor binario "1", porque la corriente fluirá a través del canal bajo la aplicación de un voltaje apropiado a la puerta de control, de modo que el voltaje de la línea de bits se reduce. Una celda flash NOR se puede programar o establecer en un valor binario "0" mediante el siguiente procedimiento:
Para borrar una celda flash NOR (restablecerla al estado "1"), se aplica un voltaje grande de polaridad opuesta entre el CG y el terminal fuente, extrayendo los electrones del FG a través del túnel Fowler-Nordheim (túnel FN). [78] Esto se conoce como borrado de fuente de puerta negativa. Las memorias NOR más nuevas se pueden borrar mediante el borrado del canal de puerta negativo, que desvía la línea de palabras en un bloque de celdas de memoria NOR y el pozo P del bloque de celdas de memoria para permitir que se realice el túnel FN, borrando el bloque de celdas. Las memorias más antiguas utilizaban el borrado de fuente, en el que se aplicaba un alto voltaje a la fuente y luego los electrones del FG se movían a la fuente. [79] [80] Los chips de memoria flash NOR modernos se dividen en segmentos de borrado (a menudo llamados bloques o sectores). La operación de borrado sólo se puede realizar por bloques; todas las celdas de un segmento de borrado deben borrarse juntas. [81] Sin embargo, la programación de celdas NOR generalmente se puede realizar un byte o palabra a la vez.
La memoria flash NAND también utiliza transistores de puerta flotante , pero están conectados de una manera que se asemeja a una puerta NAND : varios transistores se conectan en serie y la línea de bits se baja solo si todas las líneas de palabras se colocan en alto (por encima de los transistores). VT ) . Luego, estos grupos se conectan mediante algunos transistores adicionales a una matriz en línea de bits estilo NOR de la misma manera que los transistores individuales se conectan en una memoria flash NOR.
En comparación con la memoria flash NOR, la sustitución de transistores individuales por grupos conectados en serie añade un nivel adicional de direccionamiento. Mientras que NOR flash puede direccionar la memoria por página y luego palabra, NAND flash puede direccionarla por página, palabra y bit. El direccionamiento a nivel de bits se adapta a aplicaciones de bits en serie (como la emulación de disco duro), que acceden sólo a un bit a la vez. Las aplicaciones de ejecución in situ , por otro lado, requieren que se acceda simultáneamente a cada bit de una palabra. Esto requiere direccionamiento a nivel de palabra. En cualquier caso, los modos de direccionamiento de bits y palabras son posibles con flash NOR o NAND.
Para leer datos, primero se selecciona el grupo deseado (de la misma manera que se selecciona un solo transistor de una matriz NOR). A continuación, la mayoría de las líneas de palabras se elevan por encima de V T2 , mientras que una de ellas se eleva hasta VI . El grupo en serie conducirá (y bajará la línea de bits) si el bit seleccionado no ha sido programado.
A pesar de los transistores adicionales, la reducción de cables de tierra y líneas de bits permite un diseño más denso y una mayor capacidad de almacenamiento por chip. (Los cables de tierra y las líneas de bits son en realidad mucho más anchos que las líneas de los diagramas). Además, generalmente se permite que la memoria flash NAND contenga una cierta cantidad de fallas (se espera que la memoria flash NOR, como se usa para una ROM BIOS , sea sin fallos). Los fabricantes intentan maximizar la cantidad de almacenamiento utilizable reduciendo el tamaño de los transistores o las celdas; sin embargo, la industria puede evitar esto y lograr mayores densidades de almacenamiento por chip utilizando 3D NAND, que apila celdas una encima de otra.
Las celdas flash NAND se leen analizando su respuesta a varios voltajes. [64]
NAND flash utiliza inyección de túnel para escribir y liberación de túnel para borrar. La memoria flash NAND forma el núcleo de los dispositivos de almacenamiento USB extraíbles conocidos como unidades flash USB , así como de la mayoría de los formatos de tarjetas de memoria y unidades de estado sólido disponibles en la actualidad.
La estructura jerárquica de NAND flash comienza a nivel de celda que establece cadenas, luego páginas, bloques, planos y, finalmente, un troquel. Una cadena es una serie de celdas NAND conectadas en las que la fuente de una celda está conectada al drenaje de la siguiente. Dependiendo de la tecnología NAND, una cadena normalmente consta de 32 a 128 celdas NAND. Las cadenas se organizan en páginas que luego se organizan en bloques en los que cada cadena está conectada a una línea separada llamada línea de bits. Todas las celdas con la misma posición en la cadena están conectadas a través de las puertas de control mediante una línea de palabra. Un avión contiene una cierta cantidad de bloques que están conectados a través de la misma línea de bits. Un chip flash consta de uno o más planos y los circuitos periféricos necesarios para realizar todas las operaciones de lectura, escritura y borrado.
La arquitectura de NAND flash significa que los datos se pueden leer y programar (escribir) en páginas, normalmente con un tamaño de entre 4 KiB y 16 KiB, pero solo se pueden borrar a nivel de bloques completos que constan de varias páginas. Cuando se borra un bloque, todas las celdas se establecen lógicamente en 1. Los datos solo se pueden programar en una pasada a una página en un bloque que se borró. Cualquier celda que se haya establecido en 0 mediante programación solo se puede restablecer a 1 borrando todo el bloque. Esto significa que antes de que se puedan programar nuevos datos en una página que ya contiene datos, el contenido actual de la página más los nuevos datos se deben copiar a una página nueva borrada. Si hay disponible una página borrada adecuada, los datos se pueden escribir en ella inmediatamente. Si no hay ninguna página borrada disponible, se debe borrar un bloque antes de copiar los datos a una página de ese bloque. La página anterior se marca como no válida y está disponible para borrarla y reutilizarla. [82]
La memoria NAND vertical (V-NAND) o 3D NAND apila las celdas de memoria verticalmente y utiliza una arquitectura flash de trampa de carga . Las capas verticales permiten densidades de bits de área más grandes sin requerir celdas individuales más pequeñas. [83] También se vende bajo la marca comercial BiCS Flash , que es una marca comercial de Kioxia Corporation (anteriormente Toshiba Memory Corporation). 3D NAND fue anunciado por primera vez por Toshiba en 2007. [45] V-NAND fue fabricado comercialmente por primera vez por Samsung Electronics en 2013. [46] [47] [84] [85]
V-NAND utiliza una geometría de flash de trampa de carga (que fue introducida comercialmente en 2002 por AMD y Fujitsu ) [44] que almacena carga en una película de nitruro de silicio incrustada . Una película de este tipo es más robusta contra los defectos puntuales y puede hacerse más gruesa para contener un mayor número de electrones. V-NAND envuelve una celda trampa de carga plana en una forma cilíndrica. [83] A partir de 2020, las memorias flash 3D NAND de Micron e Intel utilizan puertas flotantes; sin embargo, las memorias 3D NAND de capa Micron 128 y superiores utilizan una estructura de trampa de carga convencional, debido a la disolución de la asociación entre Micron e Intel. La trampa de carga flash 3D NAND es más delgada que la puerta flotante 3D NAND. En 3D NAND de puerta flotante, las celdas de memoria están completamente separadas entre sí, mientras que en 3D NAND con trampa de carga, los grupos verticales de celdas de memoria comparten el mismo material de nitruro de silicio. [86]
Una celda de memoria individual está formada por una capa plana de polisilicio que contiene un orificio lleno de múltiples cilindros verticales concéntricos. La superficie de polisilicio del orificio actúa como electrodo de compuerta. El cilindro de dióxido de silicio más externo actúa como dieléctrico de puerta, encerrando un cilindro de nitruro de silicio que almacena carga, encerrando a su vez un cilindro de dióxido de silicio como dieléctrico de túnel que rodea una varilla central de polisilicio conductor que actúa como canal conductor. [83]
Las celdas de memoria en diferentes capas verticales no interfieren entre sí, ya que las cargas no pueden moverse verticalmente a través del medio de almacenamiento de nitruro de silicio y los campos eléctricos asociados con las puertas están estrechamente confinados dentro de cada capa. La colección vertical es eléctricamente idéntica a los grupos conectados en serie en los que se configura la memoria flash NAND convencional. [83] También existe el apilamiento de cadenas, que construye varias matrices de memoria 3D NAND o "conectores" [87] por separado, pero apiladas juntas para crear un producto con una mayor cantidad de capas 3D NAND en un solo troquel. A menudo, se apilan dos o tres matrices. La desalineación entre bujías es del orden de 30 a 10 nm. [53] [88] [89]
El crecimiento de un grupo de células V-NAND comienza con una pila alterna de capas conductoras (dopadas) de polisilicio y capas aislantes de dióxido de silicio. [83]
El siguiente paso es formar un agujero cilíndrico a través de estas capas. En la práctica, un chip V-NAND de 128 Gbit con 24 capas de celdas de memoria requiere alrededor de 2.900 millones de agujeros de este tipo. A continuación, la superficie interna del agujero recibe múltiples recubrimientos, primero dióxido de silicio, luego nitruro de silicio y luego una segunda capa de dióxido de silicio. Finalmente, el orificio se rellena con polisilicio conductor (dopado). [83]
A partir de 2013, [update]la arquitectura flash V-NAND permite operaciones de lectura y escritura dos veces más rápidas que las NAND convencionales y puede durar hasta 10 veces más, mientras consume un 50 por ciento menos de energía. Ofrecen una densidad de bits física comparable utilizando litografía de 10 nm, pero pueden aumentar la densidad de bits hasta en dos órdenes de magnitud, dado el uso de V-NAND de hasta varios cientos de capas. [83] A partir de 2020, Samsung está desarrollando chips V-NAND con 160 capas. [90]
El costo de la oblea de una NAND 3D es comparable al de una memoria flash NAND plana reducida (32 nm o menos). [91] Sin embargo, con el escalado NAND plano deteniéndose en 16 nm, la reducción del costo por bit puede continuar con 3D NAND comenzando con 16 capas. Sin embargo, debido a la pared lateral no vertical del agujero grabado a través de las capas; incluso una ligera desviación conduce a un coste mínimo de la broca, es decir, una regla de diseño equivalente mínima (o densidad máxima), para un número dado de capas; este número de capas de costo mínimo de broca disminuye para diámetros de orificio más pequeños. [92]
Una limitación de la memoria flash es que sólo se puede borrar un bloque a la vez. Esto generalmente establece todos los bits del bloque en 1. Comenzando con un bloque recién borrado, se puede programar cualquier ubicación dentro de ese bloque. Sin embargo, una vez que un bit se ha establecido en 0, sólo borrando todo el bloque se puede volver a 1. En otras palabras, la memoria flash (específicamente la flash NOR) ofrece operaciones de programación y lectura de acceso aleatorio, pero no ofrece operaciones aleatorias arbitrarias. -Acceder a operaciones de reescritura o borrado. Sin embargo, una ubicación se puede reescribir siempre que los bits 0 del nuevo valor sean un superconjunto de los valores sobrescritos. Por ejemplo, un valor de nibble puede borrarse a 1111 y luego escribirse como 1110. Las escrituras sucesivas en ese nibble pueden cambiarlo a 1010, luego a 0010 y finalmente a 0000. Básicamente, el borrado establece todos los bits en 1 y la programación solo puede borrar bits. a 0. [93] Algunos sistemas de archivos diseñados para dispositivos flash hacen uso de esta capacidad de reescritura, por ejemplo Yaffs1 , para representar metadatos del sector. Otros sistemas de archivos flash, como YAFFS 2, nunca utilizan esta capacidad de "reescritura": realizan mucho trabajo adicional para cumplir con la regla de "escribir una vez".
Aunque las estructuras de datos en la memoria flash no se pueden actualizar de manera completamente general, esto permite "eliminar" miembros marcándolos como no válidos. Es posible que sea necesario modificar esta técnica para dispositivos de celdas de varios niveles , donde una celda de memoria contiene más de un bit.
Los dispositivos flash comunes, como unidades flash USB y tarjetas de memoria, proporcionan solo una interfaz a nivel de bloque, o capa de traducción flash (FTL), que escribe en una celda diferente cada vez para nivelar el desgaste del dispositivo. Esto evita la escritura incremental dentro de un bloque; sin embargo, ayuda a que el dispositivo no se desgaste prematuramente debido a patrones de escritura intensivos.
Los datos almacenados en las celdas flash se pierden constantemente debido a la eliminación de electrones [ definición necesaria ] . La tasa de pérdida aumenta exponencialmente a medida que aumenta la temperatura absoluta . Por ejemplo: para un flash NOR de 45 nm, a las 1000 horas, la pérdida de voltaje umbral (Vt) a 25 grados Celsius es aproximadamente la mitad que a 90 grados Celsius. [94]
Otra limitación es que la memoria flash tiene un número finito de ciclos de borrado de programa (normalmente escritos como ciclos P/E). [95] [96] Micron Technology y Sun Microsystems anunciaron un chip de memoria flash SLC NAND con capacidad para 1.000.000 de ciclos P/E el 17 de diciembre de 2008. [97]
El recuento de ciclos garantizado puede aplicarse solo al bloque cero (como es el caso de los dispositivos TSOP NAND) o a todos los bloques (como en NOR). Este efecto se mitiga en algunos firmware de chip o controladores de sistemas de archivos al contar las escrituras y reasignar bloques dinámicamente para distribuir las operaciones de escritura entre sectores; Esta técnica se llama nivelación de desgaste . Otro enfoque es realizar verificación de escritura y reasignación a sectores libres en caso de falla de escritura, una técnica llamada administración de bloques defectuosos (BBM). Para los dispositivos portátiles de consumo, estas técnicas de gestión del desgaste suelen extender la vida útil de la memoria flash más allá de la vida útil del propio dispositivo, y algunas pérdidas de datos pueden ser aceptables en estas aplicaciones. Sin embargo, para un almacenamiento de datos de alta confiabilidad, no es aconsejable utilizar una memoria flash que tendría que pasar por una gran cantidad de ciclos de programación. Esta limitación también existe para aplicaciones de "solo lectura", como clientes ligeros y enrutadores , que se programan solo una vez o como máximo unas pocas veces durante su vida útil, debido a perturbaciones de lectura (ver más abajo).
En diciembre de 2012, los ingenieros taiwaneses de Macronix revelaron su intención de anunciar en la Reunión Internacional de Dispositivos Electrónicos IEEE de 2012 que habían descubierto cómo mejorar los ciclos de lectura/escritura del almacenamiento flash NAND de 10.000 a 100 millones de ciclos utilizando un proceso de "autocuración". que utilizaba un chip flash con "calentadores integrados que podían templar pequeños grupos de celdas de memoria". [98] El recocido térmico incorporado debía reemplazar el ciclo de borrado habitual con un proceso local de alta temperatura que no solo borraba la carga almacenada, sino que también reparaba la tensión inducida por electrones en el chip, dando ciclos de escritura de al menos 100 millones. . [99] El resultado fue un chip que podía borrarse y reescribirse una y otra vez, incluso cuando en teoría debería estropearse. Sin embargo, por muy prometedor que haya sido el avance de Macronix para la industria móvil, no había planes para lanzar un producto comercial con esta capacidad en un futuro próximo. [100]
El método utilizado para leer la memoria flash NAND puede hacer que las celdas cercanas en el mismo bloque de memoria cambien con el tiempo (se programen). Esto se conoce como perturbación de lectura. El número umbral de lecturas es generalmente de cientos de miles de lecturas entre operaciones de borrado intermedias. Si se lee continuamente desde una celda, esa celda no fallará, sino que una de las celdas circundantes lo hará en una lectura posterior. Para evitar el problema de perturbación de lectura, el controlador flash normalmente contará el número total de lecturas de un bloque desde el último borrado. Cuando el recuento excede un límite objetivo, el bloque afectado se copia en un bloque nuevo, se borra y luego se libera al grupo de bloques. El bloque original queda como nuevo después del borrado. Sin embargo, si el controlador de flash no interviene a tiempo, se producirá un error de perturbación de lectura con posible pérdida de datos si los errores son demasiado numerosos para corregirlos con un código de corrección de errores . [101] [102] [103]
La mayoría de los circuitos integrados flash vienen en paquetes de matriz de rejilla de bolas (BGA), e incluso los que no lo hacen suelen montarse en una PCB junto a otros paquetes BGA. Después del ensamblaje de PCB , las placas con paquetes BGA a menudo se someten a rayos X para ver si las bolas están haciendo las conexiones adecuadas a la almohadilla adecuada o si es necesario volver a trabajar el BGA . Estos rayos X pueden borrar bits programados en un chip flash (convertir bits "0" programados en bits "1" borrados). Los bits borrados (bits "1") no se ven afectados por los rayos X. [104] [105]
Algunos fabricantes ahora fabrican dispositivos de memoria SD [106] y USB [107] a prueba de rayos X.
La interfaz de bajo nivel para los chips de memoria flash difiere de la de otros tipos de memoria como DRAM , ROM y EEPROM , que admiten la alterabilidad de bits (tanto de cero a uno como de uno a cero) y acceso aleatorio a través de buses de direcciones accesibles externamente .
La memoria NOR tiene un bus de direcciones externo para lectura y programación. Para la memoria NOR, la lectura y la programación son de acceso aleatorio, y el desbloqueo y el borrado son por bloques. Para la memoria NAND, la lectura y la programación se realizan por páginas, y el desbloqueo y el borrado se realizan por bloques.
La lectura desde memoria flash NOR es similar a la lectura desde memoria de acceso aleatorio, siempre que la dirección y el bus de datos estén asignados correctamente. Debido a esto, la mayoría de los microprocesadores pueden usar la memoria flash NOR como memoria de ejecución in situ (XIP), [108] lo que significa que los programas almacenados en la memoria flash NOR se pueden ejecutar directamente desde la memoria flash NOR sin necesidad de copiarlos primero en la RAM. El flash NOR se puede programar de forma de acceso aleatorio similar a la lectura. La programación cambia los bits de un uno lógico a un cero. Los bits que ya son cero no se modifican. El borrado debe realizarse bloque a bloque y restablece todos los bits del bloque borrado a uno. Los tamaños de bloque típicos son 64, 128 o 256 KiB .
La gestión de bloques defectuosos es una característica relativamente nueva en los chips NOR. En los dispositivos NOR más antiguos que no admiten la gestión de bloques defectuosos, el software o controlador del dispositivo que controla el chip de memoria debe corregir los bloques que se desgastan, o el dispositivo dejará de funcionar de manera confiable.
Los comandos específicos utilizados para bloquear, desbloquear, programar o borrar memorias NOR difieren para cada fabricante. Para evitar la necesidad de un software de controlador único para cada dispositivo fabricado, los comandos especiales de la Interfaz de memoria flash común (CFI) permiten que el dispositivo se identifique a sí mismo y sus parámetros operativos críticos.
Además de su uso como ROM de acceso aleatorio, NOR flash también se puede utilizar como dispositivo de almacenamiento, aprovechando la programación de acceso aleatorio. Algunos dispositivos ofrecen funcionalidad de lectura mientras se escribe para que el código continúe ejecutándose incluso mientras se realiza una operación de programación o borrado en segundo plano. Para escrituras de datos secuenciales, los chips flash NOR suelen tener velocidades de escritura lentas, en comparación con la memoria flash NAND.
El flash NOR típico no necesita un código de corrección de errores . [109]
Toshiba introdujo la arquitectura flash NAND en 1989. [110] Se accede a estas memorias de forma muy parecida a los dispositivos de bloques , como los discos duros. Cada bloque consta de varias páginas. Las páginas suelen tener un tamaño de 512, [111] 2048 o 4096 bytes. Asociados a cada página hay unos pocos bytes (normalmente 1/32 del tamaño de los datos) que se pueden utilizar para almacenar una suma de comprobación del código de corrección de errores (ECC) .
Los tamaños de bloque típicos incluyen:
La memoria flash NAND moderna puede tener un tamaño de bloque de borrado de entre 1 MiB y 128 MiB. Mientras que la lectura y la programación se realizan por páginas, el borrado solo se puede realizar por bloques. [114]
Los dispositivos NAND también requieren una gestión de bloques defectuosos mediante el software del controlador del dispositivo o mediante un chip controlador independiente . Algunas tarjetas SD, por ejemplo, incluyen circuitos de control para realizar la gestión de bloques defectuosos y la nivelación del desgaste . Cuando un software de alto nivel accede a un bloque lógico, el controlador o controlador del dispositivo lo asigna a un bloque físico. Se pueden reservar varios bloques en el chip flash para almacenar tablas de mapeo para tratar con bloques defectuosos, o el sistema puede simplemente verificar cada bloque al encenderse para crear un mapa de bloques defectuosos en la RAM. La capacidad general de la memoria se reduce gradualmente a medida que se marcan más bloques como defectuosos.
NAND se basa en ECC para compensar los bits que pueden fallar espontáneamente durante el funcionamiento normal del dispositivo. Un ECC típico corregirá un error de un bit en cada 2048 bits (256 bytes) usando 22 bits de ECC, o un error de un bit en cada 4096 bits (512 bytes) usando 24 bits de ECC. [115] Si el ECC no puede corregir el error durante la lectura, aún puede detectar el error. Al realizar operaciones de borrado o programación, el dispositivo puede detectar bloques que no se pueden programar o borrar y marcarlos como incorrectos. Luego, los datos se escriben en un bloque bueno diferente y se actualiza el mapa del bloque malo.
Los códigos Hamming son el ECC más utilizado para flash SLC NAND. Los códigos Reed-Solomon y los códigos BCH (códigos Bose-Chaudhuri-Hocquenghem) son ECC comúnmente utilizados para flash MLC NAND. Algunos chips flash MLC NAND generan internamente los códigos de corrección de errores BCH apropiados. [109]
La mayoría de los dispositivos NAND salen de fábrica con algunos bloques defectuosos. Por lo general, estos se marcan de acuerdo con una estrategia de marcado de bloques defectuosos específica. Al permitir algunos bloques defectuosos, los fabricantes logran rendimientos mucho más altos de los que serían posibles si se tuviera que verificar que todos los bloques son buenos. Esto reduce significativamente los costos de memoria flash NAND y disminuye solo ligeramente la capacidad de almacenamiento de las piezas.
Al ejecutar software desde memorias NAND, a menudo se utilizan estrategias de memoria virtual : el contenido de la memoria primero debe paginarse o copiarse en una RAM asignada en memoria y ejecutarse allí (lo que lleva a la combinación común de NAND + RAM). Una unidad de administración de memoria (MMU) en el sistema es útil, pero esto también se puede lograr con superposiciones . Por esta razón, algunos sistemas usarán una combinación de memorias NOR y NAND, donde una memoria NOR más pequeña se usa como ROM de software y una memoria NAND más grande se divide con un sistema de archivos para usar como área de almacenamiento de datos no volátil.
NAND sacrifica las ventajas de acceso aleatorio y ejecución in situ de NOR. NAND se adapta mejor a sistemas que requieren almacenamiento de datos de alta capacidad. Ofrece mayores densidades, mayores capacidades y menor costo. Tiene borrados, escrituras secuenciales y lecturas secuenciales más rápidos.
Un grupo llamado Open NAND Flash Interface Working Group (ONFI) ha desarrollado una interfaz estandarizada de bajo nivel para chips flash NAND. Esto permite la interoperabilidad entre dispositivos NAND compatibles de diferentes proveedores. La especificación ONFI versión 1.0 [116] se publicó el 28 de diciembre de 2006. Especifica:
El grupo ONFI cuenta con el respaldo de los principales fabricantes de flash NAND, incluidos Hynix , Intel , Micron Technology y Numonyx , así como de los principales fabricantes de dispositivos que incorporan chips flash NAND. [117]
Dos importantes fabricantes de dispositivos flash, Toshiba y Samsung , han optado por utilizar una interfaz de diseño propio conocida como Toggle Mode (y ahora Toggle). Esta interfaz no es compatible pin a pin con la especificación ONFI. El resultado es que un producto diseñado para los dispositivos de un proveedor puede no poder utilizar los dispositivos de otro proveedor. [118]
Un grupo de proveedores, incluidos Intel , Dell y Microsoft , formaron un grupo de trabajo de interfaz de controlador de host de memoria no volátil (NVMHCI). [119] El objetivo del grupo es proporcionar interfaces de programación de software y hardware estándar para subsistemas de memoria no volátil, incluido el dispositivo de "caché flash" conectado al bus PCI Express .
Las flashes NOR y NAND se diferencian en dos aspectos importantes:
NOR [126] y NAND flash obtienen sus nombres de la estructura de las interconexiones entre las celdas de memoria. [ cita necesaria ] En NOR flash, las celdas se conectan en paralelo a las líneas de bits, lo que permite leer y programar las celdas individualmente. [127] La conexión en paralelo de celdas se asemeja a la conexión en paralelo de transistores en una puerta CMOS NOR. [128] En flash NAND, las celdas están conectadas en serie, [127] asemejándose a una puerta CMOS NAND. Las conexiones en serie consumen menos espacio que las en paralelo, lo que reduce el coste de la memoria flash NAND. [127] Por sí solo, no impide que las células NAND se lean y programen individualmente. [ cita necesaria ]
Cada celda flash NOR es más grande que una celda flash NAND (10 F 2 frente a 4 F 2 ) incluso cuando se utiliza exactamente la misma fabricación de dispositivo semiconductor , por lo que cada transistor, contacto, etc. es exactamente del mismo tamaño, porque las celdas flash NOR requieren una Contacto metálico separado para cada celda. [129] [130]
Debido a la conexión en serie y la eliminación de los contactos de línea de palabras, una gran cuadrícula de celdas de memoria flash NAND ocupará quizás solo el 60% del área de celdas NOR equivalentes [131] (suponiendo la misma resolución del proceso CMOS , por ejemplo, 130 nm , 90 nm o 65 nm). Los diseñadores de NAND flash se dieron cuenta de que el área de un chip NAND y, por lo tanto, el costo, podrían reducirse aún más eliminando la dirección externa y los circuitos del bus de datos. En cambio, los dispositivos externos podrían comunicarse con la memoria flash NAND a través de registros de datos y comandos de acceso secuencial, que recuperarían y generarían internamente los datos necesarios. Esta elección de diseño hizo imposible el acceso aleatorio a la memoria flash NAND, pero el objetivo de la memoria flash NAND era reemplazar los discos duros mecánicos , no reemplazar las ROM.
Los primeros teléfonos GSM y muchos teléfonos básicos tenían memoria flash NOR, desde la cual las instrucciones del procesador podían ejecutarse directamente en una arquitectura de ejecución in situ y permitían tiempos de arranque cortos. En los teléfonos inteligentes, se adoptó la memoria flash NAND, ya que tiene mayores capacidades de almacenamiento y menores costos, pero provoca tiempos de arranque más prolongados porque las instrucciones no se pueden ejecutar directamente desde ella y deben copiarse primero en la memoria RAM antes de ejecutarlas. [132]
La resistencia de escritura de la memoria flash NOR de puerta flotante SLC suele ser igual o mayor que la de la memoria flash NAND, mientras que la memoria flash MLC NOR y NAND tienen capacidades de resistencia similares. Se proporcionan ejemplos de clasificaciones de ciclo de resistencia enumeradas en hojas de datos para flash NAND y NOR, así como en dispositivos de almacenamiento que utilizan memoria flash. [134]
Sin embargo, al aplicar ciertos algoritmos y paradigmas de diseño, como la nivelación del desgaste y el sobreaprovisionamiento de memoria , se puede ajustar la resistencia de un sistema de almacenamiento para satisfacer requisitos específicos. [165]
Para calcular la longevidad de la memoria flash NAND, se debe tener en cuenta el tamaño del chip de memoria, el tipo de memoria (por ejemplo, SLC/MLC/TLC) y el patrón de uso. La NAND industrial y la NAND de servidor tienen demanda debido a su capacidad, mayor resistencia y confiabilidad en entornos sensibles.
A medida que aumenta la cantidad de bits por celda, el rendimiento y la vida útil de la memoria flash NAND pueden degradarse, aumentando los tiempos de lectura aleatoria a 100 μs para TLC NAND, que es 4 veces el tiempo requerido en SLC NAND y el doble del tiempo requerido en MLC NAND, para lecturas aleatorias. . [66]
Debido a las características particulares de la memoria flash, se utiliza mejor con un controlador para nivelar el desgaste y corregir errores o con sistemas de archivos flash diseñados específicamente, que distribuyen las escrituras en los medios y manejan los largos tiempos de borrado de los bloques flash NOR. El concepto básico detrás de los sistemas de archivos flash es el siguiente: cuando se va a actualizar el almacén flash, el sistema de archivos escribirá una nueva copia de los datos modificados en un bloque nuevo, reasignará los punteros del archivo y luego borrará el bloque antiguo más tarde cuando tiene tiempo.
En la práctica, los sistemas de archivos flash se utilizan sólo para dispositivos de tecnología de memoria (MTD), que son memorias flash integradas que no tienen un controlador. Las tarjetas de memoria flash extraíbles , los SSD, los chips eMMC / eUFS y las unidades flash USB tienen controladores integrados para nivelar el desgaste y corregir errores, por lo que es posible que el uso de un sistema de archivos flash específico no agregue beneficios.
A menudo se disponen o apilan varios chips para lograr mayores capacidades [166] para su uso en dispositivos electrónicos de consumo, como reproductores multimedia o GPS . El escalado (aumento) de capacidad de los chips flash solía seguir la ley de Moore porque se fabrican con muchas de las mismas técnicas y equipos de circuitos integrados . Desde la introducción de 3D NAND, el escalado ya no está necesariamente asociado con la ley de Moore, ya que ya no se utilizan transistores (células) cada vez más pequeños.
Los dispositivos de almacenamiento flash de consumo normalmente se anuncian con tamaños utilizables expresados como una potencia entera pequeña de dos (2, 4, 8, etc.) y una designación convencional de megabytes (MB) o gigabytes (GB); por ejemplo, 512 MB, 8 GB. Esto incluye los SSD comercializados como reemplazos de discos duros, de acuerdo con los discos duros tradicionales , que utilizan prefijos decimales . [167] Por lo tanto, un SSD marcado como "64 GB " tiene al menos 64 × 1000 3 bytes (64 GB). La mayoría de los usuarios tendrán un poco menos de capacidad disponible para sus archivos, debido al espacio que ocupan los metadatos del sistema de archivos y porque algunos sistemas operativos informan que la capacidad SSD utiliza prefijos binarios que son algo mayores que los prefijos convencionales.
Los chips de memoria flash que contienen están dimensionados en múltiplos binarios estrictos, pero la capacidad total real de los chips no se puede utilizar en la interfaz de la unidad. Es considerablemente mayor que la capacidad anunciada para permitir la distribución de escrituras ( nivelación de desgaste ), repuestos, códigos de corrección de errores y otros metadatos necesarios para el firmware interno del dispositivo.
En 2005, Toshiba y SanDisk desarrollaron un chip flash NAND capaz de almacenar 1 GB de datos utilizando tecnología de celda multinivel (MLC), capaz de almacenar dos bits de datos por celda. En septiembre de 2005, Samsung Electronics anunció que había desarrollado el primer chip de 2 GB del mundo. [168]
En marzo de 2006, Samsung anunció discos duros flash con capacidad de 4 GB, esencialmente el mismo orden de magnitud que los discos duros de portátiles más pequeños, y en septiembre de 2006, Samsung anunció un chip de 8 GB producido mediante un proceso de fabricación de 40 nm. [169] En enero de 2008, SanDisk anunció la disponibilidad de sus tarjetas MicroSDHC de 16 GB y SDHC Plus de 32 GB. [170] [171]
Las unidades flash más recientes (a partir de 2012) tienen capacidades mucho mayores, con 64, 128 y 256 GB. [172]
Un desarrollo conjunto de Intel y Micron permitirá la producción de memorias flash NAND de 32 capas y 3,5 terabytes (TB [ aclaración necesaria ] ) y SSD de tamaño estándar de 10 TB. El dispositivo incluye 5 paquetes de matrices TLC de 16 × 48 GB, que utilizan un diseño de celda de puerta flotante. [173]
Se siguen fabricando chips flash con capacidades inferiores o cercanas a 1 MB (por ejemplo, para BIOS-ROM y aplicaciones integradas).
En julio de 2016, Samsung anunció el Samsung 850 EVO de 4 TB [ se necesita aclaración ] que utiliza su TLC 3D V-NAND de 256 Gbit y 48 capas. [174] En agosto de 2016, Samsung anunció un SSD SAS de 32 TB y 2,5 pulgadas basado en su TLC 3D V-NAND de 512 Gbit y 64 capas. Además, Samsung espera presentar SSD con hasta 100 TB de almacenamiento para 2020. [175]
Los dispositivos de memoria flash suelen ser mucho más rápidos leyendo que escribiendo. [176] El rendimiento también depende de la calidad de los controladores de almacenamiento, que se vuelven más críticos cuando los dispositivos están parcialmente llenos. [ vago ] [176] Incluso cuando el único cambio en la fabricación es la contracción del troquel, la ausencia de un controlador adecuado puede provocar velocidades degradadas. [177]
La memoria flash en serie es una memoria flash pequeña y de bajo consumo que proporciona únicamente acceso en serie a los datos; en lugar de direccionar bytes individuales, el usuario lee o escribe en serie grandes grupos contiguos de bytes en el espacio de direcciones. El bus de interfaz periférica serie (SPI) es un protocolo típico para acceder al dispositivo. Cuando se incorpora a un sistema integrado , la memoria flash en serie requiere menos cables en la PCB que las memorias flash en paralelo, ya que transmite y recibe datos un bit a la vez. Esto puede permitir una reducción en el espacio de la placa, el consumo de energía y el costo total del sistema.
Hay varias razones por las que un dispositivo serie, con menos pines externos que un dispositivo paralelo, puede reducir significativamente el coste total:
Hay dos tipos principales de flash SPI. El primer tipo se caracteriza por páginas pequeñas y uno o más buffers de páginas SRAM internos que permiten leer una página completa en el buffer, modificarla parcialmente y luego volver a escribirla (por ejemplo, Atmel AT45 DataFlash o Micron Technology Page Erase NOR Flash). ). El segundo tipo tiene sectores más grandes donde los sectores más pequeños que normalmente se encuentran en este tipo de flash SPI son de 4 kB, pero pueden alcanzar hasta 64 kB. Dado que este tipo de flash SPI carece de un búfer SRAM interno, se debe leer y modificar la página completa antes de volver a escribirla, lo que hace que su administración sea lenta. Sin embargo, el segundo tipo es más económico que el primero y, por lo tanto, es una buena opción cuando la aplicación realiza seguimiento de código.
Los dos tipos no son fácilmente intercambiables, ya que no tienen el mismo pinout y los conjuntos de comandos son incompatibles.
La mayoría de los FPGA se basan en celdas de configuración SRAM y requieren un dispositivo de configuración externo, a menudo un chip flash en serie, para recargar el flujo de bits de configuración en cada ciclo de encendido. [178]
Con la velocidad cada vez mayor de las CPU modernas, los dispositivos flash paralelos suelen ser mucho más lentos que el bus de memoria de la computadora a la que están conectados. Por el contrario, la SRAM moderna ofrece tiempos de acceso inferiores a 10 ns , mientras que la SDRAM DDR2 ofrece tiempos de acceso inferiores a 20 ns. Debido a esto, a menudo es deseable ocultar el código almacenado en la memoria flash en la RAM; es decir, el código se copia de la memoria flash a la RAM antes de su ejecución, para que la CPU pueda acceder a él a toda velocidad. El firmware del dispositivo puede almacenarse en un chip flash serie y luego copiarse en SDRAM o SRAM cuando el dispositivo está encendido. [179] El uso de un dispositivo flash en serie externo en lugar de un flash en el chip elimina la necesidad de comprometer significativamente el proceso (un proceso de fabricación que es bueno para la lógica de alta velocidad generalmente no es bueno para el flash y viceversa). Una vez que se decide leer el firmware como un bloque grande, es común agregar compresión para permitir el uso de un chip flash más pequeño. Desde 2005, muchos dispositivos utilizan flash NOR en serie para desaprobar el flash NOR paralelo para el almacenamiento de firmware. Las aplicaciones típicas del flash NOR serie incluyen el almacenamiento de firmware para discos duros , BIOS , ROM opcional de tarjetas de expansión , módems DSL , etc.
Una aplicación más reciente de la memoria flash es la de reemplazo de los discos duros . La memoria flash no tiene las limitaciones mecánicas ni las latencias de los discos duros, por lo que una unidad de estado sólido (SSD) resulta atractiva si se consideran la velocidad, el ruido, el consumo de energía y la confiabilidad. Las unidades flash están ganando terreno como dispositivos de almacenamiento secundario de dispositivos móviles; también se utilizan como sustitutos de los discos duros en computadoras de escritorio de alto rendimiento y algunos servidores con arquitecturas RAID y SAN .
Quedan algunos aspectos de los SSD basados en flash que los hacen poco atractivos. El coste por gigabyte de memoria flash sigue siendo significativamente mayor que el de los discos duros. [180] Además, la memoria flash tiene un número finito de ciclos P/E ( programación/borrado ), pero esto parece estar actualmente bajo control ya que las garantías de los SSD basados en flash se están acercando a las de los discos duros actuales. [181] Además, los archivos eliminados en SSD pueden permanecer por un período de tiempo indefinido antes de ser sobrescritos por datos nuevos; Las técnicas de borrado o destrucción o el software que funcionan bien en unidades de disco duro magnético no tienen ningún efecto en las SSD, lo que compromete la seguridad y el examen forense. Sin embargo, debido al llamado comando TRIM empleado por la mayoría de las unidades de estado sólido, que marca las direcciones de bloque lógico ocupadas por el archivo eliminado como no utilizadas para permitir la recolección de basura , el software de recuperación de datos no puede restaurar los archivos eliminados.
Para bases de datos relacionales u otros sistemas que requieren transacciones ACID , incluso una cantidad modesta de almacenamiento flash puede ofrecer grandes aceleraciones en comparación con conjuntos de unidades de disco. [182]
En mayo de 2006, Samsung Electronics anunció dos PC basadas en memoria flash, se esperaba que la Q1-SSD y la Q30-SSD estuvieran disponibles en junio de 2006, las cuales usaban SSD de 32 GB y, al menos inicialmente, solo estaban disponibles en Corea del Sur . [183] El lanzamiento de Q1-SSD y Q30-SSD se retrasó y finalmente se envió a finales de agosto de 2006. [184]
La primera PC basada en memoria flash que estuvo disponible fue la Sony Vaio UX90, anunciada para pedidos anticipados el 27 de junio de 2006 y comenzó a enviarse en Japón el 3 de julio de 2006 con un disco duro de memoria flash de 16 GB. [185] A finales de septiembre de 2006, Sony actualizó la memoria flash del Vaio UX90 a 32 GB. [186]
Una unidad de estado sólido se ofreció como opción con la primera MacBook Air introducida en 2008 y, a partir de 2010, todos los modelos se enviaron con una SSD. A partir de finales de 2011, como parte de la iniciativa Ultrabook de Intel , un número cada vez mayor de portátiles ultradelgados se envían con SSD estándar.
También existen técnicas híbridas, como la unidad híbrida y ReadyBoost , que intentan combinar las ventajas de ambas tecnologías, utilizando flash como caché no volátil de alta velocidad para archivos en el disco a los que se hace referencia con frecuencia, pero que rara vez se modifican, como aplicaciones y archivos. Archivos ejecutables del sistema operativo .
A partir de 2012, [update]hay intentos de utilizar memoria flash como memoria principal de la computadora, DRAM . [187]
Los transistores de puerta flotante en el dispositivo de almacenamiento flash mantienen la carga que representa los datos. Esta carga se va perdiendo gradualmente con el tiempo, dando lugar a una acumulación de errores lógicos , también conocidos como " bit rot " o "bit fading". [188]
No está claro cuánto tiempo persistirán los datos en la memoria flash en condiciones de archivo (es decir, temperatura y humedad benignas con acceso poco frecuente con o sin reescritura profiláctica). Las hojas de datos de los microcontroladores " ATmega " basados en flash de Atmel generalmente prometen tiempos de retención de 20 años a 85 °C (185 °F) y 100 años a 25 °C (77 °F). [189]
El período de retención varía según los tipos y modelos de almacenamiento flash. Cuando se les suministra energía y están inactivos, el firmware del almacenamiento flash actualiza rutinariamente la carga de los transistores que contienen los datos . [188] La capacidad de retener datos varía entre los dispositivos de almacenamiento flash debido a diferencias en el firmware, la redundancia de datos y los algoritmos de corrección de errores . [190]
Un artículo de CMU de 2015 afirma que "los dispositivos flash actuales, que no requieren actualización flash, tienen una edad de retención típica de 1 año a temperatura ambiente". Y ese tiempo de retención disminuye exponencialmente al aumentar la temperatura. El fenómeno puede modelarse mediante la ecuación de Arrhenius . [191] [192]
Algunos FPGA se basan en celdas de configuración flash que se usan directamente como interruptores (programables) para conectar elementos internos entre sí, utilizando el mismo tipo de transistor de puerta flotante que las celdas de almacenamiento de datos flash en los dispositivos de almacenamiento de datos. [178]
Una fuente afirma que, en 2008, la industria de la memoria flash incluye alrededor de 9.100 millones de dólares en producción y ventas. Otras fuentes sitúan el mercado de la memoria flash en un tamaño de más de 20.000 millones de dólares en 2006, lo que representa más del ocho por ciento del mercado general de semiconductores y más del 34 por ciento del mercado total de memorias de semiconductores. [193] En 2012, el mercado se estimó en 26.800 millones de dólares. [194] La producción de un chip de memoria flash puede tardar hasta 10 semanas. [195]
Los siguientes fueron los mayores fabricantes de memoria flash NAND, al segundo trimestre de 2023. [196]
Samsung sigue siendo el mayor fabricante de memorias flash NAND en el primer trimestre de 2022. [199]
Además de los chips de memoria flash individuales, la memoria flash también está integrada en chips de microcontroladores (MCU) y dispositivos de sistema en chip (SoC). [216] La memoria flash está integrada en chips ARM , [216] que han vendido 150 mil millones de unidades en todo el mundo hasta 2019 [update], [217] y en dispositivos de sistema en chip programable (PSoC), que han vendido 1,1 mil millones de unidades hasta 2012 [update]. [218] Esto suma al menos 151,1 mil millones de chips MCU y SoC con memoria flash incorporada, además de los 45,4 mil millones de ventas de chips flash individuales conocidas a partir de 2015 [update], totalizando al menos 196,5 mil millones de chips que contienen memoria flash.
Debido a su estructura relativamente simple y su gran demanda de mayor capacidad, la memoria flash NAND es la tecnología de escala más agresiva entre los dispositivos electrónicos . La fuerte competencia entre los principales fabricantes sólo aumenta la agresividad a la hora de reducir la regla de diseño MOSFET de puerta flotante o el nodo de tecnología de proceso. [102] Si bien el cronograma de reducción esperado es un factor de dos cada tres años según la versión original de la ley de Moore , esto se ha acelerado recientemente en el caso de flash NAND a un factor de dos cada dos años.
A medida que el tamaño de la característica MOSFET de las celdas de memoria flash alcance el límite mínimo de 15 a 16 nm, TLC (3 bits/celda) combinado con el apilamiento vertical de planos de memoria NAND impulsará mayores aumentos de la densidad del flash. La disminución de la resistencia y el aumento de las tasas de errores de bits incorregibles que acompañan a la reducción del tamaño de las características pueden compensarse mediante mecanismos mejorados de corrección de errores. [224] Incluso con estos avances, puede ser imposible escalar económicamente el destello a dimensiones cada vez más pequeñas a medida que se reduce el número de capacidad de retención de electrones. Se están investigando y desarrollando muchas tecnologías nuevas y prometedoras (como FeRAM , MRAM , PMC , PCM , ReRAM y otras) como posibles sustitutos más escalables de la memoria flash. [225]
La memoria flash se puede reprogramar hasta 100 veces.
Los dispositivos ofrecen funcionamiento con una sola fuente de alimentación (2,7 V a 3,6 V), arquitectura sectorial, algoritmos integrados, alto rendimiento y una garantía de resistencia de 1.000.000 de ciclos de programa/borrado.
El
PSoC
... utiliza un proceso Flash único:
SONOS
Los resultados de la calificación de confiabilidad muestran que la tasa de falla de retención de datos proyectada es mucho menor que 1 PPM durante 20 años a 85 °C o 100 años a 25 °C.
Los envíos de unidades aumentaron un 64% en 1999 con respecto al año anterior y se prevé que aumenten un 44% a 1.800 millones de unidades en 2000.