Flash memory File system organisation issues Nick Gaens.

Slides:



Advertisements
Similar presentations
Trading Flash Translation Layer For Performance and Lifetime
Advertisements

Full-Datapath Secure Deletion Sarah Diesburg 1. Overview Problem  Current secure deletion methods do not work State of the art  Optimistic system-wide.
FlashVM: Virtual Memory Management on Flash Mohit Saxena and Michael M. Swift Introduction Flash storage is the largest change to memory and storage systems.
Log-Structured Memory for DRAM-Based Storage Stephen Rumble, Ankita Kejriwal, and John Ousterhout Stanford University.
Chapter 11: File System Implementation
File System Implementation
Recap of Feb 25: Physical Storage Media Issues are speed, cost, reliability Media types: –Primary storage (volatile): Cache, Main Memory –Secondary or.
Avishai Wool lecture Introduction to Systems Programming Lecture 8.3 Non-volatile Memory Flash.
Cse Feb-001 CSE 451 Section February 24, 2000 Project 3 – VM.
Embedded Real-Time Systems Design Selecting memory.
The Design and Implementation of a Log-Structured File System Presented by Carl Yao.
AMIR RACHUM CHAI RONEN FINAL PRESENTATION INDUSTRIAL SUPERVISOR: DR. ROEE ENGELBERG, LSI Optimized Caching Policies for Storage Systems.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
File system support on Multi Level Cell (MLC) flash in open source April 17, 2008 Kyungmin Park Software Laboratories Samsung Electronics.
Flash memory Yi-Chang Li
Chapter 10 Storage and File Structure Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Origianal Work Of Hyojun Kim and Seongjun Ahn
Seminar on Linux-based embedded systems
Some key-value stores using log-structure Zhichao Liang LevelDB Riak.
Motivation SSDs will become the primary storage devices on PC, but NTFS behavior may not suitable to flash memory especially on metadata files. When considering.
Logging in Flash-based Database Systems Lu Zeping
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
Comp 335 – File Structures Why File Structures?. Goal of the Class To develop an understanding of the file I/O process. Software must be able to interact.
SOLID STATE DRIVES By: Vaibhav Talwar UE84071 EEE(5th Sem)
Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,
File Systems in Real-Time Embedded Applications March 4th Eric Julien Introduction to File Systems 1.
Full-Datapath Secure Data Deletion Sarah Diesburg 5/4/
Overview of Physical Storage Media
By Phani Gowthami Tammineni. Overview This presentation is about the issues in real-time database systems and presents an overview of the state of the.
Enabling Large-Scale Storage in Sensor Networks with the Coffee File System ISPN 2009 Lawrence.
The Design and Implementation of Log-Structure File System M. Rosenblum and J. Ousterhout.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by Chris Homan.
Wei-Shen, Hsu 2013 IEE5011 –Autumn 2013 Memory Systems Solid State Drive with Flash Memory Wei-Shen, Hsu Department of Electronics Engineering National.
Free Space Management.
11.1Database System Concepts. 11.2Database System Concepts Now Something Different 1st part of the course: Application Oriented 2nd part of the course:
Lecture 3 Page 1 CS 111 Online Disk Drives An especially important and complex form of I/O device Still the primary method of providing stable storage.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by RuBao Li, Zinan Li.
Operating Systems CMPSC 473 I/O Management (3) December 07, Lecture 24 Instructor: Bhuvan Urgaonkar.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
연세대학교 Yonsei University Data Processing Systems for Solid State Drive Yonsei University Mincheol Shin
A Lightweight Transactional Design in Flash-based SSDs to Support Flexible Transactions Youyou Lu 1, Jiwu Shu 1, Jia Guo 1, Shuai Li 1, Onur Mutlu 2 LightTx:
Lecture 22 SSD. LFS review Good for …? Bad for …? How to write in LFS? How to read in LFS?
11.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 11.5 Free-Space Management Bit vector (n blocks) … 012n-1 bit[i] =  1  block[i]
Memory and Storage Aldon Tom. What is Memory? Memory is a solid-state digital device that stores data values. Memory holds running programs and the data.
Katie Hintze.  A non-volatile storage device that stores digitally encoded data  Introduced in 1956  Long-term persistent storage.
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
XIP – eXecute In Place Jiyong Park. 2 Contents Flash Memory How to Use Flash Memory Flash Translation Layers (Traditional) JFFS JFFS2 eXecute.
Application-Managed Flash
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
1 Transactional Flash Vijayan Prabhakaran, Thomas L. Rodeheffer, Lidong Zhou Microsoft Research, Silicon Valley Presented by Sudharsan.
1 Paolo Bianco Storage Architect Sun Microsystems An overview on Hybrid Storage Technologies.
CPSC 426: Building Decentralized Systems Persistence
Data Storage and Querying in Various Storage Devices.
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
Storage Devices CS 161: Lecture 11 3/21/17.
CMPE Database Systems Workshop June 16 Class Meeting
What you should know about Flash Storage
Storage and Disks.
CS 554: Advanced Database System Notes 02: Hardware
Operating Systems ECE344 Lecture 11: SSD Ding Yuan
Review.
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Overview: File system implementation (cont)
2.C Memory GCSE Computing Langley Park School for Boys.
Parallel Garbage Collection in Solid State Drives (SSDs)
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
CS 295: Modern Systems Storage Technologies Introduction
Presentation transcript:

Flash memory File system organisation issues Nick Gaens

