A Highly Reliable Non-Volatile File System for Small Satellites
Total Page:16
File Type:pdf, Size:1020Kb
University of Kentucky UKnowledge University of Kentucky Master's Theses Graduate School 2008 A HIGHLY RELIABLE NON-VOLATILE FILE SYSTEM FOR SMALL SATELLITES Rama Krishna Nimmagadda University of Kentucky, [email protected] Right click to open a feedback form in a new tab to let us know how this document benefits ou.y Recommended Citation Nimmagadda, Rama Krishna, "A HIGHLY RELIABLE NON-VOLATILE FILE SYSTEM FOR SMALL SATELLITES" (2008). University of Kentucky Master's Theses. 571. https://uknowledge.uky.edu/gradschool_theses/571 This Thesis is brought to you for free and open access by the Graduate School at UKnowledge. It has been accepted for inclusion in University of Kentucky Master's Theses by an authorized administrator of UKnowledge. For more information, please contact [email protected]. ABSTRACT OF THESIS A HIGHLY RELIABLE NON-VOLATILE FILE SYSTEM FOR SMALL SATELLITES Recent Advancements in Solid State Memories have resulted in packing several Giga Bytes (GB) of memory into tiny postage stamp size Memory Cards. Of late, Secure Digital (SD) cards have become a de-facto standard for all portable handheld devices. They have found growing presence in almost all embedded applications, where huge volumes of data need to be handled and stored. For the very same reason SD cards are being widely used in space applications also. Using these SD Cards in space applications requires robust radiation hardened SD cards and Highly Reliable Fault Tolerant File Systems to handle them. The present work is focused on developing a Highly Reliable Fault Tolerant SD card based FAT16 File System for space applications. KEYWORDS: Secure Digital (SD), Multi Media Card (MMC), Fault Tolerant, File System, File Allocation Table (FAT) Rama Krishna Nimmagadda 11/11/2008 A HIGHLY RELIABLE NON-VOLATILE FILE SYSTEM FOR SMALL SATELLITES By Rama Krishna Nimmagadda Dr. James E Lumpp Jr. Director of Thesis Dr. Yu Ming Zhang Director Graduate Studies 11/11/2008 RULES FOR THE USE OF THESIS Unpublished theses submitted for the Master’s degree and deposited in the University of Kentucky Library are as a rule open for inspection, but are to be used only with due regard to the rights of the authors. Bibliographical references may be noted, but quotations or summaries of parts may be published only with the usual scholarly acknowledgements. Extensive copying or publication of the dissertation in whole or in part also requires the consent of the Dean of the Graduate School of the University of Kentucky. A library that borrows this project for use by its patrons is expected to secure the signature of each user. Name Date ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ THESIS Rama Krishna Nimmagadda The Graduate School University of Kentucky 2008 A HIGHLY RELIABLE NON-VOLATILE FILE SYSTEM FOR SMALL SATELLITES THESIS A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering in the College of Engineering at the University of Kentucky By Rama Krishna Nimmagadda Lexington, KY Director: Dr. James E. Lumpp Jr., Professor of Electrical Engineering Lexington, KY 2008 Acknowledgements First of all I would like to thank my advisor, Dr. James E. Lumpp, Jr., for his valuable mentoring and guidance throughout this work and for allowing me to be a part of the Space Systems Lab (SSL). The active research carried in this lab provided me a very good platform to do my thesis research. The knowledge and experience I gained while working with SSL will be invaluable. I would like to thank Dr. Henry G. (Hank) Dietz and Dr. J. Robert Heath for being a part of my graduate thesis committee and providing their views on my research work. My thanks to Silicon Laboratories Inc for their application note on USB Mass Storage Reference Design. Also my special thanks to Samuel Hishmeh for his critiques and inputs which kept my thesis research going. Thanks to Chandan Gaddikoppula for his help in proof reading my thesis write up. I would like to thank Krishna Kumar Sugumaran and Chandan for helping me with the required paper work for my thesis defense. My special thanks to my parents and friends for providing me the moral support which helped me in doing my thesis research. iii Table of Contents Acknowledgements .......................................................................................................... iii Table of Contents ............................................................................................................. iv List of Figures.................................................................................................................. vii List of Tables .................................................................................................................. viii List of Files........................................................................................................................ ix 1 Introduction................................................................................................................1 1.1 Background..........................................................................................................1 1.1.1 Single Event Upset.......................................................................................1 1.1.2 Fault Tolerance using Triple Modular Redundancy (TMR)........................2 1.1.3 File Systems.................................................................................................2 1.2 Problem Statement...............................................................................................3 1.3 Thesis Outline......................................................................................................3 2 Memory Cards ...........................................................................................................5 2.1 Overview..............................................................................................................5 2.2 Solid State Memory (Flash Memory) ..................................................................5 2.2.1 NOR Flash Memory.....................................................................................5 2.2.2 NAND Flash Memory..................................................................................6 2.3 Comparison of Different Memory Cards.............................................................7 2.3.1 Compact Flash Cards ...................................................................................7 2.3.2 SmartMedia..................................................................................................7 2.3.3 MultiMediaCard (MMC) .............................................................................8 2.3.4 Memory Stick.............................................................................................10 2.3.5 Secure Digital (SD) Cards .........................................................................10 2.3.6 xD-Picture Cards........................................................................................11 2.4 Design Choice for Storage media ......................................................................12 2.5 SD/MMC Interface Description.........................................................................14 2.5.1 Physical Description..................................................................................14 2.5.2 SD/MMC Card Bus Interface ....................................................................15 2.5.3 SPI Bus Interface .......................................................................................16 2.5.4 SD/MMC Card Registers...........................................................................16 2.5.5 SD/MMC Card Registers in SPI mode ......................................................19 2.6 SD/MMC Card Communication Protocol Description......................................20 2.6.1 MMC Mode...............................................................................................20 2.6.2 SPI Mode...................................................................................................29 3 File System................................................................................................................40 iv 3.1 Introduction........................................................................................................40 3.2 FAT (File Allocation Table) File System ..........................................................40 3.2.1 Introduction to FAT ...................................................................................40 3.2.2 Basic Terminologies ..................................................................................41 3.2.3 Comparison of Different FAT File Systems..............................................42 3.3 Understanding FAT16.......................................................................................43 3.3.1 Boot Sector.................................................................................................44 3.3.2 File Allocation Tables (FAT).....................................................................45