CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Similar documents
Frequently asked questions from the previous class survey

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Fall 2018] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Fall 2018] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Frequently asked questions from the previous class survey

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Physical Storage Media

Lecture 9. I/O Management and Disk Scheduling Algorithms

Frequently asked questions from the previous class survey

Disks and RAID. CS 4410 Operating Systems. [R. Agarwal, L. Alvisi, A. Bracy, E. Sirer, R. Van Renesse]

Frequently asked questions from the previous class survey

Mass-Storage Structure

u Covered: l Management of CPU & concurrency l Management of main memory & virtual memory u Currently --- Management of I/O devices

CISC 7310X. C11: Mass Storage. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 4/19/2018 CUNY Brooklyn College

CSE325 Principles of Operating Systems. Mass-Storage Systems. David P. Duggan. April 19, 2011

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

Chapter 10: Mass-Storage Systems

V. Mass Storage Systems

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Mass-Storage. ICS332 - Fall 2017 Operating Systems. Henri Casanova

CS370 Operating Systems

Frequently asked questions from the previous class survey

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Definition of RAID Levels

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Module 13: Secondary-Storage Structure

I/O Systems and Storage Devices

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey

Chapter 12: Mass-Storage

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

COS 318: Operating Systems. Storage Devices. Jaswinder Pal Singh Computer Science Department Princeton University

CS5460: Operating Systems Lecture 20: File System Reliability

College of Computer & Information Science Spring 2010 Northeastern University 12 March 2010

COS 318: Operating Systems. Storage Devices. Vivek Pai Computer Science Department Princeton University

Mass-Storage. ICS332 Operating Systems

CSCI-GA Database Systems Lecture 8: Physical Schema: Storage

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

Silberschatz, et al. Topics based on Chapter 13

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

Storage Systems : Disks and SSDs. Manu Awasthi CASS 2018

CSE380 - Operating Systems. Communicating with Devices

I/O Device Controllers. I/O Systems. I/O Ports & Memory-Mapped I/O. Direct Memory Access (DMA) Operating Systems 10/20/2010. CSC 256/456 Fall

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 420, York College. November 21, 2006

SSD (Solid State Disk)

Database Management Systems, 2nd edition, Raghu Ramakrishnan, Johannes Gehrke, McGraw-Hill

CSE380 - Operating Systems

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

HP AutoRAID (Lecture 5, cs262a)

Chapter 14 Mass-Storage Structure

HP AutoRAID (Lecture 5, cs262a)

CSCI 350 Ch. 12 Storage Device. Mark Redekopp Michael Shindler & Ramesh Govindan

I/O, Disks, and RAID Yi Shi Fall Xi an Jiaotong University

Lecture 16: Storage Devices

Ch 11: Storage and File Structure

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

CS370 Operating Systems

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Storage Technologies - 3

CMSC 424 Database design Lecture 12 Storage. Mihai Pop

Chapter 10: Mass-Storage Systems

Storage and File Structure. Classification of Physical Storage Media. Physical Storage Media. Physical Storage Media

Lecture 18: Reliable Storage

Chapter 6. Storage and Other I/O Topics

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

The term "physical drive" refers to a single hard disk module. Figure 1. Physical Drive

I/O CANNOT BE IGNORED

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Chapter 14: Mass-Storage Systems. Disk Structure

Flash File Systems Overview

Chapter 11: File System Implementation. Objectives

Chapter 12: Mass-Storage Systems. Operating System Concepts 8 th Edition,

Main Points. File systems. Storage hardware characteristics. File system usage patterns. Useful abstractions on top of physical devices

Reliable Computing I

CS3600 SYSTEMS AND NETWORKS

Mass-Storage Systems. Mass-Storage Systems. Disk Attachment. Disk Attachment

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

Presented by: Nafiseh Mahmoudi Spring 2017

CSE 380 Computer Operating Systems

CS311 Lecture 21: SRAM/DRAM/FLASH

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

CSC Operating Systems Spring Lecture - XIX Storage and I/O - II. Tevfik Koşar. Louisiana State University.

RAID Structure. RAID Levels. RAID (cont) RAID (0 + 1) and (1 + 0) Tevfik Koşar. Hierarchical Storage Management (HSM)

FFS: The Fast File System -and- The Magical World of SSDs

Data Organization and Processing

CS 537 Fall 2017 Review Session

Lecture 29. Friday, March 23 CS 470 Operating Systems - Lecture 29 1

Secondary storage. CS 537 Lecture 11 Secondary Storage. Disk trends. Another trip down memory lane