Introduction Technologies How does it work? Limitations File systems: problems and workarounds Outline

Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. – Wikipedia Quick introduction

Usage: almost everywhere. Latest trend: SSD’s, successors of HDD’s. Quick introduction SSDHDD PerformanceHighAverage Access timeLowAverage Cost ($/GB)HighLow Life expectancyLowAverage

Overall level of research activity: quite low. How come?Extremely low cost-effective due to expensiveness and low life expectancy. Recent:on the rise (IBM’s nanocrystals, terabyte thumb drives …). Quick introduction

NANDNOR ArchitectureExtremely high cell densitiesSmall amount of unstructured cells Primary usageData storageCode storage (eXecute In Place) AddressabilityBlocks, Serial I/O interfaceBytes, SRAM PerformanceFaster write and eraseFaster read, very slow erase Problems10 6 cycles, bit flipping10 5 cycles, bit flipping CostLower price tagHigher price tag Technologies

SLCMLC StorageSingle bit per cellTwo bits per cell CostHigher cost per bitLower cost per bit Endurance10 5 cycles10 4 cycles ApplicationIndustrial environmentsCommercial products Technologies

NAND chip consists of blocks consisting of pages. Block: smallest unit of erase operation Page: smallest unit of read / write operation How does it work?

Each page has one of the next statuses: “alive” (contains new, valid data), “dead” (contains old data) or “free” (can be written to). How does it work?

Data is written on each page once, thus no rewrite of data in the same location. So updating data requires: 1.find a new page, write data in it and mark it “alive”; 2.mark the previous page as “dead”. Problem:data wasn’t actually erased, so free space is worn out. How does it work?

Garbage collector converts “dead” pages to “free” ones. So erasing data requires: 1.read all “alive” pages of a block; 2.write them all to an empty block; 3.delete the contents of the entire block of 1. and mark it as “free”. How does it work?

A block can endure a limited amount (10 6 ) of erase cycles before becoming unusable. How to expand the lifetime of flash drives? Introduction of a wear-leveling policy which spreads out erase operations on all blocks of the memory. Limitations

The erase operation is very slow, due to the composition of three required steps. How slow? 5 times slower than reading, 2 times slower than writing. Impact on flash database design: effect on usage of tree structures (e.g. B+-Tree’s). Limitations

Traditional file systems (such as NTFS, FAT(32), HFS(+), UDF and ext2/3/4) are most frequently found to be used with disk based data storage devices (HDD’s, DVD’s). Using these FS’s on flash based storage devices is quite opportunistic and cheap, though naïve, minimizing performance gains and lowering flash memory’s lifetime. File systems

How come? Erase operation of flash memory is explicit and expensive, thus better scheduled when idling. (Disks don’t require such scheduling at all.) File systems

How come? Flash memory devices impose no seek latency, thus randomly accessing memory locations doesn’t cause a performance disaster. Disk file systems are however optimized to avoid disk seeks whenever possible, due to the high cost of seeking on disk based devices. File systems

How come? Flash memory devices tend to wear out when a single block is repeatedly overwritten. Wear-leveling: a necessity. (Flash file systems are designed to spread out writes evenly.) File systems

Adapt the existing FS’s by adding a layer on top of them, the Flash Translation Layer. This layer takes care of the introduced constraints and restrictions of flash memory. Workarounds

Log-structured File System Conventional file systems: great care for spatial locality and in-place changes to their data structures (due to slow seeking of magnetic disks). Hypothesis: an ever-increasing amount of system memory makes the above obsolete. Workarounds

Log-structured File System A lot of available system memory would lead to I/O becoming extremely write-heavy. (Reads can be done from memory cache.) How to exploit this (hypothetical) situation? Workarounds

Log-structured File System Treating storage as a circular log and writing sequentially to the head of that log to maximize the write throughput. (Positive side effects of this technique are snapshotting, improved crash recovery and tampering the GC by divide and conquer.) Workarounds

Workarounds remain what they are … just workarounds. A native flash file system can by-design provide an environment in which the performance isn’t limited by any ‘extra’. (Examples are JFFS(2), YAFFS, TrueFFS and ExtremeFFS.) Workarounds

However, in practice, flash file systems are only used for "Memory Technology Devices“. MTD’s are embedded flash memories that do not have a controller which takes care of the FTL or any other workarounds. Most commercial flash memories do have such a controller. (E.g. SD, SSD) Flash file system

These controllers remain to offer increasing levels of performance, causing the call for applying a native flash file systems to be silenced. Also, benchmarks that directly compare flash FS’s to traditional ones cannot be done that easily. Flash file system

Flash memory provides new levels of raw performance to storage techniques, although they do have some issues / caveats. Increasing affordability and feasibility of consumer-leveled flash-based mass storage devices. Consequence: ‘naked’ file systems are quite dumb when it comes to interfacing with flash memory. Conclusions

Solution (?) by providing all sorts of high- performance workarounds that take care of the issues mentioned before. Native flash file systems don’t need such workarounds at all, making them attractive. In practice, those flash FS’s are of little use, due to their requirement of the absence of e.g. controllers. Conclusions

How many of you do own an SSD? Are you aware of the limited lifetime expectancy of such devices? Discussion

Co-presentation: need of advanced data structures for allowing Game AI algorithms to perform faster on e.g. range queries for large amounts of NPC’s. Underlaying cause of this need is the lack of high-performance mass data storage. Does the uprise of flash memory make this research obsolete? Discussion