Memory. The memory types currently in common usage are:



Similar documents
Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Memory Basics. SRAM/DRAM Basics

A N. O N Output/Input-output connection

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

RAM & ROM Based Digital Design. ECE 152A Winter 2012

With respect to the way of data access we can classify memories as:

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Computer Architecture

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

Objectives. Units of Memory Capacity. CMPE328 Microprocessors (Spring ) Memory and I/O address Decoders. By Dr.

1. Memory technology & Hierarchy

Computer Systems Structure Main Memory Organization

Chapter 7 Memory and Programmable Logic

1 / 25. CS 137: File Systems. Persistent Solid-State Storage

Chapter 5 :: Memory and Logic Arrays

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Semiconductor Memories

DS1225Y 64k Nonvolatile SRAM

DS1220Y 16k Nonvolatile SRAM

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

CHAPTER 16 MEMORY CIRCUITS

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

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

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

AN1837. Non-Volatile Memory Technology Overview By Stephen Ledford Non-Volatile Memory Technology Center Austin, Texas.

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Memory Systems. Static Random Access Memory (SRAM) Cell

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

DS1220Y 16k Nonvolatile SRAM

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded


MICROPROCESSOR AND MICROCOMPUTER BASICS

Random-Access Memory (RAM) The Memory Hierarchy. SRAM vs DRAM Summary. Conventional DRAM Organization. Page 1

CHAPTER 7: The CPU and Memory

Computer Architecture

DS1307ZN. 64 x 8 Serial Real-Time Clock

Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged

Atmel s Self-Programming Flash Microcontrollers

BIOS and CMOS. Overview. The Function of BIOS. The Bus

The Central Processing Unit:

1-Mbit (128K x 8) Static RAM

FLASH TECHNOLOGY DRAM/EPROM. Flash Year Source: Intel/ICE, "Memory 1996"

Microprocessor or Microcontroller?

Low Power AMD Athlon 64 and AMD Opteron Processors

Chapter 8 Memory Units

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Contents. Overview Memory Compilers Selection Guide

Sequential Circuit Design

PowerPC Microprocessor Clock Modes

Flash Memories. João Pela (52270), João Santos (55295) December 22, 2008 IST

Using Altera MAX Series as Microcontroller I/O Expanders

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Features INSTRUCTION DECODER CONTROL LOGIC AND CLOCK GENERATORS COMPARATOR AND WRITE ENABLE EEPROM ARRAY READ/WRITE AMPS 16

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Discovering Computers Living in a Digital World

Features. Instruction. Decoder Control Logic, And Clock Generators. Address Compare amd Write Enable. Protect Register V PP.

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

Data remanence in Flash Memory Devices

Understanding Memory TYPES OF MEMORY

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

W25Q80, W25Q16, W25Q32 8M-BIT, 16M-BIT AND 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI

PACKAGE OUTLINE DALLAS DS2434 DS2434 GND. PR 35 PACKAGE See Mech. Drawings Section

Lecture N -1- PHYS Microcontrollers

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

Am186ER/Am188ER AMD Continues 16-bit Innovation

8254 PROGRAMMABLE INTERVAL TIMER

Lecture 9: Memory and Storage Technologies

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar

Memory unit. 2 k words. n bits per word

Yaffs NAND Flash Failure Mitigation

Bi-directional level shifter for I²C-bus and other systems.

Introduction To Computers: Hardware and Software

Microprocessor & Assembly Language

The Quest for Speed - Memory. Cache Memory. A Solution: Memory Hierarchy. Memory Hierarchy

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

CAT28C64B F R E E. 64K-Bit CMOS PARALLEL EEPROM L E A D FEATURES DESCRIPTION BLOCK DIAGRAM

Memory Testing. Memory testing.1

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

Single 2.5V - 3.6V or 2.7V - 3.6V supply Atmel RapidS serial interface: 66MHz maximum clock frequency. SPI compatible modes 0 and 3

2.0 Command and Data Handling Subsystem

Chapter 13. PIC Family Microcontroller

Computer Components Study Guide. The Case or System Box

CSE2102 Digital Design II - Topics CSE Digital Design II

Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology

Lecture 5: Gate Logic Logic Optimization

Bandwidth Calculations for SA-1100 Processor LCD Displays

DQ0 DQ1 DQ2 DQ3 DQ4 DQ5 DQ6 DQ7 WE# RAS# A0 A1 A2 A3

256K (32K x 8) Static RAM

HT1632C 32 8 &24 16 LED Driver

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

OVERVIEW OF MICROPROCESSORS

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

The 104 Duke_ACC Machine

Evaluating Embedded Non-Volatile Memory for 65nm and Beyond

CS250 VLSI Systems Design Lecture 8: Memory

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

A New Paradigm for Synchronous State Machine Design in Verilog

Transcription:

ory ory is the third key component of a microprocessor-based system (besides the CPU and I/O devices). More specifically, the primary storage directly addressed by the CPU is referred to as main memory to distinguish it from other memory structures such as CPU registers, caches, and disk drives. Main memory is typically built from several discrete semiconductor memory devices. Most systems contain two or more types of main memory. All memory types can be categorized as ROM or RAM, and as volatile or non-volatile: Read-Only ory (ROM) cannot be modified (written), as the name implies. A ROM chip s contents are set before the chip is placed in the system. Read-Write ory is referred to as RAM (for Random- Access ory). This distinction is inaccurate, since ROMs are also random access, but we are stuck with it for historical reasons. Volatile memories lose their contents when their power is turned off. The memory types currently in common usage are: ROM RAM Volatile (nothing) Static RAM (SRAM) Dynamic RAM (DRAM) Non-volatile Mask ROM PROM EPROM EEPROM Flash memory BBSRAM Every system requires some non-volatile memory to store the instructions that get executed when the system is powered up (the boot code) as well as some (typically volatile) RAM to store program state while the system is running. For a very low-cost system, you can buy microprocessors that include both volatile and non-volatile memory integrated on the same chip (along with some I/O devices as on the MPC823). All you need to add are power and maybe a clock crystal. These systems-on-a-chip are called microcontrollers. The Xilinx download process on the lab expansion boards is run by an 8-bit microcontroller containing 256 bytes of SRAM and 2K bytes of Flash memory. Non-volatile memories do not. EECS 373 F99 Notes 8-1 1998, 1999 Steven K. Reinhardt

Inside a ory Device: the ory Array The heart of a memory device is the memory array, which is where the bit values are actually stored. Each row of memory cells is controlled by a word line. When a specific row is activated via its word line, the data values of that row s cells can be read or written via the bit lines. Inside a ory Device: Support Circuitry Support circuitry around the memory array provides the external device interface. The following (simplified) diagram shows how our 4x4 16-bit memory array might be packaged. This diagram shows a 16-bit memory organized as a 4x4 array: word line A0 A1 A2 2-to-4 decoder ory Array A3 4:1 mux/demux OE CS WE bit line The different types of memory are basically distinguished by how each memory cell stores its bit value. The support circuitry has two functions: Maps the internal physical memory array to the external configuration (4x4 to 16x1, in this example). D0 Provides control signals for reading and writing the array. EECS 373 F99 Notes 8-2 1998, 1999 Steven K. Reinhardt

Generic ory Device Interface Internal vs. external configuration: Physical memory arrays are typically close to square. A square memory array equalizes the row and column wire delays, providing the shortest access time. External configurations are always tall and narrow. Adding one address line halves the number of data lines, so narrow external configurations (x1 or x4) are most pin-efficient. Several configurations are typically available at a given capacity. For example, devices with 64K bits of storage may be available as 64Kx1, 8Kx8, 4Kx16, etc. Control signals: ory Timing: Reads The time required from the start of a read access to valid data output is a memory device s access time. An access time is specified for each of the three conditions required for valid data out (address valid, CS asserted, OE asserted). Let s call these t AV, t CS, and t OE. The time to valid data out will depend on which of these is the critical path. ADDR t AV t CS t RC The chip select signal (CS) enables the device; if CS is not asserted, the device will ignore all other inputs. Deasserting CS may put the device in a low-power mode. This signal is sometimes called chip enable (CE). Output enable (OE) causes the chip to drive the value stored at the specified address onto the data pins (i.e., do a read). CS OE DATA t OE Write enable (WE) causes the chip to store the value from the data pins at the specified address. ROM devices do not have WE inputs (obviously). Most devices have bidirectional data pins (D) that are tristated unless OE is asserted. Some devices have separate data-in (DI) and data-out (DO) pins. Typically, t AV = t CS, but t OE is much smaller. (Why?) The read cycle time (t RC ) is the minimum time required from the start of one access to the start of the next. For most memories, the cycle time equals the access time, but for DRAMs it may be as much as twice the access time. EECS 373 F99 Notes 8-3 1998, 1999 Steven K. Reinhardt

System-level Read Timing To determine the total access time from the CPU s perspective, delays through all of the glue logic must be considered: ory Timing: Writes Write timing is a little more complicated: t WC A t ABUF Addr buffers t ADEC Addr decode CS ADDR t AW A t CW CPU RD/WR D t DBUF Data buffers t INV ory OE D CS WE t AS t WP If the CPU starts driving the address and RD/WR at the same time, what is the effective memory access time? DATA t DS t DH The write happens on the rising edge of WE. As with reads, a separate access time is specified for address valid, CS asserted, and WE asserted: t AW, t CW, and t WP. (t WP is the write pulse width.) Typically t AS is 0, meaning only that WE may not be asserted before the address is valid. Note the required data setup and hold times. The write cycle time t WC is typically not much larger than t AW. EECS 373 F99 Notes 8-4 1998, 1999 Steven K. Reinhardt