Transcription:

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [MASS STORAGE] How does the OS caching optimize disk performance? How does file compression work? Does the disk change the direction of rotation? Shrideep Pallickara Computer Science Colorado State University L30.1 L30.2 Topics covered in this lecture Flash Memory RAID Disk Management FLASH MEMORY L30.3 L30.4 Transistors Transistors in flash memory It takes one transistor to store a bit Ordinary transistors are electronic switches Turned on and off by electricity Strength: Computer can store information simply by passing patterns of electricity through its memory circuits Weakness: As soon as power is turned off, transistors revert to their original state (loses all information) Electronic amnesia! ground source n wordline control gate floating gate drain n bitline The source and drain regions are rich in electrons (n-type silicon) Electrons cannot flow from source to drain, because of the electron-deficient p-type material between them L30.5 L30.6 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.1

Transistors in flash memory Flash memory and wearing out ground n wordline + control gate floating gate n bitline + Flash memory usually wears out because its floating gate takes longer to work This happens after they have been used a certain number of times The presence of electrons on the floating gate is how a flash transistor stores a one Electrons stay there indefinitely, even when positive voltages are removed AND whether power is supplied to the unit or not Electrons can be flushed out by putting a negative voltage on the wordline REPELS electrons back the way they came L30.7 L30.8 Flash memory is a type of a solid state storage No moving parts and stores data using electrical circuits Can have better random I/O performance than HDDs, use less power, and be less vulnerable to physical damage But significantly more expensive per byte Flash storage is accessed using 3 operations: Erase erasure blocks Before flash memory can be written, it must be erased by setting each cell to a logical 1 Can only be erased in large units called erasure blocks (128-512 KB) Slow operation: takes several milliseconds Erasing an erasure block is what gives flash memory its name Resemblance to the flash of a camera L30.9 L30.10 Write page and read page Write Page: Once erased, flash memory can be written on a pageby-page basis Each page is typically 2-4 KB Writing a page takes about 10s of microseconds Read page Flash memory is read on a page-by-page basis Reading a page takes about 10s of microseconds Challenges in writing to a page To write a page, it s entire erasure block must first be erased Erasure is slow and affects a large number of pages Flash translation layer (FTL) Maps logical flash pages to different physical pages on the flash device When logical page is overwritten, the FTL writes the new version to a free, already-erased physical page n and remaps logical page to that physical page Write remapping significantly improves performance L30.11 L30.12 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.2

Durability Normally, flash memory can retain state for months or years without power However, high current loads from flashing and writing memory causes circuits to degrade After a few 1000~1,000,000 erase cycles a cell may wear out cannot reliably store a bit Reading a flash memory cell a large number of times causes surrounding cells charges to be disturbed Read disturb error: Location in memory read too many times without surrounding memory being rewritten Improving durability Error correcting codes Bad page and bad erasure block management Firmware stops storing data on defective blocks Wear leveling Move logical pages to different physical pages to ensure no physical page gets inordinate number of writes and wears out prematurely Some algorithms also migrate unmodified pages to protect against read disturb errors Spare pages and erasure blocks L30.13 L30.14 Technology impacts interfaces: The TRIM command In HDDs, when file system deleted a file Update file s metadata and file system s free space bitmap No need to erase or overwrite file s data block on disk When these file systems were used on flash drives Drives got slower over time As amount of free space fell, FTL was forced to garbage collect erasure blocks more frequently n Each pass became more expensive, because there were more live pages to copy from old erasure blocks to new ones Technology impacts interfaces: The TRIM command TRIM command introduced on many popular OS between 2009-2011 Allowed file systems to inform underlying storage when the file system stopped using a page of storage Significantly reduces garbage collection overheads Helps flash drives retain good performance as they age L30.15 L30.16 RAID involves using large number of disks in parallel Improves rate at which data be can read/written Increases reliability of storage Redundant information can be stored on multiple disks Failure of 1 disk should not result in loss of data Independent Redundant Array of Inexpensive Disks RAID STRUCTURE L30.17 L30.18 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.3

RAID levels Standardized by the Storage Networking Industry Association (SNIA) In the Common RAID Disk Drive Format (DDF) standard Originally there were 5 levels There are other nested levels Reliability through redundancy Store information that is not normally needed Can be used in the event of disk failure Rebuild lost information Simplest approach: Mirroring Duplicate every disk Data lost only if 2 nd disk fails BEFORE 1 st one is replaced Watch for: Correlated failures L30.19 L30.20 RAID parallelism Stripe data across disks Objectives 1 Increase throughput 2 Reduce response times of large accesses RAID Parallelism: Stripe data across disks Bit level striping Split bits of each byte across multiple disks 8 disks: Bit i of each byte written to disk i Bit 3 written to disk 3 Array of 8 disks treated as a single disk 8 times the access rate Every disk participates in every read/write L30.21 L30.22 RAID Parallelism: Block-level striping Blocks of a file are striped across multiple disks When there are n disks Block i of the file written to Disk: (i mod n) + 1 n 4 disks: Block 9 of file goes to disk 2 n 4 disks: Block 8 of file goes to disk 1 RAID levels Striping improves transfer rates BUT not reliability Disk striping usually combined with parity Different schemes classified according to levels RAID levels L30.23 L30.24 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.4

