An introduction to flash memory in Linux

Size: px
Start display at page:

Download "An introduction to flash memory in Linux"

Transcription

1 An introduction to flash memory in Linux Ezequiel Garcia Linux Developer Conference Brazil /34

2 Agenda Flash memory: NAND and NOR Linux MTD subsystem Linux UBI/UBIFS systems 2/34

3 The hardware side 3/34

4 Intro to flash memory Fujio Masuoka, invented NAND and NOR memory circa /34

5 Intro to flash memory 5/34

6 Intro to flash memory 6/34

7 Memory organization Minimum I/O size Erase size usually larger than I/O size 7/34

8 NAND and NOR interface 8/34

9 SPI NOR interface 9/34

10 NAND command example 10/34

11 Constraints of flash memory On NAND devices, there is no byte I/O Erase blocks go bad after X number of erases NAND devices also have factory shipped bad blocks Random bit-flips appear as a result of stress 11/34

12 Constraints of flash memory These constraints mean that... On NAND devices, you can t execute-in-place (without additional hardware) Wear leveling is needed to maximize flash life Bad block management is needed on the kernel Bad block management will be needed on the bootloader too! 12/34

13 The software side 13/34

14 What is our goal? We want simple UNIX file semantics: f d = open ( / foo / s o m e _ f i l e ) ; read ( fd, buf, s i z e ) ; w r i t e ( fd, buf, s i z e ) ; c l o s e ( f d ) ; 14/34

15 The stack 15/34

16 The stack 16/34

17 The MTD Linux subsystem 17/34

18 The MTD subsystem Handles NAND, NOR, SPI NOR and more. Devices can be partitioned, and labeled Each partitioned exposes a char device interface Offers a uniform API for different types of devices MTD offers a mechanism for upper layers to manage the bad block table 18/34

19 The MTD subsystem The userspace API consists in POSIX read/write semantics, plus some ioctls to erase memory, create partitions, get the device geometry, etc. s t r u c t e r a s e _ i n f o _ u s e r e r a s e ; f d = open ( / dev /mtd0 ) ; buf = m a l l o c ( s i z e ) ; read ( fd, buf, s i z e ) ; i o c t l ( fd, MEMERASE, &e r a s e ) ; w r i t e ( fd, buf, s i z e ) ; 19/34

20 The MTD subsystem Kernel API, simplified: l i n u x /mtd/mtd. h : i n t mtd_erase ( s t r u c t mtd_info mtd, s t r u c t e r a s e _ i n f o i n s t r ) ; i n t mtd_read ( s t r u c t mtd_info mtd, l o f f _ t from, s i z e _ t len, s i z e _ t r e t l e n, u_char buf ) ; i n t mtd_write ( s t r u c t mtd_info mtd, l o f f _ t to, s i z e _ t len, s i z e _ t r e t l e n, c o n s t u_char buf ) ; 20/34

21 The MTD subsystem Defining partitions can be done in several ways. For instance, via devicetree: p a r t i t i o n s { c o m p a t i b l e = f i x e d p a r t i t i o n s ; p a r t i t i o 0 { l a b e l = U Boot ; r e g = <0 0 x >; } ; p a r t i t i o { l a b e l = F i l e s y s t e m ; r e g = <0x xce0000 >; } ; } ; Also possible to define via kernel parameters and add/removed via ioctls too. 21/34

22 The MTD subsystem The MTD subsystem is very simple, its goal is to abstract the hardware differences and expose a uniform API to upper layers. It won t do anything smart, in particular: No bad block hiding No wear leveling 22/34

23 The UBI and UBIFS Linux subsystems 23/34

24 UBI Solves almost all the constraints problems! Let s take a look at its features: UBI exposes logical volumes UBI implements wear-leveling on MTD devices Volumes are composed of consecutive logical erase blocks Volumes may be created, removed, or re-sized UBI can also expose a read-only block interface UBI fastmap (experimental) can improve attach time UBI is power-cut tolerant Although the block interface may be used to mount a read-only filesystem. It s not enough for a read-write filesystem. 24/34

25 UBI API i n t u b i _ l e b _ e r a s e ( s t r u c t ubi_volume_desc, i n t lnum ) ; i n t ubi_leb_read ( s t r u c t ubi_volume_desc, i n t lnum, char buf, i n t o f f, i n t len, i n t check ) ; i n t u b i _ l e b _ w r i t e ( s t r u c t ubi_volume_desc, i n t lnum, c o n s t v o i d buf, i n t o f f s e t, i n t l e n ) ; i n t ubi_leb_change ( s t r u c t ubi_volume_desc, i n t lnum, c o n s t v o i d buf, i n t l e n ) ; 25/34

