XIP – eXecute In Place 2002. 02. 05 Jiyong Park. 2 Contents Flash Memory How to Use Flash Memory Flash Translation Layers (Traditional) JFFS JFFS2 eXecute.

Slides:



Advertisements
Similar presentations
Chapter 5 Internal Memory
Advertisements

Computer Organization and Architecture
Computer Organization and Architecture
1BA3 G Lacey Lecture 51 Evaluating mathematical expressions  How do computers evaluate x + y or any mathematical expression ?  Answer : “Reverse Polish.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
What is memory? Memory is used to store information within a computer, either programs or data. Programs and data cannot be used directly from a disk or.
Memory CS423 Dick Steflik. DRAM Dynamic Random Access Memory  each data bit is stored in a separate capacitive element in the Integrated Circuit  Because.
©Brooks/Cole, 2003 Chapter 5 Computer Organization.
Avishai Wool lecture Introduction to Systems Programming Lecture 8.3 Non-volatile Memory Flash.
Memory Organization.
Static Memory Outline –Types of Static Memory –Static RAM –Battery Backup –EPROM –Flash Memory –EEPROM Goal –Understand types of static memory –Understand.
Embedded Real-Time Systems Design Selecting memory.
Computer Organization and Architecture
Chapter 5 Internal Memory
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
IT Systems Memory EN230-1 Justin Champion C208 –
Memory. When we receive some instruction or information we retain them in our memory. Similarly a computer stores the instructions for solving a problem,
F1020/F1031 COMPUTER HARDWARE MEMORY. Read-only Memory (ROM) Basic instructions for booting the computer and loading the operating system are stored in.
Lecture # 13 Memory and Storage
Computer Architecture Part III-A: Memory. A Quote on Memory “With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
Module IV Memory Organization.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
2. Memory. Main memory – speed & types Organization of RAM RAM – Random Access Mem Static RAM [SRAM] - In SRAM, a bit of data is stored using the state.
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Memory Hierarchy.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Computing Hardware Starter.
Random access memory.
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Chidambaranathan C.M SRM University,Haryana. Memory:- As the word implies “memory” means the place where we have to store any thing, this is very essential.
Computer Architecture And Organization UNIT-II Structured Organization.
Chapter 4 Memory Management Virtual Memory.
MEMORY INTERFACE (ROMS, RAMS). Computer Memory Overview.
Computer Systems Week 14: Memory Management Amanda Oddie.
Computer Architecture Lecture 24 Fasih ur Rehman.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
ROM Nitin mishra. ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be.
Semiconductor Memory Types
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Architectural Considerations A Review of Some Architectural Concepts.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Lecture 2 (Memory) Dr. Muhammad Ayaz Computer Organization and Assembly Language. (CSC-210)
Main Memory Main memory – –a collection of storage locations, –each with a unique identifier called the address. Word- –Data are transferred to and from.
Computer Architecture Chapter (5): Internal Memory
대용량 플래시 SSD의 시스템 구성, 핵심기술 및 기술동향
Memory Management memory hierarchy programs exhibit locality of reference - non-uniform reference patterns temporal locality - a program that references.
Index What is an Interface Pins of 8085 used in Interfacing Memory – Microprocessor Interface I/O – Microprocessor Interface Basic RAM Cells Stack Memory.
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Section 9: Virtual Memory (VM)
Internal Memory.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Read Only Memory July 22, 2018.
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
Memory chips Memory chips have two main properties that determine their application, storage capacity (size) and access time(speed). A memory chip contains.
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
William Stallings Computer Organization and Architecture 7th Edition
Introduction to Computing Chapter 0
MICROPROCESSOR MEMORY ORGANIZATION
2.C Memory GCSE Computing Langley Park School for Boys.
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Presentation transcript:

XIP – eXecute In Place Jiyong Park

2 Contents Flash Memory How to Use Flash Memory Flash Translation Layers (Traditional) JFFS JFFS2 eXecute In Place Future

3 Flash Memory Non-volatile Memory mask ROM – non-programmable PROM– once programmable, non-erasable EPROM – erasable (ultraviolet) EEPROM – erasable (electrically) Flash Memory 1984, Toshiba, originated from Flash EEPROM In system programmablity

4 Flash Memory - Characteristics Array of blocks (few KB) 0  1 (erase): by block unit 1  0 (program): by bit unit Power: Low Read: Flash 10~50mA, DRAM 100~150mA Standby: Flash 10~50uA, DRAM 100~200mA Speed: Slow Read: Flash 70ns~25us, DRAM few ns Write: Very slow. (us ~ sec)

5 Flash Memory – NOR type Interface Similar to SRAM Lineary accessable No H/W is needed to be attached on memory interface Block size: Typically 128KB Limited lifetime: 100,000 erase cycle Manufactures: Intel, AMD, Sharp, Fujitsu Package: single chip

6 Flash Memory – NAND type Interface 8Bit I/O (shared address & data line) Not linearly accessable Special H/W needed to be attached on memory interface … than NOR type Cheaper, lower tolerance Smaller erase blocks (8KB) Bigger size (NOR: Mb, NAND: Gb) Slower read speed (NOR: ns, NAND: us) Manufacture: Samsung, Toshiba Package: card type

7 Flash Memory - Problems Cannot read while write(erase/program) Limited erase cycle Long erase/program time Slower than RAM Narrower bus witdh than RAM More expensive than RAM

How to Use Flash Memory

9 Flash Translation Layers Traditional answer Emulate a standard block device (IDE HDD) Use a normal file system on top of that Not Good FTL is itself a pseudo-file system Not efficient No wear levelling (FAT is updated frequently) Licensed

10 Flash Translation Layers Flash Memory Flash Translation Layer Block Device Driver IDE hard disk EXT2, FAT, …

11 JFFS Journalling Flash File System Log-structured Operates directly on flash memory Built-in wear levelling Axis Communications AB, 1999, Sweden Redhat, JFFS2 (with compression, hardlink, …) GPL’d, Ported to Linux 2.4 Flash Memory MTD Layer (Memory Technology Layer) JFFS(2)

12 eXecute In Place Flash Memory code data copied RAM CPU code data CPU XIP

13 Should We Use XIP ? Benefits RAM usage reduced Copying overhead eleminated Power saving Drawback Flash is more expensive (smaller RAM vs larger Flash) Cannot use compression Flash is slower Writing with compression is faster RAM is more flexible (e.g. discarding file buffers) Power not saved much Page-aligned: space waste While writing, all page mapping should be invalidated

14 How to Use XIP Read-only XIP On separate file-system Based on ROMFS MTD Layer (Memory Technology Layer) JFFS(2)XIP filesystem Flash Memory

15 Still Problems Read while write While writing, read operation returns status info (‘write done’ or ‘write in progress’) RWW-enabled flash Independent zones Software approach RAM based interrupt handler suspend flash operation + interrupt service + resume

16 IDLE read + address / data Erase write + erase + block read / status Program read / status write + program + address + data

17 Still Problems With MMU Program don’t need to be position independent code data Flash Memory RAM Page Table code data x NOR TypeNAND Type CPU page fault handler

18 Still Problems Without MMU Program should be relocatable In case of multi-section is used, section base should be written in code Writing is prohibited Solution: using software interrupt inter-section reference instruction followed by software interrupt instruction interrupt handler routine examines inter-section reference instruction, then jump to or return data Drawback: slow

19 Current and Future Linux Redhat, no plan to support r/w XIP XIP is considered as bad technology Windows CE Support XIP using MMU Intel’s Persistent Storage Manager (iPSM): software XIP Future XIP without MMU ?