Story Transcript
Memorias de Semiconductor Departamento de Electrónica Curso 2010/11 2010/11
Índice Introducción Clasificación de las memorias El chip de memoria Estructura interna de una
memoria Cronogramas de acceso
Memorias RAM estáticas Memorias RAM dinámicas Memorias ROM Memorias PROM Memorias E/EEPROM
Expansión de memorias
Memorias FLASH
Mapas de memoria Gestión de la memoria Ordenación de datos en
memoria
Introducción: Concepto 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. Dn-1 Dn-2
D1 D0
Palabra 0 Palabra 1
Palabra M-1 3
Introducció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
Introducción: Buses (I/II) 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 datos m
D[n-1:0]
MEMORIA Bus de control
n
R/W, CS, OE 5
Introducción: Buses (II/II) Bus de direcciones: m líneas de entrada (siendo 2m=M) para
seleccionar la palabra. 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
Introducción: Escritura Operación de 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 datos
Registro de dirección Matriz de memoria organizada en bytes
Bus de direcciones
Decodificador
101 0 1 2 3 4 5 6 7
1 1 0 1 1 1 0 1
1 0 1 1 1 0 1 0
CS
0 1 0 0 1 0 1 0
0 0 0 0 0 0 1 0
0 0 1 0 1 1 0 0
0 0 0 0 0 1 0 0
1 1 1 0 0 0 1 0
0 1 0 1 0 1 0 0
10001101
Bus de datos
Escritura
7
Introducción: Lectura Operación de 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 datos
Registro de dirección Matriz de memoria organizada en bytes
Bus de direcciones
Decodificador
011 0 1 2 3 4 5 6 7
1 1 0 1 1 1 0 1
1 0 1 1 1 0 1 0
Lectura
0 1 0 0 1 0 1 0
0 0 0 0 0 0 1 0
0 0 1 0 1 1 0 0
0 0 0 0 0 1 0 0
1 1 1 0 0 0 1 0
0 1 0 1 0 1 0 0
11000001
Bus de datos
CS 8
Introducció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
Clasificación de las memorias Memorias de acceso aleatorio
Volátiles (RAM)
Memorias de desplazamiento
No volátiles
Registros de desplazamiento
Dispositivos de acoplo de carga
ROM Estáticas PROM Dinámicas
EPROM EEPROM FLASH NVRAM PLD’s 10
Clasificación de las memorias: RAM (I/IV) Tipos de memorias RAM Memoria de acceso aleatorio (RAM)
RAM
RAM dinámica
Estática (SRAM)
SRAM asíncrona (ASRAM)
(DRAM)
SRAM
DRAM
DRAM
EDO DRAM
de ráfaga síncrona (SB SRAM)
Con modo página rápido (FPM DRAM)
salida datos extendida (EDO DRAM)
en ráfaga (BEDO DRAM)
DRAM síncrona (SDRAM)
11
Clasificación de las memorias: RAM (II/IV) Se clasifican en:
Memorias estáticas (SRAM):
El elemento de almacenamiento en un flip-flop. Almacena datos de forma indefinida siempre que exista alimentació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. Este proceso se denomina refresco. Requiere un CI adicional. Ventajas: Integración grande y bajo precio. Inconveniente: Necesidad de refresco. 12
Clasificación de las memorias: RAM (III/IV) Memorias SRAM:
SRAM asíncrona:
Su funcionamiento no está sincronizado con el reloj del sistema.
SRAM síncrona de ráfaga:
Está sincronizada con la señal de reloj del sistema para operar más rápidamente. 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 de datos) y con pipeline (Con registro en las líneas de datos). Modo ráfaga: 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é
Celdas de almacenamiento mediante flip-flop
SRAM SRAM asíncrona No sincronizada con reloj del sistema
SRAM síncrona de ráfagas Sincronizada con reloj del sistema
13
Clasificación de las memorias: RAM (IV/IV) Memorias DRAM:
FPM DRAM (Fast Page Mode):
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 actuales.
BEDO DRAM (Burst Extended Data Output):
Se basa en la mayor probabilidad que existe de acceder a posiciones consecutivas. La dirección de fila se fija, y se incrementa la de columna. El acceso es más rápido que en modo aleatorio puro.
Acceso en modo ráfaga. Genera internamente direcciones consecutivas.
SDRAM (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
Celdas de almacenamiento mediante condensador. Debe refrescarse
DRAM FPM DRAM
SDRAM
Modo página rápido Asíncrona
Síncrona
EDO DRAM Salida de datos extendida Asíncrona
BEDO DRAM EDO de ráfagas Asíncrona
14
Clasificación de las memorias: ROM (I/II) Tipos de memorias ROM
ROM Memoria de sólo lectura
PROM ROM de máscara
ROM programable (PROM)
Borrable mediante luz ultravioleta (UV EPROM)
PROM Borrable eléctricamente (EEPROM)
15
Clasificación de las memorias: ROM (II/II) ROM de máscara:
Se graba en el momento de fabricarla. Bajo precio para grandes series. La célula de memoria es un transistor.
PROM (Programmable):
Programable en el laboratorio. No se puede reprogramar.
EPROM (Erasable Programmable):
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. 16
El chip de memoria: Terminales de una memoria Vcc
GND
A0
D0
A1
D1
Bus de direcciones
Bus de datos
MEMORIA Am-2
Dn-2
Am-1
Dn-1 CS R/W OE 17
El chip de memoria: Control del chip Interior del chip
Exterior
Circuito de lectura
Terminal de datos Di
Circuito de escritura CS OE R/W
CS R/W OE Buf. entrada Buf. salida
Estado
L
L
X
On
Triestate
Escritura
L
H
L
Triestate
On
Lectura
H
L
H
Triestate
Triestate
Bloqueada
H
X
X
Triestate
Triestate
Bloqueada 18
Estructura interna de una memoria (I/IV) Elementos:
Opcionalmente:
Matriz de células básicas
Lógica de selección
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
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)
Por donde salen/entran los datos
Buffers de entrada y de salida
Circuitos adicionales que conectados al bus de direcciones permiten seleccionar (activar) otros chips a través de CS
19
Estructura interna de una memoria (II/IV) RAM 64Kx1
DI
(CY7C187)
SENSE AMPS
256x256 ARRAY
DO
CE COLUMNDECODER
POWER DOWN
WE A4 A5 A6 A7 A8 A9 A10 A11
A12 A13 A14 A15 A0 A1 A2 A3
ROW DECODER
INPUT BUFFER
20
Estructura interna de una memoria (III/IV) RAM 256Kx4 (CY7C106B)
SENSE AMPS
512 x 512 x 4 ARRAY
I/O3 I/O2 I/O1 I/O0
COLUMN DECODER
A0 A 10 A 11 A 12 A 13 A 14 A 15 A 16 A 17
A1 A2 A3 A4 A5 A6 A7 A8 A9
ROW DECODER
INPUT BUFFER
POWER DOWN
CE WE OE
21
Estructura interna de una memoria (IV/IV) RAM 2Kx8 (CY7C128A)
I/O0 INPUTBUFFER
I/O2 SENSE AMPS
A6 A5
I/O1 ROW DECODER
A10 A9 A8 A7
128x16x8 ARRAY
A4
I/O3 I/O4 I/O5
CE WE
POWER DOWN
COLUMN DECODER
I/O6 I/O7
OE A3
A2
A1
A0
22
Cronogramas de acceso: notación Notación:
Señal compuesta por varia líneas
Estado de alta impedancia
Valor de la señal irrelevante
Representación del ‘0’ y ‘1’ lógicos
Instante de cambio no determinado
Alta impedancia
0
1
0
23
Cronogramas de acceso: lectura (RAM/ROM) Tiempo de acceso de lectura: tiempo mínimo desde que se inicia la
lectura hasta que el dato está en los terminales. Tiempo de ciclo de lectura/escritura: tiempo mínimo entre dos inicios
de lectura/escritura. Tiempo acceso de lectura ≈ Tiempo de ciclo lectura Tiempo de ciclo de lectura Bus direcciones
CPU
Entrada CS
Entrada R/W - OE
Memoria
Bus Datos
Dirección salida Tacc – control por CS
Tacc – control por OE
Dato válido
24
Cronogramas de acceso: escritura (RAM) Tiempo de acceso de escritura: tiempo mínimo desde inicio de
operación hasta que el dato se almacena. Tiempo de ciclo de escritura (tWC) Dirección válida
Bus direcciones
Tacc – control por CS Entrada CS
tAW
tWR tAW
CPU
tW
tWR
Tacc – control por WE Entrada R/W - WE
Bus Datos tWC Tiempo del ciclo de escritura tW Tiempo del pulso de escritura tDW Tiempo de escritura (set-up) tDH Tiempo de mantenimiento (hold) tAW Tiempo de establecimiento de la dirección tWR Tiempo de liberación de escritura
Dato válido
tDW
tDH
25
Memorias RAM estáticas: el chip (I/II) La celda básica de almacenamiento es un biestable flip/flop. Mantiene la información mientras exista alimentació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
Datos
Datos
26
Memorias RAM estáticas: el chip (II/II) Ejemplo de estructura de
Selección de fila 0
celdas 4xn. Selección de fila 1
Las celdas de la misma fila
comparten la línea de selección. La señal R/W indica el
Selección de fila 2
Selección de fila n
sentido de la operación. R/W
Buffers de entrada/salida de datos y control
Bit 0
Bit 1
Bit 2
Bit 3
27
Memorias RAM estáticas: estructura Ejemplo de estructura de SRAM síncrona de ráfaga
28
Memorias RAM dinámicas: el chip (I/III) La celda básica de almacenamiento es un condensador La información se pierde debido a fugas de corriente El transistor actúa de interruptor Muy alto nivel de integración Columna (línea de bit)
Fila
29
Memorias RAM dinámicas: el chip (II/III) Ejemplo de escritura de un ‘1’ y un ‘0’ en la celda
30
Memorias RAM dinámicas: el chip (III/III) Ejemplo de lectura de un ‘1’ y refresco de un ‘1’ en la celda
31
Memorias RAM dinámicas: estructura Estructura de
una memoria DRAM.
Las líneas de direcciones van multiplexadas.
RAS: validación de dirección de fila.
CAS: validación de dirección de columna.
Ciclos de lectura, escritura, modo página y refresco.
32
Memorias RAM dinámicas: cronograma (I/III) Ciclo de lectura
33
Memorias RAM dinámicas: cronograma (II/III) Ciclo de escritura
34
Memorias RAM dinámicas: cronograma (III/III) Ciclo del modo página
35
Memorias RAM dinámicas: refresco (I/IV) Típicamente hay que refrescar cada 8-16 ms. Una operación de lectura refresca automáticamente toda la fila
seleccionada Refresco a ráfagas: 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. 36
Memorias RAM dinámicas: refresco (II/IV) Refresco a ráfagas y distribuido: 2 ms 0
1
2
253 254
255
Ciclo de refresco
0
Tiempo disponible para R/W
Refresco 0
1
2
3
254
255
0
Tiempos disponibles para R/W 37
Memorias RAM dinámicas: refresco (III/IV) Tipos de refresco: Refresco sólo 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 RAS. Se habilita un contador interno que genera la dirección de fila a refrescar. 38
Memorias RAM dinámicas: refresco (IV/IV) Factor de calidad de memorias DRAM: Porcentaje de tiempo que se dedica a la operación de refresco. Mejor
cuanto más bajo. Factor _ calidad =
N º ciclos _ de _ refresco _ en _ un _ periodo _ de _ refresco ×100 N º ciclos _ de _ memoria _ totales _ en _ un _ periodo _ de _ refresco
Ejemplo:
Periodo de refresco: 2 ms
DRAM de 256 filas
Ciclo de memoria: 200 ns Factor _ calidad =
256 ×100 = 2,56% 2 × 10 −3 / 200 ×10 −9
39
Memorias ROM: el chip Programada en el momento de fabricación. Costes fijos elevados. Normalmente se emplea en grandes tiradas. La célula de memoria es un transistor.
La presencia o ausencia de conexión en la base representa un ‘1’ o ‘0’, respectivamente. Columna Columna Fila
Fila +VDD
+VDD
40
Memorias ROM: estructura (I/II) Ejemplo de esquema
de ROM de 16x8 bits
41
Memorias ROM: estructura (II/II) Ejemplo estructura de
una ROM de 256x4 bits Dirección de fila
A0 A1 A2 A3 A4
Dirección de columna
A5 A6 A7
Habilitación de chip
E0 E1
Decodific. de filas a 1 32
32 líneas de filas
Matriz de memoria 32 x 32
Decodificadores de columnas (4 decodificadores 1 a 8) y circuitos de E/S
Buffers de salida O3
O1
O2
O0
42
Memorias PROM: el chip Programmable Read Only Memory Las programa el usuario, ya que salen de fábrica con
todos los bits a ‘1’. Se basan en fusibles que se funden en el proceso de
programación. La programación de un ‘0’ (fundir un fusible aplicando la
corriente necesaria) es irreversible. Los fusibles pueden ser de metal, silicio y uniones pn. 43
Memorias PROM: estructura Ejemplo de matriz
PROM
44
Memorias EPROM: el chip (I/II) Erasable Programmable Read Only Memory Son programadas por el usuario Se puede volver a programar borrando previamente su
contenido de dos formas:
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. 45
Memorias EPROM: el chip (II/II) UV EPROM:
Tiene una ventana de cuarzo en el encapsulado.
Exponié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:
Se borran mediante impulsos eléctricos.
Se pueden reprogramar en el propio circuito final. 46
Memorias EPROM: estructura 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 Se coloca el dato a programar en bits datos Se selecciona dirección a programar Se aplica un pulso a nivel alto en CE/PGM
A0 A1 A2 A3
0 O0 O1
A4 A5 A6 A7 A8 A9 A10
0
A2047
O2 O3 O4 O5 O6 O7
10
CE/PMG & EN OE
Vcc = +5V VPP= +5V Vss= Gnd
Memorias EPROM: cronograma Cronograma de programación de una EPROM Programación A0-A10
Dirección n
n+1 th(A)
OE
tS(A)
th(E)
tS(E) CE/PGM
th(D)
tS(VPP )
tS(D) VPP
O0-O7
Dato a programar 48
Memorias Flash: el chip (I/IV) 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
La puerta flotante almacena carga si se aplica tensión en la puerta de control
Cuando hay carga almacena un ‘0’. Sin carga almacena un ‘1’.
Después de un borrado todas las celdas están a ‘1’. Puerta de control
Drenador
Fuente
Muchos e- = almacena un ‘0’
Pocos e- = almacena un ‘1’ 49
Memorias Flash: el chip (II/IV) Escritura en una celda
Se aplica tensió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. Puerta flotante
+VD
+VD
+VPRO G
0V Para almacenar un ‘1’ no se añaden cargas 50
Memorias Flash: el chip (III/IV) Lectura de una celda
Se aplica tensión positiva a la puerta de control.
Si hay un ‘0’ (puerta cargada) esta tensión no es suficiente para hacerlo conducir.
Si hay almacenado un ‘1’ (carga baja) esta tensión es suficiente para hacerlo conducir. +VD
+VREAD
+VD
+VRead
0V
I
0V 51
Memorias Flash: el chip (IV/IV) Las memorias Flash siempre se borran antes de volver a
ser programadas Borrado de una celda
Se aplica una tensión positiva a la fuente respecto de la puerta de control.
La carga almacenada se elimina. 0V
+VERASE 52
Memorias Flash: estructura Sólo se accede a una línea en
+V
cada acceso
Carga activa
Si el transistor tiene un ‘1’,
Comparador
conduce y la corriente provoca caída de tensión en la carga activa
+V
Referencia Línea de bit
Selección fila 0
La tensión se compara con una
Línea de bit
de referencia. Selección fila 1
Selección fila n
Selección columna 0
Selección columna m
53
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
54