26 UBIFS Journal filesystem for UBI volumes, designed to meet special requirements such as power-cut tolerance. Its features are: scalability fast mount (when UBI fastmap is used) write-back support power-cut tolerance fast I/O on-the-flight compression recoverability integrity See for detailed information about UBIFS implementation and features. 26/34

27 Some examples to put all of these together 27/34

28 UBI and UBIFS examples Let s start by preparing a virtual MTD device, backed by a regular file. The commands will need root permission: $ f a l l o c a t e l 100M a_dummy_file $ l o s e t u p show f a_dummy_file $ modprobe block2mtd block2mtd=/dev / loop0 (Yes, it s a bit hacky, but it does the job pretty well). 28/34

29 UBI and UBIFS examples Taa-daa! $ mtdinfo / dev /mtd0 mtd0 Name : block2mtd : / dev / loop0 Type : ram E r a s e b l o c k s i z e : b y t e s Amount o f e r a s e b l o c k s : 200 Minimum i n p u t / output u n i t s i z e : 1 byte Sub page s i z e : 1 byte C h a r a c t e r d e v i c e major / minor : 9 0:0 Bad b l o c k s a r e a l l o w e d : f a l s e Device i s w r i t a b l e : true 29/34

30 UBI and UBIFS examples Now let s format the MTD as UBI and create a UBI volume. $ u b i f o r m a t / dev /mtd0 $ u b i a t t a c h mtdn 0 $ ubimkvol / dev / u b i 0 s 60MiB N v o l t e s t 30/34

31 UBIFS example Finally, we create an UBIFS image, write it and mount it. $ mkfs. u b i f s r ~/ t e s t r e e m 1 \ e c 200 \ o r o o t f s. u b i f s $ u b i u p d a t e v o l / dev / ubi0_0 r o o t f s. u b i f s $ mount t u b i f s u b i 0 : v o l t e s t /mnt/ 31/34

32 UBI read-only filesystem examples What if we just want a read-only filesystem on top of UBI? f a l l o c a t e l 50M r o o t f s. e x t 4 mkfs. e x t 4 r o o t f s. e x t 4 u b i u p d a t e v o l / dev / ubi0_0 r o o t f s. e x t 4 u b i b l o c k c r e a t e / dev / ubi0_0 mount / dev / ubiblock0_0 /mnt touch /mnt/ some_new_stuff 32/34

33 References Micron NAND Flash 101: An Introduction to NAND Linux MTD documentation An Introduction to SPI-NOR Subsystem the internet 33/34

34 Thanks for attending! Q & A ezequiel@collabora.com 34/34

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou and Sunil P

More information

Developing IoT-Based Factory Automation Using F-RAM

Developing IoT-Based Factory Automation Using F-RAM Developing IoT-Based Factory Automation Using F-RAM Douglas Mitchell Flash Memory Summit 2018 Santa Clara, CA 1 INDUSTRIAL SYSTEMS TODAY Industry 4.0 The smart factory, Cyber-physical systems monitor factory

More information

I/O Devices. Device. Lecture Notes Week 8

I/O Devices. Device. Lecture Notes Week 8 I/O Devices CPU PC ALU System bus Memory bus Bus interface I/O bridge Main memory USB Graphics adapter I/O bus Disk other devices such as network adapters Mouse Keyboard Disk hello executable stored on

More information

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University Socket Programming Daniel Zappala CS 360 Internet Programming Brigham Young University Sockets, Addresses, Ports Clients and Servers 3/33 clients request a service from a server using a protocol need an

More information

CS 3411 Systems Programming

CS 3411 Systems Programming CS 3411 Systems Programming Department of Computer Science Michigan Technological University Sockets Today's Topics New Way of Communicating Between Processes Sockets Standard" Unix Processes/IPC IPC stands

More information

IO-Link Data Reference Guide: K50 Pro Touch Button with IO-Link

IO-Link Data Reference Guide: K50 Pro Touch Button with IO-Link IO-Link Data Reference Guide: K50 Pro Touch Button with IO-Link IO-Link Data Map This document refers to the following IODD file: Banner_Engineering-K50PTKQ-20180829-IODD1.1.xml. The IODD file and support

More information

Latches. October 13, 2003 Latches 1

