Professional Documents
Culture Documents
LECTURE NOTE #6 (Internal Memory) PDF
LECTURE NOTE #6 (Internal Memory) PDF
1
Dynamic RAM (DRAM) Dynamic RAM Structure
• Bits stored as charge in capacitors
• But charges leak, need refreshing even when
powered
• Simpler construction than static RAM (SRAM)
• Slower, but smaller per bit and less expensive
than SRAM
• Used for main memory
• Essentially analog rather than digital
— Level of charge determines value
2
SRAM v DRAM Acronym Soup
• Both are volatile • So what is SDRAM?
— Power needed to preserve data — Synchronous DRAM
• Dynamic cell • SDR SDRAM “Single Data Rate”
— Simpler to build and smaller then SRAM • DDR SDRAM “Double Data Rate”
– Therefore more dense and less expensive
— DDR2, DDR3 double and quadruple r/w unit, DDR4 in
— Needs refresh circuitry development
— Favored for larger memory units • RDRAM Rambus DRAM (more later)
• Static cells • Many more acronyms abound
— Faster then DRAM
• See A Fast Guide to RAM
— More expensive to build http://whatis.techtarget.com/definition/0,,sid9_gci523855,00.html
— Favored for cache memory
• More on SDRAM later
3
Flash memory Chip Logic
• Flash memory is not durable • Trade-offs in chip design among speed,
• Mostly limited to ~50K to ~100K erase cycles capacity and cost
— Recently extended upwards to ~1M cycles • Key issue is number of bits that can be written
• Flash drivers have to manage bad blocks in a simultaneously
fashion similar to disk drivers — One extreme: physical arrangement of memory cells
same as logical arrangement of words in memory.
16Mbit chip is 1M 16-bit words
— Other extreme: one bit per chip, 16M memory uses
16 1-bit chips; with bit 1 of each word in chip 1 etc.
Refreshing Packaging
• Refresh circuit included on chip
— Disable chip
— Count through rows
— Read & Write back
• Refresh takes time
• Slows down apparent performance
4
1 MB EPROM Packaging 16MBit DRAM
• Organized as 1M 8 bit words; 32 pins • Organized as 4Mx4 bits
• A0 – A19 address pins (20 bit address) • Data pins D1-D4 are input/output
• D0 – D7 are data out • WE (Write enable) and OE (output enable)
determine if R or W
• Power supply Vcc and ground Vss
• Because DRAM is accessed by row, then by
• Chip enable pin CE column, 11 address pins A0-A10 are
— indicates whether address is valid for this chip; multiplexed
there may be several chips • RAS (row address select) and CAS (column
— CE pins are connected to H.O. bits of address lines address select) pins
on bus (> A19)
• 2 supply Vcc and ground pins Vss
• Programming voltage pin Vpp used in write • One No-Connect NC to make even number of
operations pins
256kByte Module
Organisation 1MByte Module Organisation
Each
5
Hamming Codes History of Hamming Codes
• Developed at Bell Labs by Richard Hamming – • Richard Hamming worked on a Bell Model V
late 1940’s electro-mechanical computer
• Input was on punch cards, and the reader was
• Key to Hamming codes is to add extra parity not reliable
bits in such a way that each bit in a word is • On weekdays it would flash lights to alert the
checked by a unique combination of parity bits operator of an error. On weekends it would just
abort the job
• Parity bits themselves are included in parity • Richard Hamming unfortunately worked on
computations – we can tell if there was simply weekends and became rather annoyed at having
an error in a parity bit to re-run all of his jobs, so he invented error-
correcting codes!
Bit Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 …
Enc ode d Bits c1 c2 d1 c3 d2 d3 d4 c4 d5 d6 d7 d8 d9 d10 d11 c 5 d12 d13 d14 d15 d16 …
c1 X X X X X X X X X X X …
c2 X X X X X X X X X X …
Che ck Bit
Cov era ge c3 X X X X X X X X X X …
c4 X X X X X X X X …
c5 X X X X X X …
6
Computing a Hamming Code Finding the error
• Note that each check bit also checks itself! • We had 101001110010
• Example: A byte of data: 10110010
Create the data word, leaving spaces for the parity bits: • Suppose mem read = 101001110110
_ _ 1 _ 01 1 _ 0 0 1 0 • Compute check bits:
Calculate the parity for each check bit (? represents the bit position being set;
treat as 0): • _ _ 1 _ 0 1 1 _ 0 1 1 0
• Position 1 checks bits 1,3,5,7,9,11: 1 2 3 4 5 6 7 8 9 10 11 12
?_1_011_0010. Odd parity so c1 <- 1: c1 [3,5,7,9,11] <- 1 (OK)
1_1_011_0010
c2 [3,6,7,10,11] <- 1 (but c2 = 0)
• Position 2 checks bits 2,3,6,7,10,11:
1?1_011_0010. Even parity so c2<-0: c3 [5,6,7,12] <- 0 (OK)
101_011_0010 c4 [9,10,11,12] <- 0 (but c4 = 1)
• Position 4 checks bits 4,5,6,7,12: Error: c2 in pos 2, c4 in pos 8. 8+2=10
101?011_0010. Even parity so c3 <-0:
1010011_0010 Correct bit 10: 101001110010
• Position 8 checks bits 8,9,10,11,12:
1010011?0010. Odd parity so c4 <- 1
101001110010
• Coded word: 101001110010
7
Synchronous DRAM (SDRAM) Synchronous DRAM (SDRAM)
• Access is synchronized with an external clock • SDRAM latency is about the same asynchronous
— Very fast (18 ns access time, 1.3 Gbs at 166 MHz bus speed) DRAM
• Request on address bus latched in the SDRAM
• Speed comes from ability to interleave
• Some time later RAM responds with data
operations between banks of chips
— (CPU waits for conventional DRAM)
— Since SDRAM moves data in time with system clock, CPU knows • Note that SDRAM has a “mode register”
when data will be ready — Specifies things like burst length and read timing
— CPU and bus do not have to wait; can do something else
• Burst mode allows SDRAM to set up stream of data and
fire it out in block
• DDR-SDRAM sends data twice per clock cycle (leading &
trailing edge)
8
RAMBUS Diagram DDR SDRAM
• SDRAM can only send data once per clock
• Double-data-rate SDRAM can send data twice
per clock cycle
— Rising edge and falling edge
• Fast, 12.5ns access time, 3.2Gbs at 200MHz bus
speed