Memory in Digital Systems

Similar documents
Memory in Digital Systems

Memory in Digital Systems

MEMORIES. Memories. EEC 116, B. Baas 3

Memory in Digital Systems

CENG 4480 L09 Memory 2

+1 (479)

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Introduction to SRAM. Jasur Hanbaba

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Semiconductor Memory Classification

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy.

FPGA Programming Technology

SRAM. Introduction. Digital IC

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

Digital Integrated Circuits Lecture 13: SRAM

Introduction to CMOS VLSI Design Lecture 13: SRAM

Memory and Programmable Logic

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

CS250 VLSI Systems Design Lecture 9: Memory

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

FABRICATION TECHNOLOGIES

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

Lecture 11: MOS Memory

Memory Design I. Array-Structured Memory Architecture. Professor Chris H. Kim. Dept. of ECE.

Memory Arrays. Array Architecture. Chapter 16 Memory Circuits and Chapter 12 Array Subsystems from CMOS VLSI Design by Weste and Harris, 4 th Edition

The Memory Hierarchy 1

ECE 485/585 Microprocessor System Design

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

Introduction to Semiconductor Memory Dr. Lynn Fuller Webpage:

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

ALTERA M9K EMBEDDED MEMORY BLOCKS

Summer 2003 Lecture 18 07/09/03

RTL Design (2) Memory Components (RAMs & ROMs)

Very Large Scale Integration (VLSI)

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

Unleashing the Power of Embedded DRAM

! Memory. " RAM Memory. " Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

Chapter 5. Internal Memory. Yonsei University

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Concept of Memory. The memory of computer is broadly categories into two categories:

Sense Amplifiers 6 T Cell. M PC is the precharge transistor whose purpose is to force the latch to operate at the unstable point.

Integrated Circuits & Systems

Design and Implementation of an AHB SRAM Memory Controller

ELCT 912: Advanced Embedded Systems

Chapter 5 Internal Memory

EE577b. Register File. By Joong-Seok Moon

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

Memory and Programmable Logic

Chapter 4 Main Memory

Memory Design I. Semiconductor Memory Classification. Read-Write Memories (RWM) Memory Scaling Trend. Memory Scaling Trend

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

Magnetic core memory (1951) cm 2 ( bit)

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

ENEE 759H, Spring 2005 Memory Systems: Architecture and

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

CHAPTER 8. Array Subsystems. VLSI Design. Chih-Cheng Hsieh

ECE321 Electronics I

CSEE 3827: Fundamentals of Computer Systems. Storage

Digital Integrated Circuits (83-313) Lecture 7: SRAM. Semester B, Lecturer: Dr. Adam Teman Itamar Levi, Robert Giterman.

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

Chapter 3 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

ECE 2300 Digital Logic & Computer Organization

Dual Port SRAM. Research Article. Rajeshwari Mathapati a*, Geetanjali Kamble a and S.K.Shirakol a

Column decoder using PTL for memory

Prototype of SRAM by Sergey Kononov, et al.

CS310 Embedded Computer Systems. Maeng

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Memory Classification revisited. Slide 3

Spiral 2-8. Cell Layout

UNIT V (PROGRAMMABLE LOGIC DEVICES)

EECS150 - Digital Design Lecture 16 Memory 1

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

Spiral 2-9. Tri-State Gates Memories DMA

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

ECSE-2610 Computer Components & Operations (COCO)

Introduction to CMOS VLSI Design. Semiconductor Memory Harris and Weste, Chapter October 2018

Design Methodologies

CMOS Logic Circuit Design Link( リンク ): センター教官講義ノートの下 CMOS 論理回路設計

Read and Write Cycles

EE241 - Spring 2007 Advanced Digital Integrated Circuits. Announcements

A Configurable Radiation Tolerant Dual-Ported Static RAM macro, designed in a 0.25 µm CMOS technology for applications in the LHC environment.

Low-Power SRAM and ROM Memories

Module 6 : Semiconductor Memories Lecture 30 : SRAM and DRAM Peripherals