Latches. October 13, 2003 Latches 1 Latches The second part of CS231 focuses on sequential circuits, where we add memory to the hardware that we ve already seen. Our schedule will be very similar to before: We first show how primitive memory

More information

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application Administrivia 1. markem/cs333/ 2. Staff 3. Prerequisites 4. Grading Course Objectives 1. Theory and application 2. Benefits 3. Labs TAs Overview 1. What is a computer system? CPU PC ALU System bus Memory

More information

ww.padasalai.net

ww.padasalai.net t w w ADHITHYA TRB- TET COACHING CENTRE KANCHIPURAM SUNDER MATRIC SCHOOL - 9786851468 TEST - 2 COMPUTER SCIENC PG - TRB DATE : 17. 03. 2019 t et t et t t t t UNIT 1 COMPUTER SYSTEM ARCHITECTURE t t t t

More information

Sun SPOTs: A Great Solution for Small Device Development

Sun SPOTs: A Great Solution for Small Device Development Sun SPOTs: A Great Solution for Small Device Development Claudio M. Horvilleur Cromasoft, S.A. de C.V. México Agenda What is the Problem? What is a SunSPOT? Adding a New Sensor Hardware Development Issues

More information

Computer Science. 19. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section 6.1.

Computer Science. 19. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section 6.1. COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science Computer Science An Interdisciplinary Approach Section 6.1 ROBERT SEDGEWICK

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P. Khatri Lab exercise created and tested by: Abbas Fairouz, Ramu Endluri, He Zhou,

More information

RTS2 Remote Telescope System

RTS2 Remote Telescope System RTS2 Remote Telescope System Petr Kubánek IPL, Universitat de Válencia IAA CSIC Granada Financial support kindly provided by Programa de Ayudas FPI del Ministerio de Ciencia e Innovación (Subprograma FPI-MICINN)

More information

Chapter 1 :: From Zero to One

Chapter 1 :: From Zero to One Chapter 1 :: From Zero to One Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Copyright 2007 Elsevier 1- Chapter 1 :: Topics Background The Game Plan The Art of Managing

More information

Part I. System call overview. Secure Operating System Design and Implementation System Calls. Overview. Abstraction. Jon A. Solworth.

Part I. System call overview. Secure Operating System Design and Implementation System Calls. Overview. Abstraction. Jon A. Solworth. Secure Operating System Design and Implementation System Calls Jon A. Solworth Part I System call overview Dept. of Computer Science University of Illinois at Chicago February 1, 2011 Overview Abstraction

More information

EECS 579: Logic and Fault Simulation. Simulation

EECS 579: Logic and Fault Simulation. Simulation EECS 579: Logic and Fault Simulation Simulation: Use of computer software models to verify correctness Fault Simulation: Use of simulation for fault analysis and ATPG Circuit description Input data for

More information

Software Engineering 2DA4. Slides 8: Multiplexors and More

Software Engineering 2DA4. Slides 8: Multiplexors and More Software Engineering 2DA4 Slides 8: Multiplexors and More Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of Digital Logic

More information

Semiconductor memories

Semiconductor memories Semiconductor memories Semiconductor Memories Data in Write Memory cell Read Data out Some design issues : How many cells? Function? Power consuption? Access type? How fast are read/write operations? Semiconductor

