Memorias de Semiconductor Curso 2005/06
Introducción El chip de memoria Clasificación n de las memorias de semiconductor Cronogramas de acceso Estructura interna de una memoria Memorias RAM estáticas ticas y dinámicas Memorias ROM, PROM y EPROM Memorias Flash Memorias serie Expansión n de memorias Mapas de memoria Índice 2
Concepto: Elemento de un sistema digital que almacena información binaria en grandes cantidades (datos o instrucciones). Puede verse como un conjunto de m registros de almacenamiento (palabras) de n bits. Palabra 0 Palabra 1 Introducción: n: Concepto D n-1 D n-2 D 1 D 0 Palabra m-1 3
Introducción: n: Capacidad Capacidad de la memoria: Viene determinada por el número de palabras que es capaz de almacenar (m) y el tamaño de cada palabra (n), en el formato mxn. Ejemplos: Memoria de 128x1 bits Memoria de 512x8 bits (o 512 bytes) Memoria de 1024x16 bits (o 1Kx16 bits) Memoria de 64Mbytes 4
Introducción: n: Buses (I) Acceso a la memoria: Requiere indicar sobre qué palabra se desea operar, el tipo de operación, y disponer de un canal para el flujo de datos 3 buses distintos Bus de direcciones A[M-1:0] Bus de control R/W, CS, OE M MEMORIA Bus de datos n D[n-1:0] 5
Bus de direcciones: M líneas de entrada (siendo 2 M =m) para seleccionar la palabra. Introducción: n: Buses (II) Bus de datos: n líneas, una por cada bit de la palabra, bidireccionales, salvo que la memoria sea de sólo lectura. Bus de control: Líneas auxiliares para llevar a cabo la operación de lectura o escritura en la memoria. R/W: Tipo de operación: lectura o escritura. CS: Señal de habilitación del chip. OE: Señal de habilitación de salida. 6
Operación n de escritura: Introducción: n: Escritura Se sitúa en el bus de direcciones la posición donde se quiere escribir. Se introduce el dato por el bus de datos. Se aplica la orden de escritura mediante las líneas de control. Registro de dirección Registro de datos 101 Matriz de memoria 10001101 organizada en bytes Bus de direcciones Decodificador 0 1 2 3 4 5 6 7 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 Escritura Bus de datos 7
Operación n de lectura: Introducción: n: Lectura Se sitúa en el bus de direcciones la posición de donde se quiere leer. Se aplica la orden de lectura. En el bus de datos se dispone de la información almacenada. Registro de dirección Registro de datos 011 Matriz de memoria 11000001 organizada en bytes Bus de direcciones Decodificador 0 1 2 3 4 5 6 7 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 Lectura Bus de datos 8
Introducción: n: Características Capacidad de la memoria: Cantidad de información que se puede almacenar, expresada de la forma mxn. Volatilidad: Permanencia de la información almacenada en ausencia de alimentación. Cronogramas de acceso: Diagrama temporal de activación de las señales para realizar una correcta operación en la memoria. 9
El chip de memoria: Terminales de una memoria V cc GND A 0 A 1 D 0 D 1 Bus de direcciones MEMORIA Bus de datos A M-2 D n-2 A M-1 D n-1 CS R/W OE 10
El chip de memoria: Control del chip Interior del chip Exterior Circuito de lectura Circuito de escritura CS OE Terminal de datos D i R/W CS R/W OE L L X On Buf.. entrada Buf.. salida Estado Triestate Escritura L H L Triestate H L H Triestate H X X Triestate On Triestate Triestate Lectura Bloqueada Bloqueada 11
Clasificación n de las memorias de semiconductor Memorias de acceso aleatorio Memorias de desplazamiento Volátiles (RAM) No volátiles Registros de desplazamiento Dispositivos de acoplo de carga Estáticas ROM PROM Dinámicas EPROM EEPROM FLASH NVRAM PLD s Memorias de Acc. Secuencial Memorias Asociativas 12
Clasificación n de las memorias: RAM Tipos de memorias RAM Memoria de acceso aleatorio (RAM) RAM Estática (SRAM) RAM dinámica (DRAM) SRAM asíncrona (ASRAM) SRAM de ráfaga síncrona (SB SRAM) DRAM Con modo página rápido (FPM DRAM) DRAM salida datos extendida (EDO DRAM) EDO DRAM en ráfaga (BEDO DRAM) DRAM síncrona (SDRAM) 13
Se clasifican en: Clasificación n de las memorias: RAM Memorias estáticas ticas (SRAM): El elemento de almacenamiento en un flip-flop flop. Almacena datos de forma indefinida siempre que exista alimentación. n. Ventajas: Alta velocidad de acceso y bajo consumo. Inconveniente: Poca capacidad. Memorias dinámicas (DRAM): El elemento de almacenamiento en un condensador. Es necesario recargar los condensadores, en caso contrario se pierde la información. n. Este proceso se denomina refresco. Requiere un CI adicional. Ventajas: Integración n grande y bajo precio. Inconveniente: Necesidad de refresco. 14
Clasificación n de las memorias: RAM Memorias SRAM: SRAM asíncrona: Su funcionamiento no está sincronizado con el reloj del sistema. SRAM síncrona s de ráfaga: r Está sincronizada con la señal de reloj del sistema para operar más m s rápidamente. r Las señales (direcciones, datos, control) se capturan en unos registros internos sincronizados con la señal de reloj. Existen dos subtipos: de flujo directo (sin registro en líneas l de datos) y con pipeline (Con registro en las líneas l de datos). Modo ráfaga: r permite leer hasta 4 posiciones de memoria consecutivas. Más rápida que la DRAM. Menor capacidad que la DRAM. Se emplea a menudo como memoria caché SRAM asíncrona No sincronizada con reloj del sistema SRAM Celdas de almacenamiento mediante flip-flop SRAM síncrona de ráfagas Sincronizada con reloj del sistema 15
Clasificación n de las memorias: RAM Memorias DRAM: FPM DRAM (Fast( Page Mode): Se basa en la mayor probabilidad que existe de acceder a posiciones consecutivas. La dirección n de fila se fija, y se incrementa la de columna. El acceso es más m s rápido r que en modo aleatorio puro. EDO DRAM (Extended( Data Output): Similar a la FPM DRAM. Permite acceder a la siguiente columna antes de que el sistema externo acepte los datos válidos v actuales. BEDO DRAM (Burst( Extended Data Output): Acceso en modo ráfaga. r Genera internamente direcciones consecutivas. SDRAM (Synchronous( Synchronous): Sincronizada con la señal de reloj. Permite que el microprocesador realice otras tareas mientras que la memoria está lista. Más lenta que la SRAM. Mayor capacidad que la SRAM. Se emplea como memoria principal FPM DRAM Modo página rápido Asíncrona EDO DRAM Salida de datos extendida Asíncrona BEDO DRAM EDO de ráfagas Asíncrona Celdas de almacenamiento mediante condensador. Debe refrescarse DRAM SDRAM Síncrona 16
Clasificación n de las memorias: ROM Tipos de memorias ROM ROM Memoria de sólo lectura ROM de máscara ROM programable (PROM) PROM Borrable mediante luz ultravioleta (UV EPROM) PROM Borrable eléctricamente (EEPROM) 17
ROM de máscara: m Se graba en el momento de fabricarla. Bajo precio para grandes series. La célula c de memoria es un transistor. PROM (Programmable( Programmable): Programable en el laboratorio. No se puede reprogramar. EPROM (Erasable( Programmable): Clasificación n de las memorias: ROM PROM en la que se puede borrar su contenido y volver a programarla. Existen dos tipos: UV EPROM (Ultra( Violet EPROM): Hay que extraerlas del circuito final para borrarlas y reprogramarlas. EEPROM (Electrically( EPROM): Se pueden programar eléctricamente, incluso en el mismo circuito final. 18
Notación: Cronogramas de acceso: notación Señal compuesta por varia líneas Estado de alta impedancia Alta impedancia Valor de la señal irrelevante Representación del 0 y 1 lógicos 0 1 0 Instante de cambio no determinado 19
Cronogramas de acceso: lectura Tiempo de acceso: tiempo mínimo desde que se inicia la lectura hasta que el dato está en los terminales. Tiempo de ciclo de lectura: tiempo mínimo entre dos inicios de lectura. Tiempo acceso Tiempo de ciclo lectura Tiempo de ciclo de lectura Bus direcciones Dirección salida CPU Entrada CS Entrada R/W Tiempo de acceso Memoria Bus Datos Dato válido 20
Cronogramas de acceso: escritura Tiempo de ciclo de escritura: tiempo mínimo desde inicio de operación hasta que el dato se almacena. Tiempo de ciclo de escritura (t WC ) Bus direcciones Dirección válida Entrada CS CPU t AW t W t WR Entrada R/W Bus Datos Dato válido t WC Tiempo del ciclo de escritura t W Tiempo del pulso de escritura t DW Tiempo de escritura (set-up) t DH Tiempo de mantenimiento (hold) t AW Tiempo de establecimiento de la dirección t WR Tiempo de liberación de escritura t DW t DH 21
Estructura interna de una memoria Elementos: Matriz de células básicas Organización por filas y columnas Facilita el diseño con muchas células Decodificadores de filas y columnas Permiten la selección de una posición A veces se usan multiplexores Circuitos de lectura/escritura Por donde salen/entran los datos Buffers de entrada y de salida Opcionalmente: Lógica de selección Circuitos adicionales que conectados al bus de direcciones permiten seleccionar (activar) otros chips a través de CS Terminales de E/S Usan buffers bidireccionales triestado Permiten reducir el número de terminales Estado de alta impedancia si el chip no está activado (CS) 22
Estructura interna de una memoria RAM 64Kx1 DI (CY7C187) INPUT BUFFER A 12 A 13 A 14 A 15 A0 A1 A2 A3 ROW DECODER 256x256 ARRAY SENSE AMPS COLUMNDECODER A 4 A 5 A 6 A 7 A 8 A 9 A 10 A 11 DO POWER DOWN CE WE 23
RAM 256Kx4 (CY7C106B) Estructura interna de una memoria INPUTBUFFER A 1 A A A A A A A A 2 3 4 5 6 7 8 9 ROW DECODER 512 x 512 x 4 ARRAY SENSE AMPS I/O 3 I/O 2 I/O 1 I/O 0 COLUMN DECODER POWER DOWN CE A 0 A 10 A11 A12 A13 A14 A15 A16 A17 WE OE 24
RAM 2Kx8 (CY7C128A) Estructura interna de una memoria INPUTBUFFER I/O 0 A 10 A 9 A 8 A 7 A 6 A 5 ROW DECODER 128x16x8 ARRAY SENSE AMPS I/O 1 I/O 2 I/O 3 I/O 4 A 4 I/O 5 CE WE OE COLUMN DECODER POWER DOWN I/O 6 I/O 7 A 3 A 2 A 1 A 0 25
Memorias RAM: estáticas ticas La celda básica b de almacenamiento es un biestable. Mantiene la información n mientras exista alimentación. n. La celda se selecciona con un nivel alto. Los terminales de datos son tanto de entrada como de salida. Selección de bit +Vcc Dato s Dato s 26
Memorias RAM: estáticas ticas Ejemplo de estructura de celdas 4xn. Las celdas de la misma fila comparten la línea l nea de selección. La señal R/W indica el sentido de la operación. Selección de fila 0 Selección de fila 1 Selección de fila 2 Selección de fila n R/W Buffers de entrada/salida de datos y control Bit 0 Bit 1 Bit 2 Bit 3 27
Memorias RAM: estáticas ticas 28
Memorias RAM: estáticas ticas 29
Memorias RAM: estáticas ticas 30
Memorias RAM: estáticas ticas Ejemplo de estructura de SRAM síncrona s de ráfagar 31
Memorias RAM: estáticas ticas SRAM síncrona de ráfaga 32
Memorias RAM: estáticas ticas SRAM síncrona de ráfaga 33
Memorias RAM: estáticas ticas SRAM síncrona de ráfaga 34
Memorias RAM: estáticas ticas SRAM síncrona de ráfaga 35
Memorias RAM: estáticas ticas SRAM síncrona de ráfaga 36
Memorias RAM: dinámicas La celda básica b de almacenamiento es un condensador. La información n se pierde debido a fugas de corriente. El transistor actúa a de interruptor. Muy alto nivel de integración Columna (línea de bit) Fila 37
Memorias RAM: dinámicas Ejemplo de escritura de un 1 y un 0 en la celda 38
Memorias RAM: dinámicas Ejemplo de lectura de un 1 y refresco de un 1 en la celda 39
Estructura de una memoria DRAM. Las líneas l de direcciones van multiplexadas. RAS: : validación n de dirección n de fila. CAS: : validación n de dirección n de columna. Ciclos de lectura, escritura, modo página y refresco. Memorias RAM: dinámicas 40
Ciclo de lectura Memorias RAM: dinámicas. Ciclos 1 ciclo de lectura Direcciones Dirección de fila Dirección de columna RAS CAS R/W Dout Datos válidos 41
Memorias RAM: dinámicas. Ciclos Ciclo de escritura 1 ciclo de escritura Direcciones Dirección de fila Dirección de columna RAS CAS R/W Din Datos válidos 42
Memorias RAM: dinámicas. Ciclos Ciclo del modo páginap RAS CAS R/W Direcciones Dirección fila Dirección columna 1 Dirección columna 2 Dirección columna 3 Dirección columna 4 D OUT Dato válido Dato válido Dato válido Dato válido 43
Memorias RAM: dinámicas. Refresco Típicamente picamente hay que refrescar cada 8-168 ms. Una operación n de lectura refresca automáticamente ticamente toda la fila seleccionada Refresco a ráfagas: r Todas las filas se refrescan en cada periodo de refresco. Refresco distribuido: Cada fila se refresca a intervalos entremezclados con los ciclos de lectura y escritura. Ejemplo: Si hay 1024 filas y el ciclo de refresco es de 8 ms,, hay que refrescar una fila cada 7,8 μs. 44
Memorias RAM: dinámicas. Refresco Refresco a ráfagas r y distribuido: 2 ms 0 1 2 253 254 255 0 Ciclo de refresco Tiempo disponible para R/W Refresco 0 1 2 3 254 255 0 Tiempos disponibles para R/W 45
Memorias RAM: dinámicas. Refresco Tipos de refresco: Refresco sólo s RAS: Se activa RAS para almacenar la fila, pero no CAS. Se utiliza un contador externos para proporcionar las direcciones de fila. Refresco CAS antes de RAS: CAS se activa primero y a continuación n RAS. Se habilita un contador interno que genera la dirección n de fila a refrescar. 46
Memorias RAM: dinámicas. Refresco Factor de calidad de memorias DRAM: Porcentaje de tiempo que se dedica a la operación n de refresco. Mejor cuanto más m s bajo. Ejemplo: Periodo de refresco: 2 ms N º ciclos _ de _ refresco _ en _ un _ periodo _ de _ refresco Factor _ calidad = 100 N º ciclos _ de _ memoria _ totales _ en _ un _ periodo _ de _ refresco DRAM de 256 filas Ciclo de memoria: 200 ns Factor 256 100 = 3 2 10 / 200 10 _ calidad = 9 2,56% 47
Programada en el momento de fabricación. Costes fijos elevados. Normalmente se emplea en grandes tiradas. La célula c de memoria es un transistor. Memorias ROM (de máscara) m La presencia o ausencia de conexión n en la base representa un 1 o 0,, respectivamente. Columna Columna Fila Fila +V DD +V DD 48
Ejemplo de esquema Memorias ROM (de máscara) m de ROM de 16x8 bits 49
Memorias ROM (de máscara) m Ejemplo estructura de una ROM de 256x4 bits Dirección de fila A 0 A 1 A 2 A 3 A 4 Decodific. de filas a 1 32 32 líneas de filas Matriz de memoria 32 x 32 Dirección de columna A 5 A 6 A 7 Decodificadores de columnas (4 decodificadores 1 a 8) y circuitos de E/S Habilitación de chip E 0 E 1 Buffers de salida O 3 O 1 O 2 O 0 50
Programmable Read Only Memory Las programa el usuario, ya que salen de fábrica f con todos los bits a 1. Se basan en fusibles que se funden en el proceso de programación. Memorias PROM La programación n de un 0 (fundir un fusible aplicando la corriente necesaria) es irreversible. Los fusibles pueden ser de metal, silicio y uniones pn. 51
Ejemplo de matriz PROM Memorias PROM 52
Erasable Programmable Read Only Memory Son programadas por el usuario Se puede volver a programar borrando previamente su contenido de dos formas: Memorias EPROM Por luz ultravioleta UV EPROM (Ultraviolet( EPROM) Eléctricamente EEPROM (Electrically( EPROM) La celda tiene la puerta aislada y puede almacenar una carga eléctrica por tiempo indefinido. El borrado consiste en eliminar dicha carga. 53
UV EPROM: Tiene una ventana de cuarzo en el encapsulado. Exponiéndola ndola a luz ultravioleta durante unos minutos se elimina la carga de las puertas de los transistores. Con el paso del tiempo la luz ambiente puede borrarla. Necesario extraerla del circuito para borrarla y reprogramarla. EEPROM: Memorias EPROM Se borran mediante impulsos eléctricos. Se pueden reprogramar en el propio circuito final. 54
Memorias EPROM Ejemplo de una UV EPROM: 27C16B, 2Kbytes Para leer OE y CE/PGM deben estar a nivel bajo Para programar: Vpp a un valor alto de tensión OE a nivel alto A0 A1 A2 0 O0 O1 Se coloca el dato a programar en bits datos Se selecciona dirección n a programar Se aplica un pulso a nivel alto en CE/PGM A3 A4 A5 A6 A7 A 0 2047 O2 O3 O4 O5 O6 A8 O7 A9 A10 10 CE/PMG OE & EN V cc = +5V V PP = +5V V ss = Gnd 55
Memorias EPROM Cronograma de programación n de una EPROM Programación A 0 -A 10 Dirección n n+1 t h(a) OE CE/PGM t S(A) t S(E) t S(VPP) t h(e) t h(d) t S(D) V PP O 0 -O 7 Dato a programar 56
Memorias EPROM 57
Memorias EPROM 58
Memorias EPROM 59
Memorias EPROM 60
Son memorias de lectura/escritura, de alta densidad, no volátiles. Se emplean en los pen drive, entre otras aplicaciones. Celda de memoria: transistor con puerta de control y puerta flotante Memorias Flash: Descripción La puerta flotante almacena carga si se aplica tensión n en la puerta de control Cuando hay carga almacena un 0.. Sin carga almacena un 1. Después s de un borrado todas las celdas están n a 1. Puerta de control Drenador Fuente Muchos e - = almacena un 0 Pocos e - = almacena un 1 61
Escritura en una celda Memorias Flash: Operaciones Se aplica tensión n positiva alta a la puerta de control. Esto atrae por la fuente y se almacenan en la puerta flotante. La carga se mantiene durante unos 100 años. a Puerta flotante +V D +V D +V PROG 0V Para almacenar un 1 no se añaden cargas 62
Lectura de una celda Memorias Flash: Operaciones Se aplica tensión n positiva a la puerta de control. Si hay un 0 (puerta cargada) esta tensión n no es suficiente para hacerlo conducir. Si hay almacenado un 1 (carga baja) esta tensión n es suficiente para hacerlo conducir. +V D +V D +V READ +V Read I 0V 0V 63
Las memorias Flash siempre se borran antes de volver a ser programadas Borrado de una celda Memorias Flash: Operaciones Se aplica una tensión n positiva a la fuente respecto de la puerta de control. La carga almacenada se elimina. 0V +V ERASE 64
Memorias Flash: Matriz básicab Sólo se accede a una línea l en cada acceso Si el transistor tiene un 1, conduce y la corriente provoca caída de tensión n en la carga activa La tensión n se compara con una de referencia. Selección fila 0 Selección fila 1 Referencia +V Carga activa Línea de bit Comparador Línea de bit +V Selección fila n Selección columna 0 Selección columna m 65
Memorias Flash: Comparación Tabla comparativa de las memorias Flash respecto a RAM Y ROM Tipo memoria Volátil Alta densidad Celda de un solo Reescribible en transistor sma.. final Flash No Si Si Si SRAM Si No No Si DRAM Si Si Si Si ROM No Si Si No EPROM No Si Si No EEPROM No No No Si 66
Memorias serie Las memorias descritas hasta el momento permiten acceder simultáneamente a todos los bits de cada palabra Memoria paralelo. Esta configuración necesita de una gran número de terminales, tanto de direcciones, como de datos. Una alternativa a las memorias paralelo son las memorias serie, tanto para enviar la dirección a la que se apunta en la memoria como para recibir los datos almacenados en la misma. Este tipo de memorias utilizan protocolos de comunicación serie síncronos ya estandarizados (buses serie). 67
Existen principalmente 4 tipos de buses serie: Memorias serie Bus I2C (Serial Serial Communication Interface), de Valvo/Philips Microwire y Microwireicrowire plus,, de National Semiconductor Corporation Bus SPI (Serial Serial Peripheral Interface), de Motorola Bus SCI (Inter Inter IC-Bus ), o UART (Universal( Asynchronous Receiver Transmitter) Asíncronos Síncronos 3 hilos 2 hilos SCI Microwire SPI I2C 68
Memorias serie: EEPROM serie I2C Ejemplo: Memoria EEPROM Serie I2C 16 Kb (24LC16B) Diagrama de bloques Terminales Vcc Vss SDA EEPROM SCL Serie I2C I2C no es exclusivo para memorias. WP Se usa en chips/ dispositivos destinados a sistemas empotrados SDA: Serial Address/Data industriales: SCL: Serial Clock WP: Write Protect input Relojes, Sensores de Tª, etc Vcc: Alimentación Vss: Masa 69
Memorias serie: EEPROM serie I2C Cronograma de transferencia de datos en el bus serie A Bus no ocupado B Inicio transferencia C Fin de transferencia D Dirección o dato válido 70
Byte de control Se envía a un primer byte de control donde se indica: Código de control: siempre 1010 Chip/bloque que se selecciona (de 0 a 7 de 0 a 3 ) Memorias serie: EEPROM serie I2C Tipo operación n (R ó W) Byte de control 71
Memorias serie: EEPROM serie I2C Operación n de escritura Escritura de un byte Escritura de una página (hasta 16 bytes) 72
Memorias serie: EEPROM serie I2C Operación n de lectura Lectura de un byte aleatorio Lectura de una página 73
Memorias serie: EEPROM serie I2C 74
Memorias serie: EEPROM serie I2C 75
Memorias serie: EEPROM serie I2C 76
Memorias serie: EEPROM serie I2C 77
Memorias serie: EEPROM serie I2C 78
A partir de chips de memoria se puede ampliar: Expansión n de memorias El número n de bits por palabra Memoria de 1Kx8 A[9:0] D[3:0] A[9:0] D[7:0] Memoria 1Kx4 Memoria 1Kx4 Memoria 1Kx4 79
A partir de chips de memoria se puede ampliar: El número n de palabras Expansión n de memorias Memoria de 2Kx4 A[9:0] Memoria 1Kx4 D[3:0] A[10:0] Memoria 1Kx4 D[3:0] Memoria 1Kx4 80
A partir de chips de memoria se puede ampliar: Expansión n de memorias El número n de bits por palabra y el número n de palabras Memoria de 2Kx8 A[9:0] Memoria 1Kx4 D[3:0] A[10:0] Memoria 1Kx4 Memoria 1Kx4 D[7:0] Memoria 1Kx4 Memoria 1Kx4 81
Expansión n de memorias: longitud de palabra Memoria de 1Kx12 con memorias de 1Kx4 82
Expansión n de memorias: número n de palabras Memoria de 2Kx4 con memorias de 1Kx4 83
Expansión n de memorias: número n de palabras Memoria de 20Kx8 con memorias de 4Kx8 84
Expansión n de memorias: número n y longitud Memoria de 4Kx8 con memorias de 1Kx4 85
Memorias RAM: estáticas ticas 86