Z-RAM Ultra-Dense Memory for 90nm and Below. Hot Chips David E. Fisch, Anant Singh, Greg Popov Innovative Silicon Inc.

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Semiconductor Memories: RAMs and ROMs

Design Methodologies. Full-Custom Design

The Memory Component

Digital Systems. Semiconductor memories. Departamentul de Bazele Electronicii

A Single Ended SRAM cell with reduced Average Power and Delay

Lecture-7 Characteristics of Memory: In the broad sense, a microcomputer memory system can be logically divided into three groups: 1) Processor

CENG 4480 L09 Memory 3

Lecture 13: Memory and Programmable Logic

Design Methodologies. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

Transcription:

MEMORIES

Memory in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager) Memory (storage) Single bit ( foround ) Clockless latches e.g., SR latch Clocked transparent latches e.g., D latch Clocked edge-triggered flip flops e.g., D FF Array memories ( background ) B. Baas 201

Memories Use in general digital processors Instructions Data Usage is more widespread in DSP, multimedia, embedded processors Buffering input/intermediate/output data (e.g., rate matching) Storing fixed numbers (e.g., coefficients) Often relatively small (e.g., 8-64-256 words) and numerous (dozens are not unusual) Key design goal: density, especially for the memory s. This means fitting the largest amount of memory storage into a certain amount of chip area B. Baas 202

Array Memory View 1: Types 1. Read-write memories SRAM: Static random access memory Data is stored as the state of a bistable circuit typically using back-to-back inverters State is retained without refresh as long as power is supplied DRAM: Dynamic random access memory Data is stored as a charge on a capacitor State leaks away, refresh is required 2. ROM: Read-only memory, non-volatile Basic ROM mask programmed at design time PROM: Programmable read-only memory; typically programmed at manufacture time by a PROM burner Using fuse or anti-fuse circuits Synthesized from standard s 3. NVRWM: Non-volatile read-write memory EPROM: Erasable ROM, erasable with UV light Flash: ROM at low voltages, writable at high voltages B. Baas 203

Basic Memory Inputs and Outputs The basic memory structure includes a write port and a read port as shown in the figure Clocked or Synchronous memories include a clock input A read-enable input (rd_en) is not needed for functionality but is often included to enable reduced power dissipation when read operations are not needed clock write port wr_addr wr_data wr_en rd_addr rd_en Memory rd_data read port B. Baas 204

wordlines Memories Memories generally contain several components: Array of s Address decoder Write circuitry Read circuitry (sense amplifiers) wordlines bitlines Interface signals Address (one for each port) Data (one for each port) Enable_write Enable_read (likely) Clock (sometimes) word or address decoder Addr bitlines write/read circuitry B. Baas 205 Data_rd Data_wr

bitlines Memories Differential bitlines Differential bitlines (bitline and bitline_) require more area but dramatically increase robustness and speed Much smaller voltage differences can be detected Much more noise can be tolerated Address decoder Read / (Write) circuitry wordline B. Baas 206

Memory View 2: Logical Categories Combinational (output depends on present inputs only) ROM: read-only memory May be truly straight-through combinational, or istered Feels like Combinational but technically Sequential PROM: programmable read-only memory EPROM: ROM, but erasable with UV light Sequential (output depends on present and past inputs) SRAM: static memory DRAM: dynamic memory Flash: ROM at low voltages, writable at high voltages B. Baas 207

Six-Transistor (6T) SRAM Cell BL BL Q Q WL Cross-coupled inverters: a bistable element (two stable states) Density is critically important in memories Single NMOS used for reading/writing A lot of effort spent packing transistors and even pushing process design rules just for the 6T memory the area of a 6T is typically one of the top critical parameters of a fabrication technology! B. Baas 208 116

SRAM Cell Cross-coupled inverters: a bistable element (two stable states) Density is critically important in memories Single NMOS used for reading/writing A lot of effort spent packing transistors and even pushing process design rules just for the 6T memory B. Baas 209 Retrieved November 17, 2016

