Device drivers for space-qualified flash devices

Matthew Colgan · CU Scholar (University of Colorado Boulder) · 2004

The purpose of this thesis is to provide device drivers that serve as an interface to several flash devices commonly used in spacecraft instruments and embedded systems. In particular, this library focuses on read, write, and erase functions for three NAND devices that are not CFI-compliant (i.e. do not already have device drivers), namely 1) Maxwell 29F0408 2) Maxwell 69F1608 3) Samsung KM29U128. This paper describes how and why these devices were chosen, how the interface was designed, and walks the reader through the design trades conducted in order to reach the current implementation. The paper will conclude with a discussion of how single-errors with flash are addressed by the library, as well as open issues. Introduction: “What is a generic flash interface? Why is it useful?” The interface is a set of device drivers that read, write, and erase a flash memory device. The purpose of the library is to give future programmers the ability to use flash devices in their software without needing to understand all of the internal architecture and quirks of the device. In particular, many flash devices used in space applications are 8-bit

Read the paper · More papers on PaperTik