ory Types The key distinction between the various types of memory is the means by which each memory cell stores a bit value. By far the simplest technique uses the presence or absence of a diode at each cell to store a value, as shown here: ROM Types Mask ROM characteristics: Large setup charge to get initial mask designed Small marginal cost per part Ready to go off production line word lines Only used in high-volume applications (many thousands or millions of units) where upgrading the contents is not an issue (e.g., consumer electronics). (Used to be common for PC boot code, but obsoleted due to cost & density improvements in flash memories.) bit lines What value is stored by the presence of a diode? Why is a diode required rather than a straight connection (i.e. a wire)? This type of memory is known as a mask ROM, since the pattern of diodes is defined by a mask used in the semiconductor fabrication process. Thus the memory contents are fixed when the chip is made and cannot be changed. Programmable ROM (PROM) Replace diode with diode + fuse, put one at every cell (a.k.a. fusible-link PROM) Initial contents all 1s; users program by blowing fuses to create 0s Plug chip into PROM programmer ( burner ) device, download data file One-time programmable (OTP), bug throw it away EECS 373 F99 Notes 8-5 1998, 1999 Steven K. Reinhardt

ROMs cont d UV Erasable PROM (UV EPROM, or just EPROM) Replace PROM fuse with pass transistor controlled by floating (electrically isolated) gate Program by charging gate; switches pass transistor Careful application of high voltages to overcome gate insulation (again using special burner ) Erase by discharging all gates using ultraviolet light UV photons carry electrons across insulation Chip has window to let light in Insulation eventually breaks down limited number of erase/reprogram cycles (100s/1000s) Biggest cost: special package with window UV EPROM w/o window is an OTP device, equivalent to (and often cheaper than) fusible-link PROM Again, largely displaced by flash memory Non-volatile RAM Types Three basic types: EEPROM, Flash, BBSRAM Electrically Erasable PROM (EEPROM, E 2 PROM) Similar to UV EPROM, but with on-chip circuitry to electrically charge/discharge floating gates (no UV needed) Writable by CPU it s RAM, not ROM (despite name) Reads & writes much like generic RAM on writes, internal circuitry transparently erases affected byte/word, then reprograms to new value Write cycle time on the order of a millisecond typically poll status pin to know when write is done High-voltage input (e.g. 12V) often required for writing Limited number of write cycles (e.g. 10,000) selective erasing requires extra circuitry (additional transistor) per memory cell lower density, higher cost than EPROM EECS 373 F99 Notes 8-6 1998, 1999 Steven K. Reinhardt

Flash ory Again, floating-gate technology like EPROM, EEPROM Electrically erasable like EEPROM, but only in large 8K- 128K blocks (not a byte at a time) Moves erase circuitry out of cells to periphery of memory array Back to one transistor/cell excellent density Reads just like memory Writes like memory for locations in erased blocks typ. write cycle time is a few microseconds slower than volatile RAM, but faster than EEPROM To rewrite a location, software must explicitly erase entire block initiated via control registers on flash memory device Flash Applications Flash technology has made rapid advances in last few years cell density rivals DRAM; better than EPROM, much better than EEPROM multiple gate voltage levels can encode 2 bits per cell 64 Mbit devices available ROMs & EPROMs rapidly becoming obsolete as cheap or cheaper, allows field upgrades Replacing hard disks in some applications smaller, lighter, faster more reliable (no moving parts) cost-effective up to tens of megabytes block erase good match for file-system type interface erase can take several seconds erased blocks can be written (programmed) a byte at a time Still have erase/reprogram cycle limit (10K-100K cycles per block) EECS 373 F99 Notes 8-7 1998, 1999 Steven K. Reinhardt

Battery-backed Static RAM (BBSRAM) Take volatile static RAM device and add battery backup Key advantage: write performance write cycle time same as read cycle time Need circuitry to switch to battery on power-off Have to worry about battery running out Effective for small amount of storage when you need battery anyway (e.g. PC built-in clock) Volatile RAM Types Two basic types: static and dynamic Static RAM (SRAM) Each cell is basically a flip-flop Four or six transistors (4T/6T) relatively poor density Very simple interfacing; writes & reads at same speed Very fast (access times under 10 ns available) Dynamic RAM (DRAM) One transistor per cell (drain acts as capacitor) Highest density memory available Very small charges involved bit lines must be precharged to detect bit values: cycle time > access time reads are destructive; internally does writeback on read values must be refreshed (rewritten) periodically by touching each row of array or charge will leak away External row/column addressing saves pins, $ Row/column addressing + refresh complex interfacing EECS 373 F99 Notes 8-8 1998, 1999 Steven K. Reinhardt