HacDC Spaceblimp 6/Projects/Science Payload: Radiation & FLASH memory
From HacDC Wiki
Science Payload: Radiation & Flash Memory
Introduction: Cosmic Rays
This is an experiment to detect and determine the vulnerability of contemporary consumer Flash memory media (eg SD cards, USB thumbdrives, SSDs, etc) to cosmic rays. This is useful to know whether we can rely on such media for future Spaceblimp payloads and in general whether this media is suitable and reliable for high altitude applications (weather balloon payloads, aircraft, low-earth orbit spacecraft, etc). Cosmic rays are high-energy particles, largely protons with energies 200MeV to 500MeV that bombard the Earth from all directions. 99.99% of the cosmic rays that reach the stratosphere (30km) are absorbed by air before reaching the ground (sea level). The ones that do reach the earth's surface are energetic enough to penetrate electronics, people and buildings largely unnoticed except by the occasional memory glitch or bad pixel in a photo. High-reliability servers use error-correcting memory to deal with errors caused by cosmic rays that might cause errors on cheaper consumer-grade computer systems. Electronics for critical applications like aircraft, spacecraft and even some medical devices must be either specially made as radiation-resistant chips or the systems designed to cope with occasional errors from cosmic rays.
Although the susceptibility of computer memory to cosmic rays has been tested before, technology changes quickly so there is value in repeating these experiments with contemporary technology. The nature, energy and density of cosmic rays is constant but as the components of computer systems are scaled ever further down (following Moore's Law), the smaller components are more likely to have their function disrupted by a cosmic ray hit. At the same time, the larger density of components means an ever smaller fraction of those components will hit by cosmic rays in any given time.
Introduction: Flash Memory
Flash memory stores data as charge in a floating gate. Charge can be added or removed from the floating gate by quantum tunneling when a large voltage is applied. The charge stored on the gate affects the conductance of the transistor channel below it. The value zero (0) is the high voltage state and one (1) is the low-voltage state. Modern flash uses multi-level cells with various possible voltage values to store several bits per transistor. There is a great description of Flash memory here:
http://www.anandtech.com/show/5067/understanding-tlc-nand/2 http://www.eetimes.com/author.asp?doc_id=1327904
Flash memory also has error-correction mechanisms in place to compensate for manufacturing flaws and wear. This experiment will test the media with all the normal error correction mechanisms in place, so is not a raw measure of bit errors. It also tests only the susceptibility of data stored statically on the media and does not test the CMOS readout circuitry in which cosmic rays could also produce errors during active data read.
Method & Plans
We've acquired four different reasonably contemporary microSD cards and wrote as many zeroes (0) as would fit, placing as many floating gates at their maximum voltage values. We read out the values to verify all the zeroes were written correctly at ground level before the launch of Spaceblimp6.
The four cards will be placed in the Spaceblimp6 payload capsule and lifted to the stratosphere over a period of one or two hours. The flight profile for Spaceblimp6 is approximately a two hour flight with a peak altitude of 100,000 ft (about 30 km). Upon recovery of the payload capsule on the ground, the cards will be read again using the same method and any non-zero values noted and counted.
Details - Writing and Checking Zero Values
dd if=/dev/zeroes of=/dev/mmcblk0 hexdump -C /dev/mmcblk0
The hexdump output prints the first line, represents identical lines with a * and outputs a final hex value.
Card 1 (31914983424 bytes)
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
76e480000
Card 2 (32010928128 bytes) 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
774000000
Card 3 (31104958464 bytes) 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
73e000000
Card 4 (15523119104 bytes) 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
39d400000
Card Models & Serial Numbers
1. 32GB SanDisk Ultra PLUS HC I, 6362CRAC40XD 2. 32GB Samsung EVO HC I, MB-MP32D, MBMPBGVEQDFW-F, KNATHNNRH628 3. 32GB PNY Elite HC I, E532G1637, TWLN003044812 4. 16GB MicroCenter Class 10 HC, E516GG1612, TWLKA63410A38