Layout: 6-Transistor (6T) Cell Bitline Bitline_ Two 6T SRAM s Wordlines horizontal Bitlines vertical Vdd and Gnd horizontal Wordline0 Wordline1 Gnd B. Baas 210 Vdd

6-Transistor (6T) Cells Micro-photographs of fabricated 6T SRAM memory s The devices are partially built with diffusion and polysilicon only metal interconnect is shown where it might be located Vdd Gnd Gnd Vdd Wordline Wordline Wordline Vdd Gnd Bitline Bitline_ Intel 65 nm 0.57 μm 2 6T B. Baas 211 [http://www.electroiq.com/articles/sst/print/volume-47/issue-2/departments/tech-news/technology-news.html]

6-Transistor (6T) Cells Micro-photograph of 0.16 µm 2 6T SRAM s from an AMD Radeon graphics processor fabraicated in TSMC s 28 nm HP process B. Baas 212 [Chipworks]

Layout: 6T array Cell array Sense amplifiers and write circuits B. Baas 213

Layout: Memory Array 128 words x 36 bits Single-ported 6T SRAM Low-power hierarchical bitline structure Wordline decoders Sense amplifiers B. Baas 214

Layout: Memory array Layout issues Cell density is critical Decoder design should probably not use full N-word fanout Predecoding address bits reduces loading of critical decoder signals Routing of Vdd and Gnd to supply adequate current requires planning Wordline decoders array Sense amplifiers B. Baas 215

Memory Array Human hair on a 256 Kbit memory chip B. Baas 216 Source: Helmut Föll

Multi-ported SRAM Frequently used in ister files Classic RISC computers have 1 write and 2 read ports Modern multiple-instruction-issue computers can have many ports (22 (12 Rd, 10 Wr) in Itanium [ISSCC 05]) More commonly use single-ended (non-differential) bitlines Addr/Data Addr/Data 2 write ports Memory 4 read ports B. Baas 221

Multi-ported SRAM Example: one write port, two read ports Write bitline Read bitline 0 Read bitline 1 Write wordline Read wordline 0 Read wordline 1 B. Baas 222 116

Multi-ported SRAM Example: one write port, two read ports If the feedback inverter is not tri-statable during writes, it must be made weak to permit writes, especially during a high value (Vdd) on the bitline Write bitline Read bitline 0 Read bitline 1 Write wordline Read wordline 0 Read wordline 1 B. Baas 223

Layout: Dual-ported memory 10T one-read, one-write port Operates at very low supply voltages write bitline read wordline_ write wordline_ Vdd Gnd read bitline Vdd Gnd write wordline read wordline B. Baas 224

Layout: Dual-ported memory array Eight 10T dualported memory s B. Baas 225

Layout: Dual-ported memory array 10T one-read, one-write port 16 words x 40 bits write decoder read decoder bitline drivers and sense amplifiers B. Baas 226

DRAM Smaller size (1T ) One transistor to access Often has special structure for capacitor (trench capacitor) that is not available in standard fabrication technologies Single bitline to read and write the memory Must be periodically refreshed Write operation: Wordline at Vdd Bitline value stored on capacitor Trench capacitor B. Baas 227 WL BL Q

DRAM Classic DRAM High density dedicated DRAM chips typically packaged in DIMMs Top manufacturers include: Samsung (47%), Hynix (26%), Micron (19%), and others. [Source: Statista, for Q2 2016] Embedded DRAM (edram) DRAM arrays are also available as a process option for standard logic -type CMOS fabrication technologies Ex: IBM 22 nm z Processor CP Microprocessor chip on left: 8 cores, 64MB of edram Level-3 cache, 678 mm2 die area, 4.0 billion transistors, 17 metal layers. edram is used for Level-3 cache and memory controller; and also inside each processor for Level-2 and Branch Target Buffer caches. SC System Controller chip on right: 480 MB of edram Level-4 cache, 678 mm2 die area, 7.1 billion transistors, 15 metal layers [Source: 22nm Next-Generation IBM System z Microprocessor, ISSCC, 2015.] B. Baas 228

DRAM Read operation: Wordline at Vdd Bitline precharged to intermediate voltage level (e.g., Vdd/2) Read bitline voltage is the charge shared result of storage capacitor and bitline capacitance C_ ~ C_bitline / (10-100) ΔV_bitline ~ 250 mv Read is a destructive read and value must be re-written to be read again Circuit challenges: More complex sense amplifiers Many use differential sense amplifier with dummy Higher noise susceptibility Vdd not needed in array B. Baas 229 WL BL Q

Trench Capacitor Deep trench capacitor provides high capacitance per area Example to the right shows a DRAM cross section B. Baas 230 http://www.ieee.org/portal/cms_docs_sscs/sscs/08winter/sunami-fig3.jpg http://electron9.phys.utk.edu/phys136d/modules/m5/trench.gif

Memory Array Human hair on a 4 Mbit memory chip Note DRAM trench capacitors B. Baas 231 Source: Helmut Föll

Memory Array Red blood s on a 1 Mbit memory chip B. Baas 232 Source: Helmut Föll

ROM Similar to DRAM except the source of the access transistor is tied to Gnd directly For the other value (BL 0), the circuit is modified so that nothing happens when WL goes high. Possibilities include: Omit -Gnd to global-gnd connection Omit source-to-gnd or drain-to-bitline contact Omit poly to WL contact Omit MOS transistor diffusion Omit transistor entirely In this particular example circuit: A circuit to precharge bitlines is needed but not shown bitline is driven low very strongly when a transistor is present ROMs are typically among the densest of all circuits Keep in mind that sometimes it is more efficient to use synthesized random logic instead of a ROM, especially if the stored data contains patterns and is not highly random WL WL BL Gnd Gnd B. Baas 233

Layout: ROM array 1 transistor s The presence or absence of a transistor s connection determines the stored value B. Baas 234

Layout: ROM array 256 words x 40 bits Main issue: pitch matching decoders with array ROM s have a very fine pitch! B. Baas 235

Memory View 3: Memory Types for Custom- Designed Chips (Also known as "ASICs") Memories for custom processors can be built in a number of ways: 1) On-chip macro memory arrays Think of as a single giant standard FPGAs include them ( block RAMs or block memory ) 2) On-chip memory synthesized from standard s 3) Off-chip memories (often for > approx. 10 MB) Very large DRAM Non-volatile memory such as flash memory (We could also include disks, NAS, cloud, etc.) B. Baas 236

