Advanced XIP Filing System

Slides:



Advertisements
Similar presentations
Hardware Lesson 3 Inside your computer.
Advertisements

Presented by: GREG UNGERER Lineo Inc 825 Stanley St Woolloongabba Qld 4102 Australia Ph: Building x86 Based.
Memory CS423 Dick Steflik. DRAM Dynamic Random Access Memory  each data bit is stored in a separate capacitive element in the Integrated Circuit  Because.
Computer ArchitectureFall 2008 © CS : Computer Architecture Lecture 22 Virtual Memory (1) November 6, 2008 Nael Abu-Ghazaleh.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Operating Systems File Systems (in a Day) Ch
Introduction to Kernel
Avishai Wool lecture Introduction to Systems Programming Lecture 8.3 Non-volatile Memory Flash.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
OS Spring’03 Introduction Operating Systems Spring 2003.
Operating Systems Final Exam Review. Topics Paging Virtual Memory File Systems I/O Devices Project 3: Macro Shell.
Embedded Real-Time Systems Design Selecting memory.
File System Variations and Software Caching May 19, 2000 Instructor: Gary Kimura.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Agenda 1. Present weekly Power Point presentation 2. Open source presentations 3. Final exam review link available 4. All lab assignments due by August.
CS 6560 Operating System Design Lecture 13 Finish File Systems Block I/O Layer.
Making a Phone Call with Phase Change Memory Justin Treon Embedded Linux Conference Session W-130-C April 15, 2008.
1/2002JNM1 With 20 bits, 1,048,576 different combinations are available. Each memory location is assigned a different combination. Each memory location.
Seminar on Linux-based embedded systems
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Overview: Linux and Unix Credit: Cailan Hao (Lancy) Instructor: Mort Anvari Date: 11/3/1999 Southeastern University (OS comparison) The symbol of Linux.
From UEFI Shell to Linux - UEFI Linux BootLoader Zhang Rui Software Engineer Sep 28 th 2011.
1 Interface Two most common types of interfaces –SCSI: Small Computer Systems Interface (servers and high-performance desktops) –IDE/ATA: Integrated Drive.
Inside your computer. Hardware Review Motherboard Processor / CPU Bus Bios chip Memory Hard drive Video Card Sound Card Monitor/printer Ports.
Inside your computer. Hardware Motherboard Processor / CPU Bus Bios chip Memory Hard drive Video Card Sound Card Monitor/printer Ports.
Chapter 5 File Management File System Implementation.
Fall 2000M.B. Ibáñez Lecture 17 Paging Hardware Support.
SAM9260-EK WinCE DEMO AT91 SAM9 Product Group. Version 1.0 October 2006.
Solutions for the First Quiz COSC 6360 Spring 2014.
Ext2/Ext3 Linux File System Reporter: Po-Liang, Wu.
University of Amsterdam Computer Systems – virtual memory Arnoud Visser 1 Computer Systems Virtual Memory.
Architecture of Microprocessor
Computer Architecture Lecture 27 Fasih ur Rehman.
Introduce File Systems – EXT2/3 and BTRFS Yang ShunFa.
Linux file systems Name: Peijun Li Student ID: Prof. Morteza Anvari.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
File system and file structures
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Implementation of Embedded OS
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
MTD overview MTD subsystem (stands for Memory Technology Devices)
XIP – eXecute In Place Jiyong Park. 2 Contents Flash Memory How to Use Flash Memory Flash Translation Layers (Traditional) JFFS JFFS2 eXecute.
CDA 5155 Virtual Memory Lecture 27. Memory Hierarchy Cache (SRAM) Main Memory (DRAM) Disk Storage (Magnetic media) CostLatencyAccess.
File System Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi Fujinoki CS 314.
Local Area Tracking system System Control Unit. Goals Configure Spartan 3 FPGA development board to boot and run uClinux OS Configure Spartan 3 FPGA development.
IMAGE COMPRESSION AND DECOMPRESSION USING ARM9 SYSTEM Under the guidance of Mrs. B. SATYA SRI DEVI,M.Tech, Assistant Professor By V. KUSUMA KUMARI Roll.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Block filesystems Michael.
Introduction to Kernel
Memory COMPUTER ARCHITECTURE
Chapter 8: Main Memory.
Process Management Process Concept Why only the global variables?
Structure of Processes
143A: Principles of Operating Systems Lecture 6: Address translation (Paging) Anton Burtsev October, 2017.
Sega Dreamcast Visual Memory Unit FPGA Implementation
Penguin Weight Watchers
Semester Review Chris Gill CSE 422S - Operating Systems Organization
FPGAs in AWS and First Use Cases, Kees Vissers
KERNEL ARCHITECTURE.
File Structure 2018, Spring Pusan National University Joon-Seok Kim
Main Memory Background Swapping Contiguous Allocation Paging
Virtual Memory CSCI 380: Operating Systems Lecture #7 -- Review and Lab Suggestions William Killian.
Operating Systems Lecture 1.
CSCI 380: Operating Systems William Killian
Off-line Direct Disk Access System
Department of Computer Science
Chapter 1: Introduction CSS503 Systems Programming
Page Main Memory.
Presentation transcript:

