Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,

Slides:



Advertisements
Similar presentations
File Management.
Advertisements

Indexing Large Data COMP # 22
A New Cache Management Approach for Transaction Processing on Flash-based Database Da Zhou
Introduction to Database Systems1 Records and Files Storage Technology: Topic 3.
Trading Flash Translation Layer For Performance and Lifetime
International Conference on Supercomputing June 12, 2009
Chapter 11: File System Implementation
University of Minnesota FAST: A Framework for Flash-Aware Spatial Trees Mohamed Sarwat, Mohamed Mokbel, Xun Zhou Department of Computer Science and Engineering.
1 Overview of Storage and Indexing Chapter 8 (part 1)
Database Implementation Issues CPSC 315 – Programming Studio Spring 2008 Project 1, Lecture 5 Slides adapted from those used by Jennifer Welch.
1 Overview of Storage and Indexing Yanlei Diao UMass Amherst Feb 13, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
File Organizations and Indexing Lecture 4 R&G Chapter 8 "If you don't find it in the index, look very carefully through the entire catalogue." -- Sears,
1.1 CAS CS 460/660 Introduction to Database Systems File Organization Slides from UC Berkeley.
File System Implementation
1 Overview of Storage and Indexing Chapter 8 1. Basics about file management 2. Introduction to indexing 3. First glimpse at indices and workloads.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
Memory Management Last Update: July 31, 2014 Memory Management1.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, VUW Indexing Large Data COMP
Objectives Learn what a file system does
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Lecture 11: DMBS Internals
IT The Relational DBMS Section 06. Relational Database Theory Physical Database Design.
Flashing Up the Storage Layer I. Koltsidas, S. D. Viglas (U of Edinburgh), VLDB 2008 Shimin Chen Big Data Reading Group.
Chapter 10 Storage and File Structure Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Origianal Work Of Hyojun Kim and Seongjun Ahn
Announcements Exam Friday Project: Steps –Due today.
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.
Author : Chin-Hsien Wu Presenter : kilroy. Outline Introduction Related work Motivation Main idea Evaluation Conclusion Q & A.
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
1 Chapter 17 Disk Storage, Basic File Structures, and Hashing Chapter 18 Index Structures for Files.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
Database Management Systems,Shri Prasad Sawant. 1 Storing Data: Disks and Files Unit 1 Mr.Prasad Sawant.
CS246 Data & File Structures Lecture 1 Introduction to File Systems Instructor: Li Ma Office: NBC 126 Phone: (713)
Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split Wook-Hee Kim 1, Beomseok Nam 1, Dongil Park 2, Youjip Won.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by Chris Homan.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
Wei-Shen, Hsu 2013 IEE5011 –Autumn 2013 Memory Systems Solid State Drive with Flash Memory Wei-Shen, Hsu Department of Electronics Engineering National.
University of Minnesota FAST: A Framework for Flash-Aware Spatial Trees Mohamed Sarwat, Mohamed Mokbel, Xun Zhou Department of Computer Science and Engineering.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by RuBao Li, Zinan Li.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Storage Structures. Memory Hierarchies Primary Storage –Registers –Cache memory –RAM Secondary Storage –Magnetic disks –Magnetic tape –CDROM (read-only.
Marwan Al-Namari Hassan Al-Mathami. Indexing What is Indexing? Indexing is a mechanisms. Why we need to use Indexing? We used indexing to speed up access.
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
Lecture 22 SSD. LFS review Good for …? Bad for …? How to write in LFS? How to read in LFS?
ICOM 5016 – Introduction to Database Systems Lecture 13- File Structures Dr. Bienvenido Vélez Electrical and Computer Engineering Department Slides by.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
DATA MANAGEMENT 1) File StructureFile Structure 2) Physical OrganisationPhysical Organisation 3) Logical OrganisationLogical Organisation 4) File OrganisationFile.
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
W4118 Operating Systems Instructor: Junfeng Yang.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
Chin-Hsien Wu & Tei-Wei Kuo
Module 11: File Structure
Chapter 11: File System Implementation
CS522 Advanced database Systems
Lecture 16: Data Storage Wednesday, November 6, 2006.
Operating Systems (CS 340 D)
26 - File Systems.
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
Chapter 11: File System Implementation
Chapters 17 & 18 6e, 13 & 14 5e: Design/Storage/Index
Disk Storage, Basic File Structures, and Buffer Management
Chapter 11: Indexing and Hashing
Introduction to Database Systems
File System Implementation
Chapter 11: Indexing and Hashing
Presentation transcript:

Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology, Taipei, Taiwan Slide 1 B-Tree Structures over Flash Memory

