EE141-Fall 2010 Digital Integrated Circuits
Lecture 5 Overview of Semiconductor Memory
1
EE141 EECS141
Lecture #5
Announcements
Please use the news group to ask questions
Dont need a new program: try http://groups.google.com
For additional questions, send emails to ee141@cory
Reaches entire teaching staff
Homework #2 due today Homework #3 due next Thursday Labs start tomorrow
EE141 EECS141
Lecture #5
Class Material
Last lecture
Detailed Switch Model CMOS Gates Design Rules
Todays lecture
Overview of semiconductor memory
Reading (Chapter 12.1, 12.2.3, 12.3.1)
EE141 EECS141
Lecture #5
Semiconductor Memory
EE141 EECS141
Lecture #5
Why Memory?
Intel 45nm Core 2
EE141 EECS141
Lecture #5
Semiconductor Memory Classification
Read-Write Memory Non-Volatile Read-Write Memory EPROM E PROM SRAM DRAM FIFO LIFO Shift Register CAM
6 2
Read-Only Memory
Random Access
Non-Random Access
Mask-Programmed Programmable (PROM)
FLASH
EE141 EECS141
Lecture #5
Random Access Memories (RAM)
STATIC (SRAM)
Data stored as long as supply is applied Larger (6 transistors/cell) Fast Differential (usually)
DYNAMIC (DRAM)
Periodic refresh required Smaller (1-3 transistors/cell) Slower Single Ended
EE141 EECS141
Lecture #5
Random Access Chip Architecture
Conceptual: linear array
Each box holds some data But this does not lead to a nice layout shape Too long and skinny
Create a 2-D array
Decode Row and Column address to get data
EE141 EECS141
Lecture #5
Basic Memory Array
CORE: - keep square within a 2:1 ratio - rows are word lines - columns are bit lines - data in and out on columns DECODERS: - needed to reduce total number of pins; N+M address lines for 2N+M bits of storage 220= 1Mb Ex: if N+M=20 MULTIPLEXING: - used to select one or more columns for input or output of data
9
EE141 EECS141
Lecture #5
Basic Static Memory Element
If D is high, D_b will be driven low Which makes D stay high Positive feedback
10
EE141 EECS141
Lecture #5
10
Positive Feedback: Bi-Stability
Vi 1 V o1 = V i 2 V o2
1
V o1
o V
Vi2
V 5
V o2 = V i 1
2 i
V i1 A
1
V o2
V i 2 = V o1
o V 5 2 i
B V i 1 = V o2
EE141 EECS141
Lecture #5
11
11
Writing into a Cross-Coupled Pair
Access transistor must be able to overpower the feedback
EE141 EECS141
Lecture #5
12
12
Writing a 1
EE141 EECS141
Lecture #5
13
13
Memory Cell
Complementary data values are written (read) from two sides
EE141 EECS141
Lecture #5
14
14
SRAM Column
WL0
WL2
WL3
BL
BL_B
EE141 EECS141
Lecture #5
15
15
SRAM Array Layout
EE141 EECS141
Lecture #5
16
16
65nm SRAM
ST/Philips/Motorola
Access Transistor
Pull down
EE141 EECS141
Pull up
Lecture #5 17
17
Decoders
M bits S0 S1 S2 S0 A0 A1 M bits Word 0 Word 1 Word 2 Storage cell Word 0 Word 1 Word 2 Storage cell
wo r d s
SN 2 2 SN 2 1
A K2 1 Word N 2 2 Word N 2 1 K = log2N Input-Output (M bits)
De c o d e r
Word N 2 2 Word N 2 1
Input-Output (M bits) Decoder reduces the number of select signals
Intuitive architecture for N x M memory Too many select signals: N words == N select signals
EE141 EECS141
K = log2N
18
18
Lecture #5
Row Decoders
Collection of 2M complex logic gates Organized in regular and dense fashion
(N)AND Decoder
NOR Decoder
EE141 EECS141
Lecture #5
19
19
Decoder Design Example
Look at decoder for 256x256 memory block (8KBytes)
EE141 EECS141
Lecture #5
20
20
Problem Setup
Goal: Build fastest, lowest possible power decoder with static CMOS logic What we know
Basically need 256 AND gates, each one of them drives one word line
N=8
21
EE141 EECS141
Lecture #5
21
Possible AND8
Build 8-input NAND gate using 2-input gates and inverters Is this the best we can do? Is this better than using fewer NAND4 gates?
EE141 EECS141
Lecture #5
22
22
Possible Decoder
256 8-input AND gates
Each built out of tree of NAND gates and inverters
Need to drive a lot of capacitance (SRAM cells)
Whats the best way to do this?
EE141 EECS141
Lecture #5
23
23
Next Lecture
Buffer delay optimization
EE141 EECS141
Lecture #5
24
24