An Experiment in Applying Event-B and Rodin to a Flash Filestore By Kriangsak Damchoom Michael Butler Rodin User and Developer Workshop Southampton.

Slides:



Advertisements
Similar presentations
Concepts about the file system 2. The disk structure 3. Files in disk – The ext2 FS 4. The Virtual File System (c) 2013, Prof. Jordi Garcia.
Advertisements

Chapter 4 : File Systems What is a file system?
Full-Datapath Secure Deletion Sarah Diesburg 1. Overview Problem  Current secure deletion methods do not work State of the art  Optimistic system-wide.
Allocation Methods - Contiguous
File Systems Examples.
Chapter 10: File-System Interface
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 11: File-System Interface File Concept Access Methods Directory Structure.
Chapter 10: File-System Interface
File System Interface CSCI 444/544 Operating Systems Fall 2008.
Dr. Kalpakis CMSC 421, Operating Systems. Fall File-System Interface.
11/13/01CS-550 Presentation - Overview of Microsoft disk operating system. 1 An Overview of Microsoft Disk Operating System.
File Management Systems
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File-System Interface.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
Ceng Operating Systems
Operating Systems File Systems (Select parts of Ch 6)
6/24/2015B.RamamurthyPage 1 File System B. Ramamurthy.
Operating Systems File systems
Chapter 12 File Management Systems
Feb. 20, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001.
7/15/2015B.RamamurthyPage 1 File System B. Ramamurthy.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
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 System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 10: File-System Interface.
BU01. Main tasks of Operating System  To hide HW specifics (abstract layer for programs)  Processes maintenance  Memory maintenance  Files maintenance.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 10-1: File Systems Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
Computer Architecture Lecture 28 Fasih ur Rehman.
Silberschatz, Galvin and Gagne  Operating System Concepts File Concept Contiguous logical address space Smallest user allocation Non-volatile.
Full-Datapath Secure Data Deletion Sarah Diesburg 5/4/
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
File Systems CSCI What is a file? A file is information that is stored on disks or other external media.
File System Interface. File Concept Access Methods Directory Structure File-System Mounting File Sharing (skip)‏ File Protection.
Page 110/19/2015 CSE 30341: Operating Systems Principles Chapter 10: File-System Interface  Objectives:  To explain the function of file systems  To.
Configuring Disk Devices. Module 4 – Configuring Disk Devices ♦ Overview This module deals with making partitions using fdisk, implementing RAID and Logical.
Stratus Continuous Process System COSC513 Presentation By Ying Li & Kunyu Zheng.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
CE Operating Systems Lecture 17 File systems – interface and implementation.
Silberschatz and Galvin  Operating System Concepts Module 10: File-System Interface File Concept Access :Methods Directory Structure Protection.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Linux File system Implementations
The File System & Directory System Module Presented By: Erhan Atilla Avinal Maitreya Natu Shivkundan Singh Tej Tam H. Vu.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 10 & 11: File-System Interface and Implementation.
Digital Forensics Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #8 File Systems September 22, 2008.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Part III Storage Management
Retele de senzori Curs 2 - 1st edition UNIVERSITATEA „ TRANSILVANIA ” DIN BRAŞOV FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR.
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems File System Interface.
W4118 Operating Systems Instructor: Junfeng Yang.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.
SVBIT SUBJECT:- Operating System TOPICS:- File Management
Chapter 11: File System Implementation
Module 10: File-System Interface
Chapter 11: File-System Interface
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
Directory Structure A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 F n Both the directory structure and the.
Operating Systems : Overview
Chapter 10: File-System Interface
Files Management – The interfacing
Operating Systems : Overview
Operating Systems : Overview
Lecture 11: Flash Memory and File System Abstraction
Operating Systems : Overview
Operating Systems : Overview
Module 10: File-System Interface
Chapter 5 File Systems -Compiled for MCA, PU
The File Manager Implementation issues
Presentation transcript:

An Experiment in Applying Event-B and Rodin to a Flash Filestore By Kriangsak Damchoom Michael Butler Rodin User and Developer Workshop Southampton

Main Points An overview of a flash filesystem model –Part of Verified Software Grand challege Uses of refinement in Event-B –Horizontal refinement –Structural refinement Atomicity decomposition Machine decomposition Summary and Future work

