1
Podstawy techniki
mikroprocesorowej
ETEW006
Pamięci
ROM i RAM
Andrzej Stępień
Katedra Metrologii Elektronicznej i Fotonicznej
Pamięć
komputera/mikroprocesora/mikrokontrolera
[1#3]
zawarto
ść
(memory contents)
:
─
kod programu
(np. kod aplikacji, systemu operacyjnego)
─
dane
(do oblicze
ń
lub wyniki oblicze
ń
)
trwało
ść
danych
(data volatility)
:
─
ulotne
(zasilanie podtrzymuje zawarto
ść
;
RAM,
NVRAM
,
FRAM
..
)
─
nieulotne
(zawarto
ść
niezale
ż
na od zasilania;
ROM, PROM, EPROM,
EEPROM,
NVRAM
,
FRAM
..
)
typ no
ś
nika
(storage technologies)
:
─
półprzewodnikowy
(układ scalony)
─
magnetyczny
(układ scalony, struktury ferrytowe, ta
ś
my, dyski, karty
magnetyczne)
─
optyczny
(dyski optyczne)
─
inny: polimerowy, papierowy
(ta
ś
ma perforowana)
, ..
http://en.wikipedia.org/wiki/Computer_data_storage
http://pl.wikipedia.org/wiki/Pami
ęć
_komputerowa
Pamięć
komputera/mikroprocesora/mikrokontrolera
[2#3]
forma dost
ę
pu
(mutability, read/write storage)
:
─
tylko odczyt
(bez ogranicze
ń
; zapis tylko w fazie produkcji;
read only
)
─
jedno/wielokrotny zapis
(ograniczony technologi
ą
produkcji)
,
odczyt
(bez
ogranicze
ń
;
read only
)
─
wielokrotny odczyt i zapis (
bez ogranicze
ń
;
read/write
)
organizacja
(data organization and representation, capacity)
:
─
pojemno
ść
, wielko
ść
(liczba bitów/bajtów/słów przechowywanych danych)
─
g
ę
sto
ść
zapisu
(
storage density
; w pami
ę
ciach optycznych, magnetycznych)
zasady dost
ę
pu
(accessibility)
:
─
dost
ę
p swobodny
(random access)
,
dost
ę
p do dowolnej lokalizacji w
dowolnym czasie
─
sekwencyjny
(sequential access
), dane uszeregowane szeregowo
http://en.wikipedia.org/wiki/Computer_data_storage
http://pl.wikipedia.org/wiki/Pami
ęć
_komputerowa
Pamięć
komputera/mikroprocesora/mikrokontrolera
[3#3]
szybko
ś
ć
(performance)
:
─
szybko
ść
transferu danych
(bit rate)
─
czas cyklu
(cycle time)
─
czas dost
ę
pu
(access time)
─
czas oczekiwania
(CAS latency)
─
zasady od
ś
wie
ż
ania
(refresh cycle)
;
pami
ę
ci statyczne i dynamiczne
zasilanie, pobór mocy
(energy use)
inne, np. hierarchiczno
ść
pami
ę
ci: rejestry procesora, pami
ęć
podr
ę
czna
(cache)
,
operacyjna, masowa, wewn
ę
trzna/zewn
ę
trzna
..
http://en.wikipedia.org/wiki/Computer_data_storage
http://pl.wikipedia.org/wiki/Pami
ęć
_komputerowa
Cortex-M0/M0+
Inicjalizacja mikrokontrolera
[1#2]
brak inicjalizacji automatycznej
po wł
ą
czeniu zasilania / sprz
ę
towym
zerowaniu
(Reset)
MCU; inicjalizacja wykonywana przed wywołaniem
programu SystemInit
typowe procedury:
–
przyporz
ą
dkowanie wektorów
(adresów)
wyj
ą
tków
/
przerwa
ń
(exception / interrupts vectors)
od adresu 0x0000 0000
(Flash)
lub 0x1000 0000
(RAM)
–
inicjalizacja warto
ś
ci pocz
ą
tkowej stosu, wska
ź
nika stosu
(MSP, Main Stack
Pointer) dla trybów pracy (Thread Mode [MSP/PSP] / Handler Mode [MSP])
–
okre
ś
lenie zasad dost
ę
pu do pami
ę
ci
(memory system)
:
•
akcelerator dost
ę
pu do pami
ę
ci
(MAM – Memory Accelerator Module),
•
zarz
ą
dzanie pami
ę
ci
ą
(MMU – Memory Management Unit ),
•
zewn
ę
trzny kontroler pami
ę
ci
(EMC – External Memory Controller)
ARM Software Development Toolkit. User Guide
ARM DUI 0040D, Version 2.50
UM10398. LPC111x/LPC11Cxx User manual.
NXP, Rev. 12.3 — 10 June 2014
Cortex-M0/M0+
Inicjalizacja mikrokontrolera
[2#2]
typowe procedury:
–
uruchomienie podstawowych układów we/wy
:
•
ź
ródło taktowania procesora (IRC / XTAL / WDT),
•
powielacz cz
ę
stotliwo
ś
ci (PLL – Phase Locked Loop ),
•
dzielnik cz
ę
stotliwo
ś
ci taktuj
ą
cej rdze
ń
(SYSAHBCLKDIV),
•
taktowanie wybranych układów peryferyjnych,
•
Watchdog itd.
–
okre
ś
lenie zasad dost
ę
pu do pami
ę
ci
wymaganej przez kompilator
j
ę
zyka
C
(Heap - sterta)
–
rozpocz
ę
cie wykonywania programu w j
ę
zyku C
(entering C
code)
ARM Software Development Toolkit. User Guide
ARM DUI 0040D, Version 2.50
UM10398. LPC111x/LPC11Cxx User manual.
NXP, Rev. 12.3 — 10 June 2014
2
Pamięć ROM
(Read-Only Memory)
tylko odczyt
,
brak wpływu napi
ę
cia zasilania na zawarto
ść
pami
ę
ci
ROM
- programowane przez producenta pami
ę
ci w czasie produkcji (MROM -
Mask programmable ROM)
PROM
(Programmable ROM)
- pami
ęć
1-krotnego zapisu (programowania);
programowane przez przepalenie poł
ą
cze
ń
struktury wewn
ę
trznej
EPROM
(Electrically Programmable ROM)
- pami
ęć
, programowalna
elektrycznie, kasowana innymi metodami np. przez na
ś
wietlanie
ś
wiatłem
ultrafioletowym o wysokiej energii
OTP EPROM
(One -Time Programmable EPROM)
- pami
ęć
EPROM
1-krotnie programowalna (brak szklanego okienka)
EEPROM
(Erasable Electrically Programmable ROM)
- pami
ęć
wielokrotnego
zapisu, kasowalna i programowalna elektrycznie
Flash EEPROM
– zapis / kasowanie wielu (bloków) komórek pami
ę
ci
podczas jednej operacji programowania
FRAM
(Ferroelectric RAM)
– ferroelektryczna pami
ęć
RAM
http://pl.wikipedia.org/wiki/Pami
ęć
_tylko_do_odczytu
Pami
ęć
PROM
http://computer.howstuffworks.com/rom3.htm
chipy PROM (rys. 2) posiadaj
ą
siatk
ę
kolumn i wierszy (jak typowa pami
ęć
);
ró
ż
nica polega na tym,
ż
e ka
ż
de skrzy
ż
owanie kolumny i wiersza ma tzw.
bezpiecznik (fuse)
HIGH
- warto
ść
pocz
ą
tkowa wszystkich komórek (
nienaruszone bezpieczniki
)
uzyskanie stanu
LOW
wymaga energii (pr
ą
du) powoduj
ą
cej przerwanie
poł
ą
czenia pomi
ę
dzy kolumn
ą
i wierszem (
przepalenie bezpiecznika
)
proces okre
ś
lany jako pieczenie PROM (PROM burning)
pami
ęć
PROMs mo
ż
na programowa
ć
tylko 1-krotnie
programowalne pami
ę
ci tylko do odczytu
(PROM, Programmable Read-Only
Memory) były stosowane na etapie
testów oprogramowania lub produkcji
małoseryjnej
EPROM / OTP EPROM
EPROM
(
E
lectrically
P
rogrammable
R
ead
O
nly
M
emory) is a nonvolatile
memory which offers the ability to both program and erase the contents
of the memory multiple times.
An EPROM must be
programmed
using a
12.5 volt
(or higher) PROM
programmer, and then transferred into the system in which it is intended
to function.
EPROMs can be
erased
by shining
ultraviolet light
into the window in
the top of the IC package. The process of writing data into an EPROM
and then erasing it may be repeated almost indefinitely. EPROMs are
usually used for product development, and later replaced with less
expensive one–time programmable EPROMs.
OTP
EPROM:
O
ne–
T
ime
P
rogrammable EPROM. An EPROM which
can only be written with code/data once instead of multiple times.
Generally, OTP EPROMs are less expensive then erasable EPROMs.
EPROM
Erasure Operation
erasure begins when the cells are exposed to
light with
wavelengths shorter
than approximately
4000 Å
; it should be noted that sunlight and some type of
fluorescent lamps
have wavelengths in the
3000-4000 Å
range
research shows that constant exposure to
room
level
fluorescent
lighting
could
erase
a typical M27C64A in about
3 years
, while it would take
approximately
1 week
to cause erasure when exposed to direct
sunlight
recommended
erasure procedure for the M27C64A is exposure to short
wave ultraviolet light which has a
wavelength
of
2537 Å
integrated dose (i.e. UV
intensity
x exposure time) for erasure should be a
minimum of
15 W-sec/cm
2
; erasure time with this dosage is approximately
15 to 20 minutes
using an ultraviolet lamp with
12000
µ
W/cm
2
power rating -
M27C64A should be placed within
2.5 cm
(1 inch) of the lamp tubes during
the erasure
EEPROM vs Flash Memory
EEPROM
(Erasable Electrically Programmable ROM)
:
•
kasowanie całej pami
ę
ci
•
programowanie lub zapis
pojedynczego bajtu
lub
strony
(bloku)
Flash
traktowana jako szybka pami
ęć
EEPROM:
•
programowanie i kasowanie
tylko bloków danych
EEPROM
(Electronically Erasable Programmable Read Only Memory)
pami
ęć
EPROM
posiada
siatk
ę
kolumn i wierszy;
ka
ż
da z komórek ma dwa
tranzystory
tranzystory s
ą
oddzielone
od siebie za pomoc
ą
cienkiej warstwy tlenku
(oxide layer)
tranzystory okre
ś
lane s
ą
jako z pływaj
ą
c
ą
bramk
ą
(
Floating Gate
) i
steruj
ą
c
ą
bramk
ą
(
Control Gate
)
przy braku zmian komórka jest w stanie HIGH
stan LOW wymaga procesu
tunelowania Fowler-Nordheim
(i kasowania)
Thin Oxide
Layer
Thin Oxide
Layer
Word Line
B
it
L
in
e
http://electronics.howstuffworks.com/flash-memory.htm
Control
Gate
Floating
Gate
Source
Drain
Current flow
Negatively charged
electrons
3
http://computer.howstuffworks.com/rom.htm
http://electronics.howstuffworks.com/flash-memory.htm
EEPROM
Tunneling
wzbudzone elektrony s
ą
przesuwane (popychane) i
uwi
ę
zione po drugiej
stronie cienkiej warstwy
tlenku – tworzy si
ę
ujemny
ładunek
stan
HIGH
komórki zakłada,
ż
e
liczba elektronów
jest
poni
ż
ej progu 50%
stan
LOW
komórki zakłada,
ż
e
liczba elektronów
jest
powy
ż
ej progu 50%
pusta pami
ęć
EEPROM ma wszystkie bramki w pełni otwarte, daj
ą
c ka
ż
dej
komórce warto
ść
HIGH
Thin Oxide
Layer
Word Line
B
it
L
in
e
Control
Gate
Floating
Gate
Source
Drain
Current flow
Negatively charged
electrons
HOW STUFF WORKS
Pamięci Flash: NAND / NOR
Jim Cooke: ESC-225 NAND 101. An Introduction to NAND
Flash and How to Design it into Your Next Product.
Micron Technology, Inc. April 4 2006, fig. 4
Zalety
:
– szybki zapis (fast writes)
– szybkie kasowanie
(fast erases)
Wady
:
– wolny losowy dost
ę
p
(slow random access)
– trudny zapis bajtów
(byte writes difficult)
Zastosowanie
:
– dyski
– rejestratory audio-video
– sekwencyjny zapis danych
Zalety
:
– szybki losowy odczyt
(random access)
– mo
ż
liwo
ść
zapisu bajtowego
(Byte writes possible)
Wady
:
– wolny zapis (slow writes)
– wolne kasowanie (slow
erase)
Zastosowanie
:
– odpowiednik EPROM
– pami
ę
ci mikrokontrolerów
NOR
NAND
NOR
vs
NAND
Programming
unit:
µµµµ
s/Byte
Erasing
unit:
µµµµ
s/Byte
Read
unit:
µµµµ
s/Byte
NAND NOR
NAND NOR
NAND
x8
NOR
NAND
x16
6,0
0,4
0,12
15,2
69
44
45
NAND
(Dane)
NOR
(Kod)
Pojemno
ść
1 Gbit x chip
128 Mbit per chip
Napi
ę
cie zasilania
2,7 – 3,6 V
2,3 – 3,6 V
Czas dost
ę
pu
50 ns (serial access cycle)
70 ns (30pF; 2,3V)
25
µµµµ
s (random access)
65 ns (30pF, 2,7V)
Szybko
ść
program.(typ)
200
µµµµ
s / 512 Byte
8
µµµµ
s / Byte
Szybko
ść
kasow. (typ)
2 ms / Block (16 KB)
4,1 ms / 512 Byte
Prog + Kasow. (typ)
33,6 ms / 64 KB
700 ms / Block
Pamięć FRAM
kryształ ferroelektryczny posiada wewn
ą
trz ruchomy atom, który mo
ż
e
porusza
ć
si
ę
w kierunku przyło
ż
onego (w poprzek powierzchni kryształu) pola
elektrycznego
odwrócenie pola elektrycznego powoduje ruch atomu w przeciwnym kierunku
pozycje atomów w górnej i dolnej cz
ęś
ci kryształu s
ą
trwałe;
usuni
ę
cie pola
elektrycznego pozostawia
atom w stabilnym poło
ż
eniu,
tak
ż
e przy braku zasilania
idealna pami
ęć
cyfrowa:
– dwa stabilne stany danych
– krótki czas i niewielka
energia do zmiany stanu
– bardzo stabilna struktura
w ró
ż
nych warunkach
ś
rodowiskowych
Pb (ołów)
O
ZrTi (tytanian cyrkonu)
www.RAMTRON.com
Parametry pamięci
rozmiar pami
ę
ci
(Memory Size)
/
pojemno
ść
pami
ę
ci
(Storage Capacity)
–
wielko
ść
pami
ę
ci mierzona w bajtach, słowach lub innych znormalizowanych
jednostkach danych
(IEEE Std. 610.10-1994)
napi
ę
cie zasilania
V
CC
(Supply Voltage)
(min-typ-max) zgodnie z norm
ą
IC.
IEC61360-AAE690
organizacja pami
ę
ci
(Memory Organization)
traktowana jako umowny zapis
struktury pami
ę
ci, np. 512 x 8, 1024 x 16
czas dost
ę
pu
t
ACC
(Access Time)
– czas pomi
ę
dzy momentem podania adresu, a
uzyskaniem stabilnych danych
aktywowanie układu
(Chip Enable)
aktywowanie buforów wyj
ś
ciowych
(Output Enable)
przy odczycie
napi
ę
cie programowania
V
PP
(Programming Voltage)
/
pr
ą
d programowania
I
PP
(Programming Current)
napi
ę
cie zasilania pami
ę
ci w trybie u
ś
pienia
(Standby Supply Voltage)
(tryb
redukcji mocy)
zakres temperatur pracy
(Operating Temperature)
pami
ę
ci (min-typ-max)
Nazwy sygnałów pami
ę
ci
V
CC
– napi
ę
cie zasilania
(Supply Voltage)
V
SS
– potencjał odniesienia, masa
(Ground)
V
PP
– napi
ę
cie programowania
(Program Supply)
A
0
.. A
XX
(Addr) – wej
ś
cia adresowe
(Address Inputs)
D
0
.. D
XX
or
Q
0
.. Q
XX
(Data) – wej
ś
cia/wyj
ś
cia danych
(Data Inputs / Outputs)
RD
(or RD# or RD\) – sygnał aktywacji odczytu danych
(Data Read)
WR
(or WR# or WR\) – sygnał aktywacji zapisu danych
(Data Write)
CS
(or CS# or CS\),
E
(or E# or E\) – aktywacja układu
(Chip Select / Enable)
OE
(or OE# or OE\),
G
(or G# or G\) – aktywacja wy
ść
(Output Enable)
P
(or P# or P\) – sygnał aktywacji programowania
(Program)
NC
– brak wewn
ę
trznego poł
ą
czenia
(Not Connected Internally)
DU
– nie stosowa
ć
(Don’t Use)
4
Wybór
pamięci
Pami
ęć
ROM
Pami
ęć
RAM
Addr
Data
OE
CS
Addr (A
15..0
)
Data (IO
7..0
)
OE
CS
WE
Address Bus
Microprocessor
Microcontroller
Addr
Data
Data Bus
RD
WR
Single CS#
MODE
CE OE WE Ai
I/O
Standby/Write Inhibit H
X
X
X
High Z
Output disable
X
H
X
High Z
Read
L
L
H
Ai
D
OUT
Write/Program
L
H
L
Ai
D
IN
I
SB1
V
CC
Standby Current < 50
µ
A
I
CC
V
CC
Active Current
< 15 mA
AT29LV512 .
512K (64Kx8) 3-volt Only Flash Memory.
Atmel, 0177O–FLASH–9/08
Dekoder
adresów
Address
Decoder
Odczyt
z pamięci
Pami
ęć
ROM
Pami
ęć
RAM
Addr
Data
OE
CS
Addr (A
15..0
)
Data (IO
7..0
)
OE
CS
WE
Address Bus
Microprocessor
Microcontroller
Addr
Data
Data Bus
RD
WR
Single CS#
AT29LV512 .
512K (64Kx8) 3-volt Only Flash Memory.
Atmel, 0177O–FLASH–9/08
AC Read Characteristics AT29LV512-
12
Symbol Parameter
Units
t
ACC
Address to Output Delay
.. 120 ns
t
CE
CE to Output Delay
.. 120 ns
t
OE
OE to Output Delay
0 .. 50 ns
t
DF
CE or OE to Output Float
0 .. 30 ns
t
OH
Output Hold from OE, CE
0 .. ns
or Address, whichever occurred first
Access Time
t
ACC
Address Valid
Output
Valid
EEPROM
AT25128/AT25256.
SPI Serial Automotive EEPROMs
128K (16,384 x 8) / 256K (32,768 x 8)
Atmel Corporation 2002, Rev. 3262A–SEEPR–02/02
Serial Peripheral Interface (
SPI
) Compatible
Medium-voltage and Standard-voltage Operation
– 5.0 (V
CC
= 4.5V to 5.5V)
– 2.7 (V
CC
= 2.7V to 5.5V)
3 MHz Clock Rate
64-byte Page Mode and Byte Write Operation
Block Write Protection – Protect 1/4, 1/2, or Entire Array
Write Protect
(WP) Pin and Write Disable Instructions for both
Hardware and Software Data Protection
Self-timed
Write Cycle
(
5 ms Typical
)
High-reliability
–
Endurance
: 100,000 Write Cycles
–
Data Retention
: > 200 Years
Advantages of the FRAM Memory
www.RAMTRON.com
*At 25 MHz, F-RAM writes
488 times faster than
comparable EEPROM device.
Ramtron
FM24C16
10
µµµµ
A
150µΑ
150µΑ
150µΑ
150µΑ
1E+10
72
µµµµ
s
47ms
Standby I
CC
Active I
CC
FRAM
FRAM – New Generation of Non-Volatile Memory.
Texas Instruments, 2009, SZZT014A
LPC1114
Flash Memory Access
Depending on the system clock frequency, access to the flash memory can be
configured with various access times by writing to the FLASHCFG register
(address 0x4003 C010)
Table 48. Flash configuration register (FLASHCFG) bit description
Bit
Value
Description
Reset value
1:0
Flash memory access time
. Value +1 is equal to
10
the number of system clocks used for flash access.
00
1 system clock flash access time
(for system clock frequencies of up to 20 MHz).
01
2 system clocks flash access time
(for system clock frequencies of up to 40 MHz).
10
3 system clocks flash access time
(for system clock frequencies of up to 50 MHz).
11
Reserved.
31:2
Reserved.
User software must not change the value of these bits.
Bits 31:2 must be written back exactly as read.
UM10398. LPC111x/LPC11Cxx User manual.
NXP, Rev. 12.3 — 10 June 2014, p. 55
5
Pamięć RAM
(Random Access Memory)
[1#3]
utrata zawarto
ś
ci przy zaniku napi
ę
cia zasilania
Random Access
=
dost
ę
p swobodny, dowolny, losowy,
przypadkowy (zapis / odczyt)
dowolne dane dost
ę
pne bezpo
ś
rednio w przeciwie
ń
stwie do danych
zapisanych na ta
ś
mie magnetycznej
bity
(informacje) zapisywane w
przerzutnikach typu D-Latch
ka
ż
dy,
najcz
ęś
ciej zło
ż
ony z
6
(6T)
lub
4
(4T)
tranzystorów
pami
ęć
(6T)
1 GBit:
1
∗
1024
∗
1024
∗
1024
∗
6 = 6 442 450.944 tranzystory
http://en.wikipedia.org/wiki/Static_random-access_memory
Pamięć RAM
(Random Access Memory)
[2#3]
bity
(informacje) zapisywane w
przerzutnikach typu D-Latch
ka
ż
dy,
najcz
ęś
ciej zło
ż
ony z
6
(6T)
lub
4
(4T)
tranzystorów
http://en.wikipedia.org/wiki/Static_random-access_memory
A six-transistor CMOS SRAM cell
(M1 .. M4 – D-Latch
M5, M6 – access transistors)
Pami
ęć
4-tranzystorowa:
zaleta – wi
ę
ksza g
ę
sto
ść
upakowania
wada – wi
ę
ksza zło
ż
ono
ść
(du
ż
e
warto
ś
ci i małe rozmiary
rezystorów R)
R
R
Understanding Static RAM Operation.
IBM, App Note, 03/97
Pamięć RAM
(Random Access Memory)
[3#3]
SRAM
(Static RAM)
:
•
przerzutnik bistabilny
jako element pami
ę
ciowy
•
brak cykli od
ś
wie
ż
ania
•
wi
ę
ksza
(~4 razy) powierzchnia od pami
ę
ci DRAM o tej samej
pojemno
ś
ci
•
szybsza
w stosunku do pami
ę
ci dynamicznej
DRAM
(Dynamic RAM)
:
•
pami
ę
ci
ferrytowe
u
ż
ywane w latach 50. i 60. XX wieku
•
kondensator
jako element pami
ę
ciowy
•
od
ś
wie
ż
anie
(refresh)
ładunku
kondensatora (upływno
ść
)
•
małe
rozmiary
http://pl.wikipedia.org/wiki/RAM
Pamięć nieulotna NVRAM
(Non-Volatile Random Access Memory)
Pami
ęć
nieulotna
NVRAM
pami
ęć
o dost
ę
pie swobodnym,
zachowanie
zawarto
ś
ci w momencie zaniku napi
ę
cia zasilania
•
pami
ęć
z podtrzymaniem bateryjnym
•
NRAM
- technologia nanorurek w
ę
glowych
•
MRAM
(Magnetic Random Access Memory)
– magnetyczny efekt
tunelowy
•
OUM
(Ovonic Unified Memory)
- zmiany stanu stopów pierwiastków
rudotwórczych, zmiana stanu z krystalicznego na amorficzny za
pomoc
ą
podgrzewania impulsami elektrycznymi (laser); stop
tellurku antymonu i tellurku galu (analogia do płyt CD, DVD);
faza experymentalna
(np. Intel)
•
FRAM
lub
FeRAM
(Ferro electric Random Access Memory)
–
wła
ś
ciwo
ś
ci ferromagnetyczne
http://pl.wikipedia.org/wiki/NVRAM
Pamięć statyczna SRAM
Pamięć dynamiczna DRAM
bit = 1
bit = 0
Select = 1
On
Off
Off
On
N1
N2
P1
P2
On
On
Word Line
Bit
Line
Storage
element
(capacitor)
switching
element
SRAM Cell
– bit to stan
przerzutnika typu D
DRAM Cell
– bit to ładunek
kondensatora C
C = 0,020 – 0,040 pF
C
Sense
Amplifier
konieczno
ść
od
ś
wie
ż
ania ładunku
ta
ń
sza w produkcji
DRAM Architecture
Word Line
Bit
Line
Storage
element
(capacitor)
switching
element
DRAM Cell
Memory
Array
.. Bit Lines ..
..
W
o
rd
L
in
e
s
..
R
o
w
D
e
co
d
e
r
Column Decoder
Data In/Out
Buffers
Sense Amps
RAS CAS
R/W
OE
Addr
Data
RAS – Row Access Select
CAS – Column Access Select
R/W – Read / Write
OE – Output Enable
CS – Chip Select
CS
6
Sterowanie pamięcią dynamiczną
DRAM
zło
ż
one zasady sterowania pami
ę
ci
ą
dynamiczn
ą
:
adresowanie wybranych wierszy (rows) i kolumn (columns):
RAS
(Row Address Select)
CAS
(Column Address Select)
wewn
ę
trzne liczniki od
ś
wie
ż
ania (
Refresh Counters
) lub rejestry
ś
ledz
ą
ce sekwencj
ę
od
ś
wie
ż
ania lub inicjuj
ą
ce cykl od
ś
wie
ż
ania
wzmacniacze sygnału (
Sense Amplifier
) przy detekcji stanu (odczyt) lub
zmianie stanu komórki pami
ę
ci (zapis/od
ś
wie
ż
anie)
WE
(Write Enable)
odblokowanie procedury zapisu komórki pami
ę
ci
OE
(Output Enable)
uaktywnienie stanów pami
ę
ci (linia danych)
Understanding DRAM Operation. Applications Note.
IBM, December 1996
DRAM
Refresh
upływno
ść
/rozładowanie kondensatora (dziura w wiadrze) w czasie kilku
milisekund powoduje zanik ładunku (stan LOW)
procesor lub kontroler pami
ę
ci ma doładowa
ć
wszystkie kondensatory
posiadaj
ą
ce stan HIGH przed ich rozładowaniem; kontroler pami
ę
ci
odczytuje stany komórek pami
ęć
, doładowuje i ponownie zapisuje
od
ś
wie
ż
anie (refresh) odbywa si
ę
automatycznie, tysi
ą
ce razy na sekund
ę
http://computer.howstuffworks.com/ram.htm
kondensator z elektronami mo
ż
na
potraktowa
ć
jak wiadro z wod
ą
stan HIGH komórki pami
ę
ci to
napełnione wiadro
stan LOW komórki pami
ę
ci to puste
wiadro
Refresh
DRAM
Refresh
ka
ż
da komórka pami
ę
ci składa si
ę
z tranzystorów i małego
kondensatora
o
pojemno
ś
ci około
20-40 fF
(femtofarad, 0.020-0.040 pF) – naładowany
kondensator to stan HIGH, rozładowany kondensator to stan LOW
DRAM
musi by
ć
od
ś
wie
ż
ana (
refresh
) w okre
ś
lonym czasie
t
REF
:
Micron Technology
:
okres od
ś
wie
ż
ania (
refresh period)
t
REF
= 32 / 64 ms (2,048 / 4,096
cycles)
Samsung Electronics
(
Auto refresh
)
:
okres od
ś
wie
ż
ania (
refresh period)
t
REF
= 64 ms (4K cycles)
3
ró
ż
ne metody od
ś
wie
ż
ania (
refresh modes
) :
RAS only Refresh, Hidden Refresh, CAS before RAS Refresh
Robert Hoffmann: Engineer To Engineer. Note EE-126.
European DSP Applications. Analog Devices, Rev1 (20-March-02)
TN-04-30. VARIOUS METHODS OF DRAM REFRESH
Micron Technology, Rev. 2/1999
AN987. DRAM Refresh Modes.
Motorola Semiconductors. REV 1. February 1994
MT4LC4M4E8, MT4LC4M4E9. 4 MEG x 4 EDO DRAM.
Micron Technology Rev. 6/1998
K4S64xx32N Synchronous DRAM. 2M x 8Bit x 4Banks / 1M x 16Bit x 4Banks
SDRAM. Samsung Electronics, Rev. 1.12 August 2008
SRAM - READ
K6R1008V1D-08 [1#2]
Read Cycle Time
t
RC
8 ns
MIN
Address Access Time
t
AA
8 ns
MAX
Chip Select to Output
t
CO
8 ns
MAX
Output Enable to Valid Output
t
OE
4 ns
MAX
Output Hold from Address Change
t
OH
3 ns
MIN
Chip Selection to Power Up Time
t
PU
0 ns
MIN
Chip Selection to Power DownTime
t
PD
8 ns
MAX
K6R1008V1D. 1Mbit Asynchronous Fast SRAM
High-Speed CMOS Static RAM. Samsung Electronics June 2003
t
AA
SRAM - Write
K6R1008V1D-08 [2#2]
Write Cycle Time
t
WC
8 ns
MIN
Chip Select to End of Write
t
CW
6 ns
MIN
Address Set-up Time
t
AS
0 ns
MIN
Address Valid to End of Write
t
AW
6 ns
MIN
Write Pulse Width(OE High)
t
WP
6 ns
MIN
End of Write to Output Low-Z
t
OW
3 ns
MIN
(OE= Clock)
(OE=Low Fixed)
(CS = Controlled)
K6R1008V1D. 1Mbit Asynchronous Fast SRAM
High-Speed CMOS Static RAM. Samsung Electronics June 2003
t
AW
MT48LC4M32B2
Speed
Clock
Access Setup Hold
Grade Frequency
Time
Time Time
-6
166 MHz
5.5 ns
1.5 ns 1 ns
-7
143 MHz
5.5 ns
2 ns
1 ns
Allowable Operating Frequency (MHz)
Speed
CL = 1
CL = 2
CL = 3
-6
≤
50
≤
100
≤
166
-7
≤
50
≤
100
≤
143
Access time
MAX
from CLK (pos. edge)
Symbol
-6
-7 Units
CL = 3
t
AC (3)
5.5
5.5 ns
CL = 2
t
AC (2)
7.5
8
ns
CL = 1
t
AC (1)
17
17 ns
CL = 3
CL = 1
CL = 2
CL = 3
CL – delay (in clock cycles) between
the registration of a READ
command and the availability of
the first piece of output data.
CL = 1 or 2 or 3 clocks
7
SDRAM:
dane
synchronizowane
z
narastaj
ą
cym zboczem
sygnału taktuj
ą
cego
stan HIGH i Low sygnału taktuj
ą
cego mo
ż
e si
ę
ró
ż
ni
ć
(
dwspółczynnik wypełnienia
mo
ż
e by
ć
ró
ż
ny od 50%
)
dane
synchronizowane
z
narastaj
ą
cym i opadaj
ą
cym
zboczem
syg. taktuj
ą
cego
ró
ż
nicowy sygnał taktuj
ą
cy ogranicza wpływ szumów i zakłóce
ń
przy wy
ż
szych
cz
ę
stotliwo
ś
ciach
Różnice między
SDR SDRAM i DDR SDRAM — taktowanie
[1#2]
How to use DDR SDRAM. User’s Manual.
Elpida Memory, E0234E30 (Ver.3.0) 2002, p.13
SDR SDRAM
pojedynczy sygnał taktuj
ą
cy
DDR SDRAM
ró
ż
nicowy sygnał taktuj
ą
cy
CK
CK
/CK
Różnice między
SDR SDRAM i DDR SDRAM — taktowanie
[2#2]
How to use DDR SDRAM. User’s Manual.
Elpida Memory, E0234E30 (Ver.3.0) 2002, p.17
CL: /CAS latency
BL: Burst length
Figure 1-5.
SDR
SDRAM
Read Cycle
Timing
Figure 1-4.
DDR
SDRAM
Read Cycle
Timing
DRAM
- timing
1. wybór wiersza:
–
aktywowanie
wzmacniaczy odczytu
2. wybór kolumn:
–
wybór komórki
–
WR: zapis
–
RD: odczyt
3. Doładowanie (Precharge)
:
–
zapis warto
ś
ci do komórki
–
deaktywacja wierszy i
kolumn
t
RC
t
RAS
t
RP
t
CAS
t
RCD
t
WCS
t
WCH
t
CAC
t
ARS
t
ARH
~RAS
~CAS
~WE
~OE
Address
Data
D
Q
Col
Row
Row
t
ACS
t
ACH
Col
Idle state
Note EE-126 Contributed by Robert Hoffmann.
European DSP Applications. Analog Devices, Rev1 (20-March-02)
Co oznacza 4-3-3 SDRAM
t
RP
= 20 ns
t
CAS
~RAS
~CAS
~WE
~OE
Address
Data
D
Col
Row
Row
Col
Idle state
Q
t
RAS
4
–
3
–
3
t
RAC
t
CAC
= 25 ns
t
RCD
= 20 ns
t
CLK
= 7,5 ns (133 MHz Bus)
t
RCD
/ t
CLK
= 2,67
→
→
→
→
3
t
RP
/ t
CLK
= 2,67
→
→
→
→
3
CL = t
CAC
/ t
CLK
= 3,33
→
→
→
→
4
CL is CAS Latency
Note EE-126 Contributed by Robert Hoffmann.
European DSP Applications. Analog Devices, Rev1 (20-March-02)
Co oznacza 2-3-3-6-1T DRAM
t
RP
= 20 ns
t
CAS
~RAS
~CAS
~WE
~OE
Address
Data
D
Col
Row
Row
Col
Idle state
Q
t
RAS
= 40 ns
t
RAC
t
CAC
= 15 ns
t
RCD
= 20 ns
t
CLK
= 7,5 ns (133 MHz Bus)
t
RCD
/ t
CLK
= 2,67
→
→
→
→
3
t
RP
/ t
CLK
= 2,67
→
→
→
→
3
CL = t
CAC
/ t
CLK
= 2
→
→
→
→
2
CL is CAS Latency
2
–
3
–
3
–
6
t
RAS
/ t
CLK
= 5,33
→
→
→
→
6
Bank cycle time
Note EE-126 Contributed by Robert Hoffmann.
European DSP Applications. Analog Devices, Rev1 (20-March-02)
Problemy i pytania
1. Na czym polega inicjalizacja mikrokontrolera po sprz
ę
towym zerowaniu ?
2. Jakie cechy charakteryzuj
ą
pami
ęć
ROM ?
3. Jakie cechy charakteryzuj
ą
pami
ęć
RAM ?
4. Jakie parametry opisuj
ą
pami
ę
ci ROM/RAM ?
5. Co oznaczaj
ą
poj
ę
cia: CS#, OE#, RD#, WR# ?
6. Na czym polega powielanie obszarów pami
ę
ci ?
7. Czym si
ę
ró
ż
ni pami
ęć
EEPROM od pami
ę
ci Flash ?
8. Jakie s
ą
zastosowania pami
ę
ci NAND Flash, a jakie NOR Flash ?
9. Wyja
ś
ni
ć
skrót SSD i przeznaczenie tych układów.
10. Jakie jest przeznaczenie pami
ę
ci FRAM ?
11. Jaka s
ą
ró
ż
nice mi
ę
dzy pami
ę
ciami SRAM i DRAM ?
12. Co tworzy komórk
ę
pami
ę
ci statycznej, a co dynamicznej ?
13. Co definiuje parametr t
ACC
/ t
AA
?
14. Na czym polega od
ś
wie
ż
anie (refresh) pami
ę
ci DRAM ?
15. Jaki jest cel wprowadzenia parametru CL w pami
ę
ciach DRAM ?
16. Czemu słu
żą
sygnały RAS/CAS w pami
ę
ciach dynamicznych ?