1 Ernest Jamro Kat. Elektroniki AGHPamięci Ernest Jamro Kat. Elektroniki AGH
2 Literatura Józef Kalisz – Podstawy Elektroniki CyfrowejBaranowski J. et.al. Układy Elektroniczne cz.3 – Układy i systemy cyfrowe (ang.)
3 Pamięci - klasyfikacjaROM (Read Only Memory) - nieulotne (non-volatile) ROM (programowany podczas produkcji układu scalonego) PROM (programowane jednorazowo u użytkownika) EPROM (Erasable PROM – możliwa ale uciążliwa wielokrotna programowalność EEPROM (Electrically Erasable and Programmable ROM) Flash (błysk-awiczne EEPROM) RAM (Random Access Memory) Pamięci specjalizowane
4 Pamięci ROM Pamięci ROM powstają bezpośrednio w procesie produkcji układu scalonego dlatego mają następujące cechy: Stan pamięci określony na poziomie produkcji układu scalonego Brak możliwości zmiany zawartości pamięci Tanie w produkcji ale wymagają dużych nakładów (wykonania w milionach sztuk – drogie przy małej liczbie sztuk) Długi okres produkcji – kilkanaście tygodni. Pamięci coraz rzadziej stosowane
5 Schemat pojedynczej komórki ROM
6 Dwuwymiarowe wybieranie komórki pamięci
7 Pamięci PROM Programmable Read Only Memory:Programowanie pamięci wykonywane jest przez użytkownika w specjalnym urządzeniu programującym. Programowanie następuje poprzez przepalenie tzw. bezpieczników (ang. fuse) i jest nieodwracalne. Pamięci te są dzisiaj rzadko stosowane
8 Pamięci EPROM Erasable Programmable ROMKasowanie pamięci wymaga użycie promieni UV i specjalnego okienka kwarcowego – co zdecydowanie podraża koszt produkcji. Czas kasowania to około 30min. Pamięci dzisiaj raczej nie stosowane
9 Tranzystor w EPROM (technilogia FAMOS)Swobodna bramka (floating gate)
10 Pamięci EEPROM Electrically Erasable Programmable Read-OnlyMożliwość elektrycznego wielokrotnego kasowania pamięci. Łatwość kasowania, nie potrzeba użycia promieni UV Kasowanie całej pamięci lub pojedynczego sektora Liczba kasowań około razy
11 Programowanie i kasowanie EEPROM
12 Pamięć EEPROM Flash Struktura działania podobna do EEPROM.Bardzo szybki proces kasowania (rzędu 1ms) w porównaniu z pamięcią EEPROM (rzędu 15min.). Szybkość pracy pamięci Flash polega głównie na kasowaniu całego bloku na raz a nie jak to ma miejsce w pamięci EEPROM pojedynczych bajtów. Potrzebny tylko 1 tranzystor na 1 bit pamięci
13 Flash – kasowanie i programowanie
14 Struktura NOR i NAND pamięci Flashb) NAND
15 Flash: NOR i NAND W strukturze NAND napięcia wszystkich (oprócz jednej) bramek WL0-WL15 są na tyle wysokie że tranzystory szeregowe zawsze przewodzą. Natomiast napięcie jednej bramki jest takie, że stan pracy tranzystora zależy od zaprogramowania. Cechy struktury NOR: Swobodny odczyt, ale wolny zapis i kasowanie Preferowane jako pamięci o dostępie swobodnym (BIOS, ROM procesora) Cechy struktury NAND Preferowany odczyt całego bloku danych Tańsze w produkcji od NOR (zajmują mniej powierzchni krzemu) Szybszy zapis i kasowanie Liczba kasowań około 10 razy większa niż w przypadku NOR Preferowany dla pamięci masowych (pendrive, karty CF/SD, SSD- Solid State Drive)
16 Wielopoziomowe pamięci Flash
17 Pamięci Flash a Interface szeregowy:I2C (Inter Integrated Circuit) – 2 przewody (100, 400kHz, 3.4MHz) (Philips) SPI (Serial Peripherial Interface) – 3 przewody (1-50MHz) (Motorola) Microwire – 3 przewody (1-3MHz) (National Semiconductor)
18 Przykład pamięci Flash: AT49BV322A• Single Voltage Read/Write Operation: 2.65V to 3.6V • Access Time – 70 ns • Sector Erase Architecture – Sixty-three 32K Word (64K Bytes) Sectors with Individual Write Lockout – Eight 4K Word (8K Bytes) Sectors with Individual Write Lockout • Fast Word Program Time – 12 µs • Fast Sector Erase Time – 300 ms • Suspend/Resume Feature for Erase and Program – Supports Reading and Programming from Any Sector by Suspending Erase of a Different Sector – Supports Reading Any Byte/Word in the Non-suspending Sectors by SuspendingProgramming of Any Other Byte/Word • Low-power Operation – 12 mA Active – 13 µA Standby • Data Polling, Toggle Bit, Ready/Busy for End of Program Detection • VPP Pin for Write Protection • RESET Input for Device Initialization • Sector Lockdown Support • 128-bit Protection Register • Minimum 100,000 Erase Cycles • Common Flash Interface (CFI)
19 Przykład odczytu danych
20 Przykład c.d.
21 Przykład c.d. -komendy
22 Pamięci ROM (Read Only Memory) RAM (Random Access Memory)Statyczne (SRAM) Asynchroniczne Synchroniczne Dynamiczne (DRAM) -Asynchroniczne (historia) - Synchroniczne SDRAM, DDR, DDR2, DDR3, RAM-BUS (RDRAM), XDR-DRAM Specjalizowane FIFO (First-In First-Out) LIFO (Last-In First-Out – stos) CAM (Content-Addressable Memory) LUT (Look-Up Table) (pamięć ROM/RAM)
23 Podstawowa komórka pamięci SRAMLinia wiersza Linia kolumny (bit B) U’DD T1 T5 T3 T2 T6 T4 Przerzutnik bistabilny – dwa inwertery Przerzutnik RS – przejście w inny stan poprzez zwarcie
24 Schemat Blokowy układ: AS7C4096 512k×8bit
25 Cech pamięci SRAM • AS7C4096 (5V version) • AS7C34096 (3.3V version)• Industrial and commercial temperature • Organization: 524,288 words × 8 bits • High speed - 10/12/15/20 ns address access time - 5/6/7/8 ns output enable access time • Low power consumption: ACTIVE mW (AS7C4096) / 12 ns - 468 mW (AS7C34096) / 12 ns • Low power consumption: STANDBY - 110 mW (AS7C4096) / max CMOS - 72 mW (AS7C34096) / max CMOS • Equal access and cycle times • Easy memory expansion with CE, OE inputs • TTL-compatible, three-state I/O
26 Tablica stanów
27 Przykładowe przebiegi
28 Parametry czasowe pamięci
29 Przykładowe przebiegi
30 Warunki pomiaru
31 Łączenie pamięci Zwiększenie szerokości magistrali danych (preferowane) Zwiększenie szerokości magistrali adresowej
32 Pamięci wieloportowe Dwa takie same niezależne interface’y do pamięci – ale ta sama pamięć!
33 Komórka pamięci wieloportowejPamięć jednoportowa dwuportowa czteroportowa
34 Optymalizacja komórki pamięci dwuportowejLiteratura: Area-Efficient Dual-Port Memory Architecture for Multi-Core Processors - Hassan Bajwa and Xinghao Chen
35 Pamięci SRAM synchroniczne - odczyttCHWEX tOEVCH tOHCEX tCEVCH tCHCEX Adres n Adres n + 1 Adres n + 2 tCHCH tCH tCL tCHAX tAVCH tWEVCH Hi - Z tCHQX1 tCHQX2 tCHQV Dane z komórki o adresie n CLK A0 – A16 tCHQZ CE OE WE Dane wyjściowe
36 Pamięci SRAM synchroniczne - zapistCHWEX tCEVCH tCHCEX Adres n Adres n + 1 Adres n + 2 tCHCH tCH tCL tCHAX tAVCH tWEVCH CLK A0 – A16 CE WE tCHDX Dn Dn + 1 tDVCH Dane
37 Dynamic RAM Pierwsze tranzystory-kondensatory Dzisiejsze kondensatory są budowane w 3 wymiarach aby zmniejszyć rozmiar powierzchni i zwiększyć pojemność C
38 Pamięci dynamiczne DRAMФ1 Ф2 Ф3 Odczyt 1 Odczyt 0 US1 US0 UB1 UB0 UM UB US 1 Linia kolumny (bitu) Linia wiersza CB CS W T B Ф1 Ф3 T2 T1 I1 I2
39 Odczyt pamięci DRAM RAS – Raw Address StrobeStan nieistotny RAS CAS Adres tRCD tRC WE H Hi - Z Q R tRAC RAS – Raw Address Strobe CAS – Column Address Strobe
40 Zapis pamięci DRAM R C RAS CAS Adres WE D
41 Odświeżanie Odświeża się cały wiersz podczas pojedynczego odczytuRAS Adres CAS R CAS before RAS Jeśli /CAS jest ustawiany w stan niski (aktywny) prezzd sygnałem /RAS to pamięć DRAM ignoruje adres podany na magistrali adresowej i używa swojego wewnętrznego licznika odświeżeń aby odświeżyć kolejny wiersz
42 Fast Page Mode R C RAS CAS Adres Hi - Z Q
43 Pamięć SDRAM Synchronouse DRAM (Single Data Rate)
44 Parametry czasowe tCAS-tRCD-tRP-tRAS przykład: 2.5-3-3-8CL = CAS Latency time: The time it takes between a command having been sent to the memory and when it begins to reply to it. It is the time it takes between the processor asking for some data from the memory and it returning it. TRCD = DRAM RAS# to CAS# Delay: The number of clock cycles performed between activating the Row Access Strobe and the Column Access Strobe. This parameter relates to the time it takes to access stored data. TRP = DRAM RAS# Precharge: The amount of time between the 'precharge' command and the 'active' command. The precharge command closes memory that was accessed and the active command signifies that a new read/write cycle can begin. TRAS = Active to Precharge delay: The total time that will elapse between an active state and precharge state. This is the sum of the previous timings: CL + TRCD + TRP
45 Komendy SDRAM Precharge – zakończenie dostępu do danego wiersza oraz ustawienie wzmacniaczy na napięcie progowe
46 SDRAM –c.d.
47 SDRAM – różne banki
48 DDR SDRAM- Double Date RateTransfer danych następuje 2 razy na takt zegara – na narastające i opadające zbocze Komendy akceptowane są co takt zegara (w pierwszym przybliżeniu) i są podobne jak dla sdram Obniżono napięcie zasilania z 3.3V (sdr sdram) na 2.5V (DDR) Szybkość transmisji: 2(ddr) * 8 (bajtów) *f
49 DDR2 Transfer danych na narastającym i opadającym zboczu (błędem jest twierdzenie że 4 razy na takt zegara) Częstotliwość wewnętrzna pamięci 2 razy mniejsza od częstotliwości magistrali zewnętrznej – dlatego podczas jednego odczytu z pamięci wewnętrznej odczytywane są 4 bity, które są kolejno transferowane pojedynczo Obniżone napięci zasilania na 1.8V Aby osiągnąć wyższą wydajność od pamięci DDR pamięci DDR2 są taktowane wyższą częstotliwością Pamięci te mają większe opóźnienie (latency), np. Dla DDR typowe to 2 do 3, dla DDR2 typowe to 4 do 6 taktów zegara – opóźnienie to jest częściowo rekompensowane większą częstotliwością taktowania
50 DDR3 Częstotliwość wewnętrzna pamięci 4 razy mniejsza od częstotliwości zewnętrznej – dlatego podczas jednego odczytu wewnętrznego czytanych jest 8 bitów, które z kolei są transmitowane pojedynczo w 4 taktach zegara Zwiększono częstotliwość taktowania Zwiększono opóźnienie (latency) Zmniejszono napięcie zasilania do 1.5V
51 Dual-Channel Memory Zwiększona szerokość magistrali danych z 64-bitów do 128-bitów
52 First-In First-Out (FIFO)Wejście: A, B, - ,C, - , D, E Wyjście: - , A, - , B, - , - , C, - , D , E empty full
53 Last-In Last-Out (LIFO) (stos)Wejście: A, B, - ,C, - , D, E Wyjście: - , B, - , C, - , - , E, - , D , A
54 Content-addressable memory (CAM)Podajemy wartość danej a pamięć CAM zwraca adres (lub adresy) pod którymi znajduje się podane dana W konsekwencji należy przeszukać całą pamięć aby otrzymać adres pod którym znajduje się podana dana
55 Look-Up Table (LUT) Kwadrat: Adres: 0, 1, 2, 3, 4...Dana: 0, 1, 4, 9, 16...
56 Obliczanie histogramu