Outline Slide 2 Introduction Flash Memory Characteristics Efficient B-Tree Index Structures over Flash Memory Conclusion

Introduction Slide 3 Storage Systems Embedded Systems or General Operating Systems File Systems An interface for information retrieval and access. Physical Devices A persistent (non-volatile) storage. Benefits of Flash Memory as Storage Systems Shock Resistant No mechanical gadgets. Non-Volatile Persistent across power-failures. Power Economic Relatively to hard-disks. Flash Memory is a good storage device for storage systems!

Introduction Slide 4 Small updates could deteriorate flash-memory storage systems. B-Tree index structures over flash memory. We aim at resolving these issues over flash memory storage systems!

Outline Slide 5 Introduction Flash Memory Characteristics Efficient B-Tree Index Structures over Flash Memory Conclusion

Organization of a Typical NAND Flash Memory Erase a block time (2ms) > Write a page time (200us) > Read a page time (50us) Slide 6 … Block 0 Block 1 Block 2 Block 3 Erase one block 1 Page = 512B + 16B 1 Block = 32 pages … Read/Write one page Flash Memory Characteristics 512B 16B User Area Spare Area

Example 1: Out-place Update Slide 7 Live pages Free pages ABCD Suppose that we want to update data A and B… Flash Memory Characteristics

Slide 8 Dead pages ABCDAB Example 1: Out-place Update

Example 2: Garbage Collection Slide 9 A live page A dead page A free page This block is to be recycled. (3 live pages and 5 dead pages) LDDLDDLD LLDLLLFD LFLLLLDF FLLFLLFD Flash Memory Characteristics

Example 2: Garbage Collection Slide 10 LLDLLLD LFLLLLD LLFLLFD L L DDDD A live page A dead page A free page Live data are copied to somewhere else. L DDDD Flash Memory Characteristics

Example 2: Garbage Collection Slide 11 A live page A dead page A free page The block is then erased. Overheads: live data copyinglive data copying block eraseing.block eraseing. LLDLLLD LFLLLLD LLFLLFD L L FFFFFFFF L Flash Memory Characteristics

Example 3: Wear-Leveling: Each block has an individual limit on the erase cycle count. The limit ≦ 1,000,000 under the current technology Slide 12 LDDLDDLD LLDLLLFD LFLLLLDF FLLFLLFD Erase cycle counts Wear-leveling might interfere with the decisions of the block-recycling policy. A live page A dead page A free page A B C D Flash Memory Characteristics

Slide 13

Flash Memory Characteristics Slide 14 Flash Translation Layer (FTL)

Outline Slide 15 Introduction Flash Memory Characteristics Efficient B-Tree Index Structures over Flash Memory Conclusion

Why Research On Index Structures Over Flash Memory ? Slide 16 Now, a 16G bit NAND flash-memory chip (SAMSUNG K9WAG08U1M flash memory chips) is available in the market. Flash memory could be considered as an alternative to hard disks in many applications. The implementation of index structures, which are very popular in the organization of data on disks, must be considered regarding flash memory.

Efficient B-Tree Index Structures over Flash Memory Slide 17 B-Tree B-Tree is one of the most popular data structures adopted by database applications or databases systems (such as IBM DB2, Informix, Microsoft SQL Server, Oracle 8, and Sybase ASE), or even many well-known journaling file systems (such as XFS, JFS, and ReiserFS *) The implementation of B-Tree index structures, which provide efficient data access on disks, must be considered regarding flash memory.

