Power consumption of flash memory using a high-resolution oscilloscope

Measuring the power use of flash memory using a high-resolution scope


Datalight develops and supports software to facilitate the reliable, responsive, and cost-effective running of embedded computers. They provide risk-free mobile data solutions for smart phones, mobile computers, medical devices, automotive and embedded systems of all types.

As part of a pilot project to compare power consumption differences when using Datalight software, a senior electrical engineering student from the University of Washington, Cameron Dahl, was brought on as an intern. In this paper, Dahl describes his processes and experiences using the PicoScope 4424 Series PC oscilloscope as part of his test equipment, and the data he collected.

The project

Datalight develops fault-tolerant file systems and drivers designed to improve performance on eMMC components for use within mobile devices. It was originally requested that I use an oscilloscope to test and describe in detail the power consumptions on a variety of eMMC flash memory components, in order to show the improvements Datalight could offer and provide the visual data required by the marketing team.

Collecting the Data

Figure 1: Using the PicoScope 4424 PC Oscilloscope

Collecting the data

Initially I did extensive research on how to gather data from mobile devices to show the power consumption of eMMC flash memory components. To mimic a user application, I used Datalight to run extensive benchmark tests in order to compare the performance of the different components. The results were strictly code based, comparable through numbers displayed on Linux GUIs or through the command window.

I then needed to test a standard Linux based platform and compare it to the Datalight file system version, and show the performance differences between them.

An eMMC part is a small rectangular chip that can be read by either being soldered to a PCB or via a USB SD adapter. There are three sizes of eMMC components, and for each size there is a specific adapter type. I found that most adapters did not include separate VCC pins for testing; they were mostly used instead for connecting an SD card slot in order to be used as a flash device. A two pin jumper was included with adaptors that did include separate VCC pins. The pins were used to test the voltage used by the eMMC part when plugged into the adaptor.

I used two specific adaptor types; Micron Numonyx and SanDisk iNAND. These each had separate VCC pins to which I could add a one ohm (1 Ω) resistor jumper and measure the power across the line.

As a secondary task, I had to characterize and track the different components that came into the company and then test the basic performance of each family of parts, depending on manufacturer and size. I then produced charts to compare the components between the specific tests run.

Measuring the power consumption

The voltage equation of V = IR can be manipulated to solve for the current. I measured the power within a circuit by using two oscilloscope probes to take the voltage on each side of the resistor (between the VCC pins) and then dividing by the resistance in order to calculate the current. The resulting equation becomes Measuring the power consumption. In order to get a reading of the actual current in the eMMC part when it was in use, I used a very small 1 Ω resistor.

Next the current was related to the power equation to calculate the power being used by the eMMC part. The operation performed was P = IV = I2R. To measure the power at the load, I used the 3.315 V that the eMMC part ran with, and used PR = i × 3.315 - i2 × 1 where i is the current I calculated. By taking the average of the PR values, I was able to calculate the charge and energy used by the eMMC during the specific tests run.


Figure 2: CSVed, an open source freeware program

Millions of data points

Initially I used Microsoft Excel to collect the data. However, these spreadsheets can only hold a maximum of 1,048,576 rows, making it inefficient as my data often reached 5 million points. Any direct transfer to Excel would have resulted in the loss of points of data.

To solve this issue I found CSVed, an open source freeware program that can hold a very large amount of data. With this program I was able to record and transfer data 1 million points at a time, and then repeat the process until I had 5 columns of 1 million. By collecting the maximum amount of data I was able to get the most accurate possible reading of the charge and energy consumed throughout the tests.

Initial experience

For the first round of data collection I used a two channel oscilloscope that I was already familiar with, from the Tektronix MSO/DPO 2000 series. With this I could take data and save it to a .csv file, represent it with an image and save a screenshot to a flash device. These features were a priority in order to describe the data results and overall performance improvements, and so Datalight agreed to rent this scope for the duration of the project.

Tektronix screenshot

Figure 3: Tektronix screenshot

Tektronix issue

Unfortunately, although I could easily get 5 million points of data using the Tektronix scope, I could not record detailed data for long periods of time. The density and sample rate of the scope decreased as the test became longer, and I needed to run baseline tests for up to 15 minutes or more. Therefore in order to obtain detailed data that would catch the small read and write operations on the eMMC chip, I needed something that could retain a high sample rate and gather data for longer periods of time.

Additional problems with the original scope were the limit of saving only one screenshot at a time during each test, and the time it took to transfer data from the scope to a PC via a flash drive. As the tests became more extensive and required more precision, I began to investigate PC-based oscilloscopes.

PicoScope screenshot

Figure 4: PicoScope screenshot

Using the PicoScope

These investigations led me to Pico Technology’s website. A local representative was able to help me understand more about the variety of scopes available. With the Tektronix I had been using a 12.5 kS/s sampling rate, which represented just 10% of the PicoScope’s full power. Datalight agreed to order the 4424 PicoScope and it was shipped to the office within a week.

I was able to operate the PicoScope with ease. The benefits of the new scope compared to the rented Tektronix were phenomenal. I was able to take a greater quantity of more detailed data over longer periods of time. It was also much more convenient to save data to the disk on the PC. This negated all of the problems I was previously having with the old scope, making the PicoScope a definite improvement.

With the PicoScope, I was able to describe the changes within the eMMC part after performing extensive tests on them, and to capture improved data and images to show the company. The overall test was extended to a 7 to 10 minute process, which was impossible with the old scope. The PicoScope enabled me to automatically save multiple screenshots in one organized document. This removed any confusion or delay between tests that would result in unrealistic data results. With the PicoScope I could demonstrate realistic testing, gather information easily, and create each type of file needed for the data; it was easy to save a CSV, PNG, and data file in sequence.

Overview of tests run

The tests that I ran included two Datalight performance tests; FSStress (a database simulation) and BDevTest (a low-level block performance tool). Comparative external tests included IOmeter on Linux and RLBenchmark on Android. Where possible, testing with an Android OS was preferred for collecting basic performance data of eMMC components and SD cards. I was also measuring power consumption on a part level and a board level while running these tests. A 1 Ω resistor was needed for both the USB adaptor and within the power adaptor on the PandaBoard.

I also tried splitting and resoldering the power adaptor to measure voltage drop at the board level. Interestingly, the smallest voltage drop across the power line of the board made the eMMC part unrecognizable when it was plugged into the SD card slot. This meant I could not look directly at the board power because it interfered with the wake-up voltage process of the new devices plugged into the Pandaboard.


Overall, the PicoScope was very successful in demonstrating the results and improvements that Datalight can offer their customers. The graphical representations of current were very helpful in showing the differences between file systems. The calculated data that the PicoScope helped me to obtain for internal documentation was very easy to work with. Instead of waiting for Excel to process a subset of the million points (some 120 to 200 MB in storage), I was able to work with the data in real time. The PicoScope definitely proved its worth to Datalight by providing better functionality than their competitors at a lower cost.

The scope is a great tool and I highly recommend it to other companies. I will definitely be using it again later on in my career as an electrical engineer.

AR312-1 2013