Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.

Slides:



Advertisements
Similar presentations
Synchronous Static Random Access Memory (SSRAM). Internal Structure of a SSRAM AREG: Address Register CREG: Control Register INREG: Input Register OUTREG:
Advertisements

Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Chapter 5 Internal Memory
Miss Penalty Reduction Techniques (Sec. 5.4) Multilevel Caches: A second level cache (L2) is added between the original Level-1 cache and main memory.
Anshul Kumar, CSE IITD CSL718 : Main Memory 6th Mar, 2006.
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
Memory (RAM) Organization Each location is addressable Addresses are binary numbers Addresses used at different granularities –each bit is possible, but.
Main Mem.. CSE 471 Autumn 011 Main Memory The last level in the cache – main memory hierarchy is the main memory made of DRAM chips DRAM parameters (memory.
CS.305 Computer Architecture Memory: Structures Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
DRAM. Any read or write cycle starts with the falling edge of the RAS signal. –As a result the address applied in the address lines will be latched.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Nov. 19, 2003 Topic: Main Memory (DRAM) Organization.
EECC550 - Shaaban #1 Lec # 10 Spring Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store.
Memory Hierarchy.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output.
331 Lec20.1Fall :332:331 Computer Architecture and Assembly Language Fall 2003 Week 13 Basics of Cache [Adapted from Dave Patterson’s UCB CS152.
EECC550 - Shaaban #1 Lec # 10 Summer Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store.
1 Lecture 14: Virtual Memory Today: DRAM and Virtual memory basics (Sections )
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Nov. 18, 2002 Topic: Main Memory (DRAM) Organization – contd.
Main Memory by J. Nelson Amaral.
Overview Booth’s Algorithm revisited Computer Internal Memory Cache memory.
Computer Memory Basic Concepts
CSIT 301 (Blum)1 Memory. CSIT 301 (Blum)2 Types of DRAM Asynchronous –The processor timing and the memory timing (refreshing schedule) were independent.
Memory Technology “Non-so-random” Access Technology:
SDRAM Synchronous dynamic random access memory (SDRAM) is dynamic random access memory (DRAM) that is synchronized with the system bus. Classic DRAM has.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
CPE232 Memory Hierarchy1 CPE 232 Computer Organization Spring 2006 Memory Hierarchy Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin.
CSIE30300 Computer Architecture Unit 07: Main Memory Hsin-Chou Chi [Adapted from material by and
Survey of Existing Memory Devices Renee Gayle M. Chua.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Memory and Storage Dr. Rebhi S. Baraka
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
Main Memory CS448.
CS 312 Computer Architecture Memory Basics Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki
CPEN Digital System Design
Topics to be covered : How to model memory in Verilog RAM modeling Register Bank.
University of Tehran 1 Interface Design DRAM Modules Omid Fatemi
Asynchronous vs. Synchronous Counters Ripple Counters Deceptively attractive alternative to synchronous design style State transitions are not sharp! Can.
Modern DRAM Memory Architectures Sam Miller Tam Chantem Jon Lucas CprE 585 Fall 2003.
Dynamic Random Access Memory (DRAM) CS 350 Computer Organization Spring 2004 Aaron Bowman Scott Jones Darrell Hall.
The Memory Hierarchy Lecture # 30 15/05/2009Lecture 30_CA&O_Engr Umbreen Sabir.
Computer Architecture Lecture 24 Fasih ur Rehman.
CS/EE 5810 CS/EE 6810 F00: 1 Main Memory. CS/EE 5810 CS/EE 6810 F00: 2 Main Memory Bottom Rung of the Memory Hierarchy 3 important issues –capacity »BellÕs.
How do you model a RAM in Verilog. Basic Memory Model.
The Evolution of Dynamic Random Access Memory (DRAM) CS 350 Computer Organization and Architecture Spring 2002 Section 1 Nicole Chung Brian C. Hoffman.
COMP541 Memories II: DRAMs
1 Adapted from UC Berkeley CS252 S01 Lecture 18: Reducing Cache Hit Time and Main Memory Design Virtucal Cache, pipelined cache, cache summary, main memory.
Computer Organization CS224 Fall 2012 Lessons 39 & 40.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
CS35101 Computer Architecture Spring 2006 Lecture 18: Memory Hierarchy Paul Durand ( ) [Adapted from M Irwin (
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
Types of RAM (Random Access Memory) Information Technology.
RAM RAM - random access memory RAM (pronounced ramm) random access memory, a type of computer memory that can be accessed randomly;
CS 704 Advanced Computer Architecture
COMP541 Memories II: DRAMs
Chapter 5 Internal Memory
CSE 502: Computer Architecture
Reducing Hit Time Small and simple caches Way prediction Trace caches
COMP541 Memories II: DRAMs
Cache Memory Presentation I
Morgan Kaufmann Publishers Memory & Cache
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 8th Edition
DRAM Hwansoo Han.
William Stallings Computer Organization and Architecture 8th Edition
Bob Reese Micro II ECE, MSU
Presentation transcript:

Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš

Theme’s importance Dynamic RAM (DRAM) memories have been a primary choice for implementing main memories for many years. This qualify them as a candidate for study in course on Computer organization, which take all students in Computer science department on our faculty. This presentation asumes that students already know the basic facts of conventional (asynchronous) DRAM memory.

DRAM’s access phases All DRAM accesses have at least three common phases through which the memory array must proceed. These phases are precharge, row access and column access.

DRAM parameters The two main parameters that differentiate DRAM devices are the latency and the bandwidth: latency- the number of clock cycles that elapse between a request for data and the arrival of the first line of the requested data at the requester input pins; bandwidth-the rate at which the subsequent data lines are returned after the first line arrives

Fast Page Mode DRAM Contemporary implementation of conventional DRAMs use sens amplifiers as a buffer of open row, in which data can be accessed for shorter time than if data is in memory array. Such DRAMs are known as Fast Page Mode DRAMs (FPM DRAM ).

Improving DRAM architecture A few years ago begun significant changes to DRAM architecture in an attempt to improve both the bandwidth and the latency of the main memory system. Most of these approaches use conventional DRAM cores but take advantage of the large amount of data available on the sense amplifiers during an access to dramatically improve bandwidth on and off the memory device.

Examples of new DRAM architectures Examples include among others: Direct Rambus architecture, Double Date Rate SDRAM-DDR SDRAM, and SRAM added to the DRAM device:  Virtual Channel SDRAM - VCSDRAM,  Enhanced SDRAM - ESDRAM, and  Cached DRAM - CDRAM). The speed of the DRAM core is also being improved, but not at the rate of the processor core.

Widely used types of DRAM In this presentation we will limit only on SDR SDRAM, DDR SDRAM and DR DRAM architecture. The reason for this is their wide usage in comercial computers today and chance for them to retain leading position in the near future.

Synchronous DRAM (SDRAM) Important step in developing DRAM architecture was introducing synchronous interface, such that the SDRAM latches information to and from controller based on a clock signal. SDRAM is controlled with comands, which are combination of logic levels of control signals.

Synchronous DRAM SDRAM devices typically have a programmable register that holds a bytes per-request value. SDRAM may therefore return many bytes over several cycles per request. The advantages include the elimination of the timing strobes and the availability of data from the DRAM each clock cycle. Comparing the access time of SDRAM with that of the conventional DRAM, the burst access time of SDRAM is much faster than that of the conventional DRAM while there is not much difference in the random access time.

SDR and DDR SDRAM SDRAM apears in two variants: as Single Data Rate (SDR SDRAM) and Double Date Rate (DDR SDRAM). They differ in that SDR SDRAM transmits one word per clock cycle, while DDR SDRAM transmits two words per clock cycle, each one on rising and falling edge of clock signal.

Several banks in a SDRAM chips The memory chip is separated into several banks, so that controls can be performed by the bank. A row buffer is asociated with every bank. This enable concurent operation of diferrent banks. This results in increasing bandwidth of memory chip.

DirectRambus DRAM (DRDRAM) DRDRAM obtains high bandwidth from a single DRAM device using aggressive signaling technology. Data are transferred across a 16-bit data bus on both edges of a 400 MHz clock, providing a pick transfer rate of 1.6 Gbytes per second. DRDRAMs employ two techniques to maximize actual transfer rate that can be sustained on the data bus. 1.Each DRDRAM device has multiple banks, allowing pipelining and interleaving of accesses to different banks, 2.Commands are sent to DRAM devices over two independent control buses. Splitting the control buses allows the memory controller to send comands to independet banks concurrently.

Recent DRDRAMs The recent Rambus devices are 256 Mbit, and have 32 banks of 1 Mbyte each with 33 half-row buffers. Each half-row buffer is shared between adjacent banks, which implies that adjacent banks cannot be active simultaneously. The smallest addressable unit in a row is dualoct, which is 16 bytes.

Open/closed row policies Open-row policies hold the most recently accessed row in the row buffer. If the next request falls within that row, than only column access is needed. If a row buffer miss occurs, then the full row access is needed, including precharge. Open row policy is better for access patterns with high spatial locality. Closed-page policies, which are better for access patterns with little spatial locality, release the row buffer after an access, requiring only the ACT- RD/WR sequence upon the next access.

Optimization of average latency Minimum of average access time obtains with greatest number of accesses into already open rows of memory, present in buffers of active banks. Depending on locality of memory accesses in each program, data placement may be optimized with increase of hit to open rows in mind. This can be made by solutions which place nearly used data in consecutive memory locations.

Optimization with address remapping One solution which is not based on program features, uses the fact that most of computer configurations contain cache memories (in one or more levels), through which processor communicates with main memory. Data in DRAMs (banks, rows, columns) can be allocated so that data which map into the same set of cache blocks are placed into different banks. This can be made by XOR operation New bank index = (bank index) XOR (lower part of cache tag)

Permutation-based page interleaving scheme Such address remaping which reduce row buffer conflicts is known as a permutation-based page interleaving scheme.