Efficient B-Tree Index Structures over Flash Memory Motivation Slide 18 A B-Tree Example

Efficient B-Tree Index Structures over Flash Memory Slide 19 Motivation For disk storage systems: A B-Tree node occupies a fixed number of sectors. Large chunks are fetched from/committed to disks. It is very efficient for disk storage systems to do this. For flash-memory storage systems: Intensively byte-wise operations are needed for B-Tree. A page must be written even if few bytes are modified. Free space is consumed very quickly due to the adoption of out-place updates. Garbage collection will be triggered frequently, and the lifetime of flash memory is reduced severely.

Efficient B-Tree Index Structures over Flash Memory Slide 20 Flash Translation Layer (FTL) I1I2I3 Index Unit I4I6I5 Sector 1 Sector 2

Efficient B-Tree Index Structures over Flash Memory Index Units vs. B-Tree Nodes Slide 21 Flash Translation Layer (FTL) I1I1 I2I2 I3I3 Inde x Unit I4I4 I6I6 I5I5 Sector 1 Sector 2

Efficient B-Tree Index Structures over Flash Memory Slide 22 The Commit Policy Flash Translation Layer (FTL) I1I1 I2I2 I3I3 Ind ex Unit I4I4 I6I6 I5I5 Sector 1 Sector 2 Suppose that a sector can store up to 3 index units The technical issue is to minimize the number of sectors written to store the committed index units. The problem of packing index units into sectors that is reduced from the Bin-Packing problem is NP-Hard. A FIRST-FIT approximation algorithm was adopted in our experiments I1I2I3 Index Unit: I4I6I5 Sector 1 Sector 2 DFHIJ Node: Sector:

Efficient B-Tree Index Structures over Flash Memory Slide 23 The Node Translation Table To construct node C, BFTL reads and parses sectors whose addresses’ are 23 and 100 To prevent the lists from being too long, the lists should be compacted when needed. To prevent the lists from being too long, the lists should be compacted when needed.

Efficient B-Tree Index Structures over Flash Memory Slide 24 Performance Evaluation Experimental Setup Flash-memory environments A 4MB NAND flash memory. The greedy block-recycling policy in garbage collection. B-Tree environments The fan-out of was 21. The size of a B-Tree node fitted in a sector (512 bytes). Other parameters The reservation buffer was configured to hold up to 60 records. The bound of the lengths of lists in the node translation table was set as 4.

Efficient B-Tree Index Structures over Flash Memory Slide 25 Experimental Results Performance Metrics Average response time. Number of pages read and written. Number of blocks erased. Number of executions of the compact function

Efficient B-Tree Index Structures over Flash Memory Slide 26 Average Response Time of Insertions after Inserting 30,000 Records Rs: To control the distribution of the values of the inserted keys. Rs 1 Sequential 0 Random

Efficient B-Tree Index Structures over Flash Memory Slide 27 Number of Pages Written after Inserting 30,000 Records

Efficient B-Tree Index Structures over Flash Memory Slide 28 Number of Pages Read after Inserting 30,000 Records

Efficient B-Tree Index Structures over Flash Memory Slide 29 Number of Blocks Erased after Inserting 30,000 Records

Efficient B-Tree Index Structures over Flash Memory Slide 30 Number of Executions of Compact Function after Inserting 30,000 Records

Efficient B-Tree Index Structures over Flash Memory Slide 31 Average Response Time under different Ratios of Deletions to Insertions

Efficient B-Tree Index Structures over Flash Memory Slide 32 Number of Blocks Erased under different Ratios of Deletions to Insertions

Conclusion Slide 33 Index structures usually cause intensively find- grained updates which could damage the performance and the reliability of flash memory. An Efficient B-Tree implementation is proposed to resolve the confliction between page-based operations and intensive byte-wise updates. Performance and reliability of flash memory could be greatly improved.

Q & A Slide 34 Thank You Q & A