More information

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 CSE/IT 213 (CR) Total No. of Questions :09] [Total No. of Pages : 03 II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 First Semester CSE/IT BASIC ELECTRICAL AND ELECTRONICS ENGINEERING Time: Three Hours

More information

Announcements. Project #1 grades were returned on Monday. Midterm #1. Project #2. Requests for re-grades due by Tuesday

Announcements. Project #1 grades were returned on Monday. Midterm #1. Project #2. Requests for re-grades due by Tuesday Announcements Project #1 grades were returned on Monday Requests for re-grades due by Tuesday Midterm #1 Re-grade requests due by Monday Project #2 Due 10 AM Monday 1 Page State (hardware view) Page frame

More information

Computer organization

Computer organization Computer organization Levels of abstraction Assembler Simulator Applications C C++ Java High-level language SOFTWARE add lw ori Assembly language Goal 0000 0001 0000 1001 0101 Machine instructions/data

More information

A short status. August 20, 2015

A short status. August 20, 2015 A short status August 20, 2015 1 2 3 4 problem Problem Statement Execute the system with maximum performance while sustaining device temperature constraints. Device temperature constraints may refer to

More information

One Optimized I/O Configuration per HPC Application

One Optimized I/O Configuration per HPC Application One Optimized I/O Configuration per HPC Application Leveraging I/O Configurability of Amazon EC2 Cloud Mingliang Liu, Jidong Zhai, Yan Zhai Tsinghua University Xiaosong Ma North Carolina State University

More information

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables UNIT 8 Computer Circuitry: Layers of bstraction 1 oolean Logic & Truth Tables Computer circuitry works based on oolean logic: operations on true (1) and false (0) values. ( ND ) (Ruby: && ) 0 0 0 0 0 1

More information

Advanced Flash and Nano-Floating Gate Memories

Advanced Flash and Nano-Floating Gate Memories Advanced Flash and Nano-Floating Gate Memories Mater. Res. Soc. Symp. Proc. Vol. 1337 2011 Materials Research Society DOI: 10.1557/opl.2011.1028 Scaling Challenges for NAND and Replacement Memory Technology

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Chapter 1 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe100/ CPE100: Digital Logic Design I Section 1004: Dr. Morris From Zero to One Chapter 1 Background:

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST0.2017.2.1 COMPUTER SCIENCE TRIPOS Part IA Thursday 8 June 2017 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Chapter 7. Sequential Circuits Registers, Counters, RAM

Chapter 7. Sequential Circuits Registers, Counters, RAM Chapter 7. Sequential Circuits Registers, Counters, RAM Register - a group of binary storage elements suitable for holding binary info A group of FFs constitutes a register Commonly used as temporary storage

More information

Digital Electronics II Mike Brookes Please pick up: Notes from the front desk

Digital Electronics II Mike Brookes Please pick up: Notes from the front desk NOTATION.PPT(10/8/2010) 1.1 Digital Electronics II Mike Brookes Please pick up: Notes from the front desk 1. What does Digital mean? 2. Where is it used? 3. Why is it used? 4. What are the important features

More information

Outline. policies for the first part. with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014

Outline. policies for the first part. with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014 Outline 1 midterm exam on Friday 11 July 2014 policies for the first part 2 questions with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014 Intro

More information

CSE370: Introduction to Digital Design

CSE370: Introduction to Digital Design CSE370: Introduction to Digital Design Course staff Gaetano Borriello, Brian DeRenzi, Firat Kiyak Course web www.cs.washington.edu/370/ Make sure to subscribe to class mailing list (cse370@cs) Course text

More information

Lecture (02) NAND and NOR Gates

Lecture (02) NAND and NOR Gates Lecture (02) NAND and NOR Gates By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU : Spring 2018, CSE303 Logic design II NAND gates and NOR gates In this section we will define NAND and NOR gates. Logic

More information

SYSTEM V APPLICATION BINARY INTERFACE. Intel386 Architecture Processor Supplement. Fourth Edition

SYSTEM V APPLICATION BINARY INTERFACE. Intel386 Architecture Processor Supplement. Fourth Edition SYSTEM V APPLICATION BINARY INTERFACE Intel386 Architecture Processor Supplement Fourth Edition Copyright 1990 1996 The Santa Cruz Operation, Inc. All rights reserved. Copyright 1990 1992 AT&T. All rights

More information

The course web site s notes entitled Switches, Gates and Circuits which can be found at will be useful to you throughout the lab.

The course web site s notes entitled Switches, Gates and Circuits which can be found at will be useful to you throughout the lab. Circuits Lab Names: Objectives Learn how circuits work, different properties of circuits, and how to derive truth tables, circuits from functions and simply circuits using Boolean circuit equivalence..

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.2016.2.1 COMPUTER SCIENCE TRIPOS Part IA Tuesday 31 May 2016 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Digital Electronics Part 1: Binary Logic

Digital Electronics Part 1: Binary Logic Digital Electronics Part 1: Binary Logic Electronic devices in your everyday life What makes these products examples of electronic devices? What are some things they have in common? 2 How do electronics

More information

/dev/random and SP800-90B

/dev/random and SP800-90B /dev/random and SP800-90B Stephan Müller atsec information security 2015 atsec public atsec information security 2015 Agenda Linux RNG applied to concepts of SP800-90B chapter

More information

Saving Energy in the LU Factorization with Partial Pivoting on Multi-Core Processors

Saving Energy in the LU Factorization with Partial Pivoting on Multi-Core Processors 20th Euromicro International Conference on Parallel, Distributed and Network-Based Special Session on Energy-aware Systems Saving Energy in the on Multi-Core Processors Pedro Alonso 1, Manuel F. Dolz 2,

More information

MS4525HRD (High Resolution Digital)

MS4525HRD (High Resolution Digital) MS4525HRD (High Resolution Digital) Integrated Digital Pressure Sensor (24-bit Σ ADC) Fast Conversion Down to 1 ms Low Power, 1 µa (standby < 0.15 µa) Supply Voltage: 1.8 to 3.6V Pressure Range: 1 to 150

More information

Virtualization. Introduction. G. Lettieri A/A 2014/15. Dipartimento di Ingegneria dell Informazione Università di Pisa. G. Lettieri Virtualization

Virtualization. Introduction. G. Lettieri A/A 2014/15. Dipartimento di Ingegneria dell Informazione Università di Pisa. G. Lettieri Virtualization Introduction G. Lettieri Dipartimento di Ingegneria dell Informazione Università di Pisa A/A 2014/15 G. Lettieri Folk definition What do people mean when they talk about virtualization w.r.t. computers?

More information

Capture and Replay Hardware behaviour

Capture and Replay Hardware behaviour Capture and Replay Hardware behaviour for Regression Testing and Useful Bug Reports Martin Pitt Linux Plumbers Conference, September 2013 Motivation From: Joe User

More information

Quantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu

Quantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu Quantum Computing Virtual Machine Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu Quantum Computing Virtual Machine Quantum Computing Computer science + quantum mechanics = quantum

More information

Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Introduction to Computer Engineering CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 3 Digital Logic Structures Slides based on set prepared by

More information

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop EE210: Switching Systems Lecture 14: State Tables, Diagrams, Latches, and Flip Flop Prof. YingLi Tian Nov. 6, 2017 Department of Electrical Engineering The City College of New York The City University

More information

CS 700: Quantitative Methods & Experimental Design in Computer Science

CS 700: Quantitative Methods & Experimental Design in Computer Science CS 700: Quantitative Methods & Experimental Design in Computer Science Sanjeev Setia Dept of Computer Science George Mason University Logistics Grade: 35% project, 25% Homework assignments 20% midterm,

More information

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic Section 3: Combinational Logic Design Major Topics Design Procedure Multilevel circuits Design with XOR gates Adders and Subtractors Binary parallel adder Decoders Encoders Multiplexers Programmed Logic

More information

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE by Gerrit Muller University of Southeast Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The purpose of the conceptual view is described. A number of methods or models is given to use

More information

A friendly framework for hiding fault enabled virus for Java based smart cards

A friendly framework for hiding fault enabled virus for Java based smart cards A friendly framework for hiding fault enabled virus for Java based smart cards Tiana Razafindralambo Guillaume Bouffard Jean-Louis Lanet Smart Secure Devices (SSD) Team Xlim Université de Limoges aina.razafindralambo@etu.unilim.fr

More information

Information and Entropy. Professor Kevin Gold

Information and Entropy. Professor Kevin Gold Information and Entropy Professor Kevin Gold What s Information? Informally, when I communicate a message to you, that s information. Your grade is 100/100 Information can be encoded as a signal. Words

More information

Parallel Simulation of Quantum Search

Parallel Simulation of Quantum Search Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 634-641 Parallel Simulation of Quantum Search S. Caraiman, V. Manta Simona Caraiman, Vasile Manta

More information

CMP 338: Third Class

CMP 338: Third Class CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does

More information

CMSC 313 Lecture 16 Announcement: no office hours today. Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo

CMSC 313 Lecture 16 Announcement: no office hours today. Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo CMSC 33 Lecture 6 nnouncement: no office hours today. Good-bye ssembly Language Programming Overview of second half on Digital Logic DigSim Demo UMC, CMSC33, Richard Chang Good-bye ssembly

More information

ENGIN 112 Intro to Electrical and Computer Engineering

ENGIN 112 Intro to Electrical and Computer Engineering ENGIN 112 Intro to Electrical and Computer Engineering Lecture 17 Encoders and Decoders Overview Binary decoders Converts an n-bit code to a single active output Can be developed using AND/OR gates Can

More information

md5bloom: Forensic Filesystem Hashing Revisited

md5bloom: Forensic Filesystem Hashing Revisited DIGITAL FORENSIC RESEARCH CONFERENCE md5bloom: Forensic Filesystem Hashing Revisited By Vassil Roussev, Timothy Bourg, Yixin Chen, Golden Richard Presented At The Digital Forensic Research Conference DFRWS

More information

Testability. Shaahin Hessabi. Sharif University of Technology. Adapted from the presentation prepared by book authors.

Testability. Shaahin Hessabi. Sharif University of Technology. Adapted from the presentation prepared by book authors. Testability Lecture 6: Logic Simulation Shaahin Hessabi Department of Computer Engineering Sharif University of Technology Adapted from the presentation prepared by book authors Slide 1 of 27 Outline What

More information

Information Security Theory vs. Reality

Information Security Theory vs. Reality Information Security Theory vs. Reality 0368-4474-01, Winter 2011 Lecture 7: Information flow control Eran Tromer 1 Slides credit: Max Krohn, MIT Ian Goldberg and Urs Hengartner, University of Waterloo

More information

CITY UNIVERSITY SCHOOL OF ENGINEERING AND MATHEMATICAL SCIENCES

CITY UNIVERSITY SCHOOL OF ENGINEERING AND MATHEMATICAL SCIENCES CITY UNIVERSITY SCHOOL OF ENGINEERING AND MATHEMATICAL SCIENCES AERONAUTICAL ENGINEERING MEng/BEng (Hons) AIR TRANSPORT ENGINEERING MEng/BEng (Hons) AIR TRANSPORT ENGINEERING BSc (Hons) AUTOMOTIVE AND

More information

Design and implementation of a new meteorology geographic information system

Design and implementation of a new meteorology geographic information system Design and implementation of a new meteorology geographic information system WeiJiang Zheng, Bing. Luo, Zhengguang. Hu, Zhongliang. Lv National Meteorological Center, China Meteorological Administration,

More information

Speculative Parallelism in Cilk++

Speculative Parallelism in Cilk++ Speculative Parallelism in Cilk++ Ruben Perez & Gregory Malecha MIT May 11, 2010 Ruben Perez & Gregory Malecha (MIT) Speculative Parallelism in Cilk++ May 11, 2010 1 / 33 Parallelizing Embarrassingly Parallel

More information

Quantum Computation. Dr Austin Fowler Centre for Quantum Computer Technology. New Scientist, 10/11/07

Quantum Computation. Dr Austin Fowler Centre for Quantum Computer Technology. New Scientist, 10/11/07 Quantum Computation Dr Austin Fowler Centre for Quantum Computer Technology New Scientist, 10/11/07 Overview what is a quantum computer? bits vs qubits superpositions and measurement implementations why

More information

Jonghwa Lee assistant engineer Samsung Electronics

Jonghwa Lee assistant engineer Samsung Electronics Jonghwa Lee assistant engineer Samsung Electronics Contents Generic Thermal Framework Thermal zone device Cooling device Binding & Thermal instance Governors SYSFS interfaces Thermal management CPU Cooling

More information

Memory Thermal Management 101

Memory Thermal Management 101 Memory Thermal Management 101 Overview With the continuing industry trends towards smaller, faster, and higher power memories, thermal management is becoming increasingly important. Not only are device

More information

ISSP User Guide CY3207ISSP. Revision C

ISSP User Guide CY3207ISSP. Revision C CY3207ISSP ISSP User Guide Revision C Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com Copyrights Copyrights

More information

ME456 Experiment Hardware Checkoff

ME456 Experiment Hardware Checkoff Name: ME456 Experiment Hardware Checkoff Robotics with the Boe-Bot v3.0 Fall 2012 Chapter #6: Light Sensitive Navigation with Phototransistors With your Boe-Bot s phototransistors looking down in front

More information

Pysynphot: A Python Re Implementation of a Legacy App in Astronomy

Pysynphot: A Python Re Implementation of a Legacy App in Astronomy Pysynphot: A Python Re Implementation of a Legacy App in Astronomy Vicki Laidler 1, Perry Greenfield, Ivo Busko, Robert Jedrzejewski Science Software Branch Space Telescope Science Institute Baltimore,

More information

Shift Register Counters

Shift Register Counters Shift Register Counters Shift register counter: a shift register with the serial output connected back to the serial input. They are classified as counters because they give a specified sequence of states.

More information

Important 2 & 3 Marks

Important 2 & 3 Marks t et t et 1. What is Computer? t et t et t et VOLUME-I Chapter-1 INTRODUCTION TO COMPUTERS Important 2 & 3 Marks It is an electronic device that processes the input according to the set of instructions

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Chapter 1 CSCI

Chapter 1 CSCI Chapter 1 CSCI-1510-003 What is a Number? An expression of a numerical quantity A mathematical quantity Many types: Natural Numbers Real Numbers Rational Numbers Irrational Numbers Complex Numbers Etc.

More information

VLSI Design I. Defect Mechanisms and Fault Models

VLSI Design I. Defect Mechanisms and Fault Models VLSI Design I Defect Mechanisms and Fault Models He s dead Jim... Overview Defects Fault models Goal: You know the difference between design and fabrication defects. You know sources of defects and you

More information

Chapter 3 Combinational Logic Design

Chapter 3 Combinational Logic Design Logic and Computer Design Fundamentals Chapter 3 Combinational Logic Design Part 1- Implementation Technology and Logic Design Overview Part 1-Implementation Technology and Logic Design Design Concepts

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Digital Logic Our goal for the next few weeks is to paint a a reasonably complete picture of how we can go from transistor

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

AN AUTOMATED GONIOPHOTOMETER FOR LUMINAIRE CHARACTERIZATION

AN AUTOMATED GONIOPHOTOMETER FOR LUMINAIRE CHARACTERIZATION Copyright 2002 IFAC 15th Triennial World Congress, Barcelona, Spain AN AUTOMATED GONIOPHOTOMETER FOR LUMINAIRE CHARACTERIZATION V. F. Muñoz, J. Gómez-de-Gabriel, J. Fernández-Lozano, R. Molina-Mesa, J.

More information

Junji NAKANO (The Institute of Statistical Mathematics, Japan)

Junji NAKANO (The Institute of Statistical Mathematics, Japan) Speeding up by using ISM-like calls Junji NAKANO (The Institute of Statistical Mathematics, Japan) and Ei-ji NAKAMA (COM-ONE Ltd., Japan) Speeding up by using ISM-like calls p. 1 Outline What are ISM-like

More information

CMSC 313 Lecture 15 Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo

CMSC 313 Lecture 15 Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo CMSC 33 Lecture 5 Good-bye ssembly Language Programming Overview of second half on Digital Logic DigSim Demo UMC, CMSC33, Richard Chang Good-bye ssembly Language What a pain! Understand

More information

To verify Newton s Second Law as applied to an Atwood Machine.

To verify Newton s Second Law as applied to an Atwood Machine. Atwood Machine Equipment Computer, PASCO Interface Table Clamp Double pulley apparatus (one smart pulley) Smart Pulley Data Cable String Two Mass Hangers One Mass Set (1 500, 2 200, 1 100, 1 50, 2 20,

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.2014.2.1 COMPUTER SCIENCE TRIPOS Part IA Tuesday 3 June 2014 1.30 to 4.30 pm COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit

More information

S0214 : GPU Based Stacking Sequence Generation For Composite Skins Using GA

S0214 : GPU Based Stacking Sequence Generation For Composite Skins Using GA S0214 : GPU Based Stacking Sequence Generation For Composite Skins Using GA Date: 16th May 2012 Wed, 3pm to 3.25pm(Adv. Session) Sathyanarayana K., Manish Banga, and Ravi Kumar G. V. V. Engineering Services,

More information

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as Summary of Combinational Logic : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs3/ Combinational device/circuit: any circuit

More information

ECE/CS 250 Computer Architecture

ECE/CS 250 Computer Architecture ECE/CS 250 Computer Architecture Basics of Logic Design: Boolean Algebra, Logic Gates (Combinational Logic) Tyler Bletsch Duke University Slides are derived from work by Daniel J. Sorin (Duke), Alvy Lebeck

More information

CS/IT OPERATING SYSTEMS

CS/IT OPERATING SYSTEMS CS/IT 5 (CR) Total No. of Questions :09] [Total No. of Pages : 0 II/IV B.Tech. DEGREE EXAMINATIONS, DECEMBER- 06 CS/IT OPERATING SYSTEMS. a) System Boot Answer Question No. Compulsory. Answer One Question

More information

Computer-Checked Meta-Logic

Computer-Checked Meta-Logic 1 PART Seminar 25 February 2015 Computer-Checked Meta-Logic Jørgen Villadsen jovi@dtu.dk Abstract Over the past decades there have been several impressive results in computer-checked meta-logic, including

More information

EGC221: Digital Logic Lab

EGC221: Digital Logic Lab Division of Engineering Programs EGC221: Digital Logic Lab Experiment #1 Basic Logic Gate Simulation Student s Name: Student s Name: Reg. no.: Reg. no.: Semester: Fall 2016 Date: 07 September 2016 Assessment:

More information

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU Menu 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU Look into my... 1 7-Segment LED a b c h GND c g b d f a e h Show 7-segment LED in LogicWorks,

More information

CS 3411 Systems Programming

CS 3411 Systems Programming CS 3411 Systems Programming Department of Computer Science Michigan Technological University Pipe Inter-Process Communication in Unix Today's Topics How to communicate between processes without using signals

More information

MapOSMatic, free city maps for everyone!

MapOSMatic, free city maps for everyone! MapOSMatic, free city maps for everyone! Thomas Petazzoni thomas.petazzoni@enix.org Libre Software Meeting 2012 http://www.maposmatic.org Thomas Petazzoni () MapOSMatic: free city maps for everyone! July

More information

Analyses of Energy Consumption Changes by Loop Transformations in Log Blocks-based FTL

Analyses of Energy Consumption Changes by Loop Transformations in Log Blocks-based FTL Analyses of Energy Consumption Changes by Loop Transformations in Log Blocks-based FTL Memory Architecture and Organization Workshop 2013 (MeAOW 2013) 2013. 10. 3 Joon-Young Paik*, Tae-Sun Chung**, Eun-Sun

More information

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates ECE 250 / CPS 250 Computer Architecture Basics of Logic Design Boolean Algebra, Logic Gates Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir

More information

Project Two RISC Processor Implementation ECE 485

Project Two RISC Processor Implementation ECE 485 Project Two RISC Processor Implementation ECE 485 Chenqi Bao Peter Chinetti November 6, 2013 Instructor: Professor Borkar 1 Statement of Problem This project requires the design and test of a RISC processor

More information

Advanced Operating Systems

Advanced Operating Systems http://www.pf.is.s.u-tokyo.ac.jp/class.html Advanced Operating Systems #3 Shinpei Kato Associate Professor Department of Computer Science Graduate School of Information Science and Technology

More information

Lab Manual for ICEN 553/453 Cyber-Physical Systems Fall 2018

Lab Manual for ICEN 553/453 Cyber-Physical Systems Fall 2018 Lab Manual for ICEN 553/453 Cyber-Physical Systems Fall 2018 Prof. Dola Saha Assistant Professor Department of Electrical & Computer Engineering University at Albany, SUNY Chapter 1 Setup Headless Raspberry

More information

APA750 and A54SX32A LANSCE Neutron Test Report. White Paper

APA750 and A54SX32A LANSCE Neutron Test Report. White Paper APA750 and A54SX32A LANSCE Neutron Test Report White Paper December 2003 Table of Contents Executive Summary............................................................... 3 Background and Test Objectives.....................................................

More information

Parallelization of the QC-lib Quantum Computer Simulator Library

Parallelization of the QC-lib Quantum Computer Simulator Library Parallelization of the QC-lib Quantum Computer Simulator Library Ian Glendinning and Bernhard Ömer VCPC European Centre for Parallel Computing at Vienna Liechtensteinstraße 22, A-19 Vienna, Austria http://www.vcpc.univie.ac.at/qc/

More information

EE141- Fall 2002 Lecture 27. Memory EE141. Announcements. We finished all the labs No homework this week Projects are due next Tuesday 9am EE141

EE141- Fall 2002 Lecture 27. Memory EE141. Announcements. We finished all the labs No homework this week Projects are due next Tuesday 9am EE141 - Fall 2002 Lecture 27 Memory Announcements We finished all the labs No homework this week Projects are due next Tuesday 9am 1 Today s Lecture Memory:» SRAM» DRAM» Flash Memory 2 Floating-gate transistor

More information

Infrastructure Automation with Salt

Infrastructure Automation with Salt Infrastructure Automation with Salt Sean McGrath 10th November 2016 About Research IT Where I work as a systems administrator http://www.tchpc.tcd.ie/ Ireland s premier High Performance Computing Centre

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Chapter 1 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe100/ CPE100: Digital Logic Design I Section 1004: Dr. Morris From Zero to One Chapter 1 Background:

More information

COMBINATIONAL LOGIC FUNCTIONS

COMBINATIONAL LOGIC FUNCTIONS COMBINATIONAL LOGIC FUNCTIONS Digital logic circuits can be classified as either combinational or sequential circuits. A combinational circuit is one where the output at any time depends only on the present

More information

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview 407 Computer Aided Design for Electronic Systems Simulation Instructor: Maria K. Michael Overview What is simulation? Design verification Modeling Levels Modeling circuits for simulation True-value simulation

More information

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL. 2017-18 XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL HALF ADDER 1. The circuit that performs addition within the Arithmetic and Logic Unit of the CPU are called adders. 2. A unit that adds two

More information