1) Memory Macro-s Memory macro- generators are available for larger memories Typically a software tool generates a large variety of possible memories where a user may select options such as: Number of words Word-width (in bits) Number of read ports Number of write ports Rd/wr or ROM Built-in test circuits Registered inputs and/or outputs Tool produces models for verilog, place & route, and other CAD views RAM macro B. Baas 237

1) On-chip macro memory arrays Generally very area efficient due to dense memory s (singleported memories likely use 6-transistor (6T) memory s) Generally good energy efficiency due to lowactivity memory array architecture Example: CMOS chip B. Baas 238 [T. Nanya, et al., TITAC-2 0.5 um CMOS, 496K transistors, 12.15 mm 12.15 mm processor]

1) On-chip macro memory arrays: FPGAs Example: FPGA Altera Max 10 10M50DAF484C7G chip Yellow rectangles are M9K memory blocks Each block contains 8192 bits (9216 including parity) 182 on each chip Total of 182 KBytes (204 KB) Light-blue rectangles: Logic Array Blocks (LAB) White rectangles: hardware 18x18 multipliers (144 on chip) B. Baas 239

2) Synthesized Memory Can synthesize memory from standard s clk Memory s are now flip-flops clk likely routed to all s Probably best for small memories only Read bitline logic may be muxes word or address decoder write/read circuitry B. Baas 240

2) Synthesized Memory Standard layout is typically irular Wires not shown Clocks routed to each (flip-flop) INV & BUF OR BUF & MUX MUX BUF OR & MUX BUF OR B. Baas 241