RAID 0: Stripe blocks without redundancy RAID 1: Disk mirroring C C C C No mirroring No parity Each disk is mirrored L30.25 L30.26 RAID 2: Memory style error correcting code Parity bit records number of 1 bits in byte Even: parity 0 Odd: parity 1 Use to detect single-bit errors Error correcting schemes 2 or more extra bits to recover from single-bit errors RAID 2: Error Correcting Codes P P P Error correction bits If one disk fails: Remaining bits of the byte + error correction bits Read from other disks Reconstruct damaged data L30.27 L30.28 RAID 3: Single parity bit used for error correction We can identify damaged sector Figure out if any bit in sector is 0 or 1 Compute parity of corresponding bits from other sectors n If parity of remaining bits == stored parity Missing bit = 0 n Otherwise, missing bit = 1 RAID 3: Single parity bit used for error correction P Error correction bits Issues Fewer I/Os per-second since every disk participates in every I/O Overheads for computing parity bits L30.29 L30.30 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.5

RAID-4 Block interleaved parity Block-level striping Block read accesses only one disk Data transfer rate slower for each access Multiple reads proceed in parallel n Higher overall I/O rate Parity block on a separate disk RAID 4: Block interleaved parity P Parity block If one disk fails Parity block used with corresponding blocks Restore blocks of failed disk L30.31 L30.32 RAID-5 Block interleaved distributed parity RAID 5: Block interleaved distributed parity Spread data and parity among all N+1 disks Avoid overuse of single parity disk Parity block does not store parity for blocks on the same disk L30.33 L30.34 RAID-6 RAID-6 Store extra redundant information Guard against multiple disk failures Error correcting codes are used Reed-Solomon codes 2-bits of redundant data For every 4-bits of data L30.35 L30.36 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.6

In the computer science department RAID 1 To mirror the root disks of the servers RAID 5 For all the "no_back_up" partitions RAID 6 For all data disks DISK MANAGEMENT L30.37 L30.38 Disk Formatting needs to be done before a disk can store data Divide disk drive into sectors Read/written to by disk controller Low-level formatting Special data structure for each sector Header n Sector number Data area (usually, 512 bytes) Trailer n Error correcting code Disk controller allows you to specify how to low-level format a disk Specify data space between header and trailer 256, 512, 1024 bytes Larger sector data space More space for user data Smaller space for header/trailer L30.39 L30.40 Sectors and ECC When a controller writes a sector of data ECC is updated with value calculated based on data stored When a controller reads a sector of data ECC is recomputed Compared with the stored value Mismatch n Sector data is corrupted Corrupted sectors and the ECC If only a few bits have been corrupted ECC can identify which bits changed What their values should be Recoverable soft error L30.41 L30.42 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.7

OS also needs to record its own data structures to the disk Partition disk into 2 or more groups of cylinders E.g one holds OS, the other holds user files Logical formatting Creation of a file system Initial data structures stored onto disk Sometimes, group blocks into clusters n For efficiency of reads and writes Boot block Tiny bootstrap loader brings the full bootstrap program to disk Full bootstrap program stored in boot blocks Fixed location of disk Windows 2000 places its boot code on 1 st sector of hard disk Once system identifies boot partition Reads 1 st sector of disk and proceeds from there L30.43 L30.44 Managing bad blocks Manually during logical formatting Update allocation structure Tell allocation routines not to use the bad block Disk controller maintains list of bad blocks Updated over the life of the disk MANAGING BAD BLOCKS L30.45 L30.46 Setting aside spare sectors to cope with bad blocks also helps Replace bad sector logically with another one Redirection could invalidate scheduling decisions Set aside spare sectors in each cylinder Sector slipping Remap sectors by moving them down one spot The contents of this slide-set are based on the following references Avi Silberschatz, Peter Galvin, Greg Gagne. Operating Systems Concepts, 9 th edition. John Wiley & Sons, Inc. ISBN-13: 978-1118063330. [Chapter 10, 11] Andrew S Tanenbaum and Herbet Bos. Modern Operating Systems. 4 th Edition, 2014. Prentice Hall. ISBN: 013359162X/ 978-0133591620. [Chapter 5] Thomas Anderson and Michael Dahlin. Operating Systems: Principles & Practice. 2 nd edition. ISBN: 978-0-9856735-2-9 [Chapter 12] Chris Woodford. Flash Memory. http://www.explainthatstuff.com/ flashmemory.html L30.47 L30.48 SLIDES CREATED BY: SHRIDEEP PALLICKARA L30.8