Refinement strategy Feature augmentation –define provided features in an incremental way –add state variables and extend events –the spec consists of several refinement levels –(horizontal / superposition refinement) Structural refinement –introduce design decision –e.g., replace abstract file store by flash spec –involve data and event refinement –(vertical refinement) 3

Layered specification of FFS ML0ML0 : Tree properties and basic operations affecting tree structure –Inv1: parent ∈ objects \ {root} → objects –Inv2: ∀ s. s ⊆ parent~[s] ⇒ s={} –Thm1: ∀ o. o ∈ objects\{root} ⇒ o ∈ tcl(parent~)[{root}] –Events: create, move, copy, delete ML1ML1: Partition objects into files and directories –Inv1: objects = files ∪ directories –Inv2: files ∩ directories = {} –Inv3: ran(parent) ⊆ directories –Events: crtfile, mkdir

Layered specification of FFS ML2ML2 : Introduces file content –fcontent ∈ files → CONT –Additional events: open, read, write, close ML3ML3: Introduces permissions –obj_perms ∈ (files ∪ directories) ↔ PERM –obj_owner ∈ (files ∪ directories) → users –obj_grp ∈ (files ∪ directories) → groups –Additional events: setpermission ML4ML4: Introduces other missing properties such as name, date of creation and last modification –Additional events: rename (ML2-4 are feature augmentation or horizontal refinement)

Layered specification of FFS ML5ML5: Decomposes event write into –w_start, w_step, w_end (ok, fail) ML6ML6 : Decomposes event read into –r_start, r_step, r_end (ok, fail) ML7ML7: Links the FS to the flash specification by introducing flash properties (ML5-7 are structural refinement, which are focused in this talk)

ML5: Decomposes the writefile event The decomposition is based on the assumption that the content on the buffer is written into the storage one page at a time. Here fcont_tmp behaves like a shadow disk.

Abstraction

Flash Architecture (ONFi’07) flash ∈ RowAddr → PDATA, RowAddr =LAddr x BAddr x PAddr

ML7: Links abstract FS to FL spec

Introduces flash properties –flash ∈ RowAddr → PDATA –programmed_pages ⊆ RowAddr –obsolete_pages ⊆ programmed_pages –fcontent was replaced by fat ∈ files → (N +->RowAddr) –fcont_tmp was replaced by fat_tmp ∈ writing → (N+->RowAddr) Refines events pagewrite and pageread by including flash spec

Machine Decomposition Partitions the machine level 7 into two machines representing the file system layer (FS) and the flash interface layer (FL). Diagram of the machine decomposition

ML7.pagewrite

FL0.page_programme

ML7_FS.pagewrite

Abstract Flash specification (FL0) Flash Structure (an array of pages) - flash ∈ RowAddr → PDATA Where PDATA represents the content of each page (which is composed of a version number, an object to which the page belongs, logical page index and data) - programmed_pages ⊆ RowAddr - obsolete_pages ⊆ programmed_pages Events (APIs provided to the file system layer) –page_read (read page data from the flash array) –page_programme (programme/write page data into the flash array at a given row address)

Further refinement steps Focusing on the flash interface layer Covering –FL_Ref1: Introduces Page Register Each LUN has at least one page register. PR is used for buffering data before it is written to or is read off flash chip. –FL_Ref2: Introduces Status Register (SR) One SR per LUN Determines whether the selected LUN is ready, not ready or write-protected –FL_Ref3: Deals with bad blocks Maximum number of erasure per block is limited

Refinement chain summary MCH0 MCH2 MCH4 MCH6 cMCH7_FS_FL MCH1 MCH3 MCH5 MCH7 MCH7_FSMCH7_FL0 MCH_FL_R1 MCH_FL_R2 MCH_FL_R3 refines Feature augmentation (horizontal refinement) Further refinements focusing on flash spec Structural refinement (vertical) Recomposed to show that it is the refinement of the MCH7 decomposed

Proof statistics

Conclusion & On-going Work Conclusion –I have presented the model of FFS –Two uses of refinement –Event decomposition and machine decomposition On-going work –Specifying wear-levelling process –Implementation

Machine Invariants of ML7