Advanced XIP Filing System AXFS Advanced XIP Filing System Jared Hulbert Numonyx April 15, 2008 Source1: This presentation, Machine #? Screens: Output to Left and Right Main Screens, Left Confidence Screen Notes: This presentation will be controlled by Ed Doller Source2: Live video Screens: Main Middle Screen Notes: Source3: This presentation, Machine #? Screens: Right Confidence Screen Notes: same as Source1 with “1 click” ahead so Ed can see upcoming animations and/or foils

Agenda Goal/History Features Architecture Test Results Kernel Integration

Project Goals Supportable solution for application XIP Fine grained control on compression Flexible use of all system memories NOR, NAND, RAM

What is Application XIP? eXecute In Place of userspace code Run code from where it is stored on Flash Saves memory No paging = higher performance “I thought the kernel supported XIP?” Yes, for ext2 with specialized hardware Yes, for kernel code segments (xipImage)

Why a New Filesystem? CRAMFS XIP patches used to work BUT... ~9 years old and haven’t been merged??? patches broke, real bad, every year File level compression choice SquashFS? New, better compression BUT… Block device oriented architecture Didn’t see how to fit new concepts into arch

Features Basic Attributes Compression Flexible Mount Tools Read-only 64bit Designed with CE requirements in mind Compression 4KB-4GB compression block size Page by page uncompression map for XIP Flexible Mount MTD (NAND/NOR) block device split across XIP NOR and non-XIP NAND Tools GPL mkfs.axfs Supported propriety image builder available

Onmedia Format Superblock Region Descriptor Regions Points to many region descriptor Region Descriptor Describes / points to one region Regions Each data type / table has own region permissions, file names, file node info, file data, etc. Region Descriptor Region Descriptor Region Descriptor File Info XIP Region Compressed Region

Data Flow inode Node Index Node Type Table XIP Region Index 0 Index 1 Compressed Compressed Region cblock Offset Table Uncompressed cblock Index 0 Index 2 Index 1 Index 3 cnode Offset Table Index 3 Application Virtual Pages

Mount Options mount –t axfs –o block_dev=/dev/mtd1 /dev/mtd0 /mnt/axfs /dev/sda0 ~/file.axfs (-o loop) /dev/mtd0 (NAND) /dev/mtd0 (NOR) /dev/mtd0 (NOR) AXFS Image AXFS Image AXFS Image AXFS Image AXFS Image Part 1 (MMAP) /dev/mtd1 (NAND) AXFS Image Part 2 (IO)

Image Size Comparison ~1 year old Opie build from OpenEmbedded

Total Memory Used

Fitting into Real Chips

Performance: direct comparison PXA270 Linux-2.6.22 Opie build 520 MHz (CPU) 208 MHz (memory clock) 104 MHz (SDRAM bus) 52 MHz (NOR flash bus) xipImage CONFIG_PREEMPT=y MTD updated to Sept 25 git pull “mem=24MB” in kernel commandline OpenEmbedded ~1 year old

Performance: Direct Comparison Root Filing System Comparison Video at: http://www.youtube.com/watch?v=fu6Yj7iKEiA

Performance: realistic comparison Started with commercial phone PXA270, 48MB RAM, 32MB NOR, 96MB NAND 297 MHz (CPU) / 97 MHz (SDRAM bus) /48 MHz (NOR flash bus) code in CRAMFS from NOR data in NAND “XIP” code in AXFS from NOR “SnD” code in CRAMFS from NAND data on NAND

Performance: realistic comparison XIP vs. SND: Realistic Performance Comparison Video at: http://www.youtube.com/watch?v=HUqFrA4FYd0

Kernel Integration Status Patches VM_MIXEDMAP / pageless XIP patchset just got in –mm tree 2.6.26? Physaddr in mtd->point() Waiting on dwmw2 Todo Features Added compression options (LZO, LZMA, etc) brd RAM disk support

Resources Git tree Sourceforge site git://git.infradead.org/home/jehulber/axfs.git Sourceforge site http://axfs.sf.net

App launch time