Subscribe to Datalight's Blog


Support: When You Need it You Need it Big Time!

I’ve always carefully considered which cell phone I use. Having had Datalight software in lots of cell phones has given me an extra affinity for them. I started with a Microsoft Windows-based phone long before any one called them a “Smart Phone”. I know the Apple iPhone is the darling of the market and has been since Steve Jobs announced “an iPod, an Internet device, a Phone…an iPod, and Internet device…”, but not being one to follow the crowd, I’ve never owned an iPhone.

Last fall, my Android-based Motorola Atrix phone just stopped working. I could not bring up my calendar, my email, nothing. It just died. I’d had it for about a year and knew it was time for a new one. I had an AT&T phone insurance plan so I went to AT&T and asked for a new phone. Given that I’d really enjoyed my Atrix and it was an Android phone, I opted to stick with Android.

AT&T provided an Android phone, but it was NOTHING compared to the Motorola Atrix. The Atrix delivered a great in car experience. When it was plugged into the car adapter its functionality changed from Smart Phone mode to a hands free GPS and music player and it read texts to me as they arrived – overall a great when driving-user experience! With the AT&T replacement phone I could at least make a phone call and get email, but nothing more! It sucked.

After taking some time to evaluate my options, I finally decided on the new Google Nexus 5 because Google, the makers of Android, and recent purchaser of Motorola Mobility (the Cell phone division), surely would make a great Android phone. While not having as good a car experience as the Atrix, the Nexus 5 was a nice phone.

I use my phone as my email, calendar, web browser, and communication device, both personal & corporate. Look up a local place to eat, use the GPS to find it and even record notes when a laptop is too clumsy. My life is on my phone!

Recently I was out of the country on holiday, in and out of cell and Wifi coverage, so the phone had data and then did not. Not a real problem for vacation, connected but not too connected. On Friday the phone stopped receiving email. I wasn’t too alarmed, figuring it would come back. Saturday morning I arrived back in the country, and still no email, or web. Wow, this is odd. Turn on airplane mode, turn off airplane mode… re-boot, re-boot, re-boot – still no data getting to my phone. Back home late Monday, I went into an AT&T store to get it fixed. They change the SIM card, monkey with it. Get an AT&T person on the line who plays with the network, trying to give me data back. All to no avail. AT&T says “It’s not the network. The phone is broken.” Grrrrrrrrrrrrrrrrrrrrrrrrr. NOT what I want to hear!

I get on Google website for Nexus 5 and find a phone number to call. I call and speak with Marc. He’s a friendly guy that recommends I re-boot, put it on airplane mode and take it off. Get a new SIM card, update the APN number (all stuff either I did or AT&T did for me when I was in the store). Marc says that he does not believe that Google will replace the phone if it’s only a data problem. I get real clear with Marc, if the data does not work, this phone is worthless to me! “Yes, I understand” he say, “I’ll check into it and see what I can do here at Google.”

As the call was ending Marc says, “There will be a 2 minute survey at the end of this call. Please take time to respond to this survey if you can. They ask if the representative was helpful.”

Did he take ownership of my problem?    Fully fixed my problem?   Marc was nice enough, but I was still frustrated!

Marc did follow up with an email that said do all the stuff he’d told me about on the phone. At the end of the email it says “If this does not fully resolve your problem let us know”. I fire back an email immediately. And get asked to take yet another survey!

Two companies, AT&T and Google, neither really took care of the issue but they sure did ask me a bunch if I was satisfied.

All this just reminds me: how proud I am of Datalight’s support. Our team does take responsibility for the customer’s problem. They often spend time investigating issues with the customer regardless of the time of day, regardless even of the likelihood of it being a problem with our software. Whether it’s a 6:00 AM call with Germany or an 11:00 PM call with Japan, whether it’s a hardware problem or not they are on it. I only wish they could fix my phone!

Learn more about Datalight support

RoySherrill | April 29, 2014 | Flash Industry Info | Leave a comment

New Datalight Whitepaper:A Study of the Impact of File System Selection on Life Expectancy of Solid State Storage

In 1965, Gordon Moore predicted that transistor density would double every two years or so. For the most part, this observation has held true for 50 years and has become well known as “Moore’s Law.” This characteristic is a fundamental driving force behind the technological advances which have led to computers continually becoming faster, smaller, cheaper, and more reliable. Almost every aspect of technology has benefited from this characteristic – almost. Solid state memory is one area where there is a major dichotomy. Moore’s Law has resulted in smaller and cheaper storage, yet the driving need for more storage capacity has driven manufacturers to sacrifice reliability and in some cases performance.

The purpose for this paper is to discuss the characteristics of solid state memory, specifically as they relate to media life (endurance) and performance. It will show how alternative file systems and file system configurations can significantly improve both media life and performance in a Linux/Android environment.

Click to access the whitepaper

Thom Denholm | April 10, 2014 | Datalight Products, Flash File System, Flash Industry Info, Flash Memory | Leave a comment

Embedded World 2014

Datalight booth

General impressions
The weather in Nuremberg was absolutely fantastic – it was very hard to go indoors to Embedded World. That said, there was a definite reward for doing so – technology that has gotten smaller, faster, and uses less power. In my estimation, the crowds were about the same as 2013. Visitors to the Datalight booth covered an intercontinental spectrum – from Beijing to Benelux to Boise.

Intel's IOTFreescal's IOT

Internet of Things
Of course, the big topic at this years show was the Internet of Things. Wind River announced that VxWorks 7 would enable it, and we saw IoT branded on every third booth. What does it mean to Datalight? The Internet of Things is about distributed control and decision – device feedback utilized properly. Datalight software can provide solid feedback from the block device and file system level, enabling best decisions about device lifetime and performance options, if not actual control of the higher level. More on this in the near future.

Spansion Instrument ClusterKinetis Simulator

Where the Internet of Things will have its first big impact is likely to be cars, and this show had the usual booths of simulators, dash displays and new ideas. Atemel’s curvy new concept for the center console was quite interesting to see.

Technical Talk and Twitter
Datalight accomplished two new things at this years show – I spoke in the technical conference about Flash Friendly File Systems, and we also tweeted frequently. Our presentation was a solid success, and you can read the original paper below. As for twitter (@DatalightInc), we tweeted about other Logic partners, Intel, WindRiver, and others – the live response came from Atmel. Outside of hobbyists, do embedded engineers participate in Twitter? We aren’t seeing it yet. I am certainly interested in your comments, either here or through twitter…

Thom Denholm | March 11, 2014 | Automotive, Flash File System | 2 Comments

Congratulations Seattle Seahawks

Congratulations to the NFL Superbowl Champion Seattle Seahawks. They have found success the same way Datalight has – through outstanding teamwork.

Seattle Seahawks Defense

Thom Denholm | February 2, 2014 | Uncategorized | Leave a comment

File System Sculpting

For many embedded operating systems, the default file system is the only choice available. Sometimes a few customization options exist, and usually only at mount time. When using Linux as an embedded OS, there are a few more customization options and the source is available, but it is rarely easy to understand and modify. Reliance Nitro is an embedded file system that can be sculpted to fit where you need it.

Datalight has a strong history of customization. Our ROM-DOS operating system was designed to offer a variety of choices to the device designer. FAT32 and Long Filename Support were both optionally available, together or separate. Internal files, buffers and other structures could also be customized at will – without losing complete compatibility with MS-DOS.

This same strength is available in both our FlashFX and Reliance families of products. The latter offers many options for customization, from cache, buffers and debug mode to filename and pathname length and character sets. Our reliability through fully configurable Transaction Points is unlike any other file system in the industry.

One recent customer came to us with a request for our fantastic reliability – in under 60k of RAM. Datalight’s Reliance Nitro code was trimmed down to remove multiple threads, multiple volumes and unnecessary API calls. International character support and the idea of a current working directory were also removed. The end result provided perfect reliability in just 55k.

These and many other customization options are available to our customers, either on their own (with the friendly assistance of Datalight Support) or through a Datalight services project. When you take a look at our source code, you will find the Operating System and Block Device interfaces well documented and flexible. The Reliance Nitro source is available for free evaluation in your design today.

Learn More About Datalight Services

Thom Denholm | January 8, 2014 | Datalight Products, Flash File System | Leave a comment

FlashFX Tera Feature Highlight: The Error Policy Manager

Datalight’s FlashFX Tera is quite similar in structure to its predecessor, FlashFX Pro, but there have been some features that have evolved from our experience in working with NAND flash over the years that are reflected in some of the new features you will now find in our FlashFX Tera product, and the Error Policy Manager is one of them.

FlashFX Pro was originally developed in the day where NAND flash was SLC (Single-Level Cell), and required 2-bit detect, single bit correct ECCs. The error rates on these types of flash devices were much lower when compared to today’s newer NAND flash memory – both newer, lower lithography SLC flash designs that require higher levels of ECCs than their predecessors, and the introduction of MLC (Multi-Level Cell) NAND flash devices, in which multi-bit errors can be seen as part of normal device operation.

When single bit errors occurred in FlashFX Pro, these errors were eventually “scrubbed” over time as part of wear leveling. With newer, more error-prone NAND flash, a more active role needs to be taken.

The usual recommendation for scrubbing a block on NAND flash is to read the data, correct any bit errors using Error Correcting Codes (ECC), and then write the corrected data to an unused block. The existing block is then marked for erasure and reuse. Erasure clears any charge leakage or disturbance, which can make the cell appear to be inconsistently programmed.

In modern MLC NAND flash, errors occur more frequently. Partial programming and associated pages can also cause errors to occur. The severity of an error (and the recommended response) can also vary among manufacturers. FlashFX Tera needed some feature which would allow customization of how these different levels of errors were handled for different devices.

FlashFX Tera introduced the Error Policy Manager, a layer which can react to bit errors during a read and decide (based on the configured Error Policy) whether or not a page has reached the threshold to require action “soon” or “now”. Other functions that the Error Policy Manager can employ in addition to scrubbing include Relocate the Data, Retire the Block and Abandon Operations.

Error Policies can be specified for any number of bits, from zero to the maximum supported by the media and NAND controller. This flexibility allows the device designer to completely control how their software works with media from any NAND flash vendor. Error handling requirements can easily be translated from the design document into the software stack.

Datalight’s Error Policy Manager works equally well with new higher ECC requirement SLC NAND flash. At present, the Error Policy Manager requires the Datalight VBF layer be present on the media. Correctable errors in any NAND flash exempted from this coverage must currently be handled by the OS read routines.

Learn more about FlashFX Tera

Thom Denholm | December 13, 2013 | Datalight Products, Extended Flash Life, Flash Memory, Flash Memory Manager, Reliability | Leave a comment

2013 Embedded Tech Favorites

Wrapping up another busy development year at Datalight, it occurs to us that as much as we love helping our customers with software to handle their critical data needs on things like smart meters, medical infusion pumps, factory controllers, automobile infotainment systems and first responder radios, there are some cool embedded technologies we’d like to have in our personal Christmas stockings in 2013.

Here is a list of some of our favorite uses of embedded tech for consumers in 2013:

Misfit Shine ($119.95): The recent push for devices to help us track our activity and improve our fitness has created a flood of embedded technology hitting the market helping us accomplish all our wellness goals. Started in 2011 by the creators of a blood glucose monitoring system that works with iOS devices, Misfit Wearables is not just focused on fitness but wants their devices to become a part of your wardrobe and a must have accessory. It’s easy to see on Kerri McConnell, VP of Sales and Marketing, “I love mine. It’s the most elegant tracker I’ve ever used and combines sophisticated function with understated form”. The Shine, launched in 2013, can not only be worn as the traditional bracelet, but also as a broach, necklace or even attached to clothing with a hidden magnet.

Chromecast ($35.00): This July, Google hit the market with Chromecast, turning any TV into a streaming device, making Chromecast a huge hit on the market and an interesting choice for users who needed to update their technology at home. As TV and movie watching turns to the cloud, transferring that data to your older TV sets hasn’t always been easy. Rachel Householder, Senior Customer Care Administrator, uses hers to stream music, “We’ll create a YouTube playlist and use Chromecast to broadcast it over our home theater system during parties giving us a visual as well as sound. It’s a great addition to the festivities!” Chromecast allows users to communicate from multiple platforms, and now using multiple services like Hulu, VEVO and Redbox Instant. Chromecast is compatible with WiFi-enabled Android 2.3+ smartphones and tablets; iOS 6.0+ iPhones, iPads, and iPods; Chrome for Mac® and Chrome for Windows®; and Chromebook Pixel. Shipping for less than $35 dollars from some providers, Chromecast is also a very affordable gadget that embraces all that embedded technology can provide.

TiVo Roamio ($199.99 to $599.99): When you can’t be there to watch your favorite TV shows (or in Tony’s case, the Seahawks games), the TiVo Roamio has you covered! TiVo has created a device released in August of 2013 that now allows you to have your shows and recordings wherever you go. Currently supporting three different models, the TiVo Roamio has all sort of embedded functionality for the user, connecting to Wi-Fi, built in music servers, photos and home movies. The TiVo Roamio allows you to really have your TV shows anywhere so you don’t even have to think about missing your favorite shows and episodes! To quote our Customer Support and Quality Services Architect, Tony Questad, “It’s really slick!” With models supporting up to 3TB of data, consistent embedded memory management is a must!

iSmartAlarm ($199 and up): Speaking of things funded by Indiegogo, this company that recently raised money through the crowd-funding site is helping to revolutionize the home security market, moving it from a service based (~$ 30 / month) model where the hardware is largely incidental to a hardware- and smartphone app-centric solution. With the devices from iSmartAlarm installed on doors, windows, appliances and even pets the user’s smart phone can be notified if an unexpected event occurs then get a view of what’s happening using installed camera and take some simple actions with their smartphone. Datalight CEO, Roy Sherrill has this on his Christmas list.

Google Glass (pricing not yet available): You can’t talk about embedded tech for the consumer in 2013 without talking about the immersive experience that is Google Glass. Google had a great year promoting embedded technology and Google Glass is a great indicator of that. Google Glass is a wearable headset that communicates with your voice and gestures to capture all that you see around and in front of you. Google glass can then transmit or store that data to allow for your access later. The interactive aspect of Google Glass allows you to experience an amplified version of your life, such as directions on a walking path, recipe instructions while you cook and your hands are dirty and even added content when you watch movies, see music concerts or go to museums. Google is currently testing all of the technology on their “explorers” with plans to release the technology as early as Q1 2014. Although we don’t have complete specs on the Google glass, we do know that they are running 12 GB of usable memory, synced with Google cloud storage and 16 GB of Flash memory total. It’s amazing to know that embedded technology has allowed us to put all that content in something so small!

Don’t forget about all the ways embedded technology can help shape our lives in other ways. Diagnostic medical equipment, onboard electronics for automobiles, and manufacturing equipment all use embedded technology, too, creating a smarter and more efficient world that we live in.

Embedded technology is sure to change the shape of the tech market well into and beyond 2014. What are you most excited for next year? What couldn’t you live without in 2013? Let us know in the comments!

Rachel Householder | December 12, 2013 | Flash Industry Info | Leave a comment

ARM Tech Con 2013 – Enabling the Internet of Things

I recently attended the ARM Tech Con show which is an ARM ecosystems event. Internet of Things (IoT) was the main theme.   Simon Segars (ARM CEO) keynote was all about Internet of Things (IoT) and ARM sponsored an Economist magazine report to explore the level at which IoT is gaining traction in the marketplace.  One of the unique things he displayed is a cow health monitor that is ingested by the cow and communicates wirelessly to a neck worn device that relays the info to the internet cloud.   The Internet cloud then provides the farmer and veterinarian’s data on health, and nutrition.

IoT is a kind of shorthand for capturing “small data” from the edge of the network and sending it to the Cloud where that small piece of data can be aggregated with other data to make intelligent decisions. One example of this would be using a sensor to track the amount of fuel oil in a tank for one’s home then combining that with data about the home’s usage patterns and local weather forecasts to determine when to schedule a refill that optimizes time and routing for delivery folks while ensuring the homeowner never runs out of fuel.

The good news is that there appears to be a very LOW entry cost to build IoT prototypes. Prototyping an IoT sensor and making it operational can be done with readily available low-cost boards that easily connect together: from a MCU board, to a sensor and a wireless Zigbee or Wifi connection. Development tools are available for free from companies like Atmel. Boards can cost in the $10 – $50 range. Low end boards are programmed in C.  Higher end MCU boards can run Java for app development by the xxx,xxx Java programmers out there. Below is a picture of a board and the metal case – the size of an Altoid’s tin — that Freescale gave away.  It usually retails for just $13!   It connects to PC for downloading and debugging via USB.



Another item that caught my eye was a small display at the ARM booth that showed power harvesting that did not use any batteries.  A solar cell was hooked up to a capacitor that stored the energy and was connected to an MCU.    Considering IoT devices that never needed a new battery opens possibilities for even more remote deployments.

Daniel Kraft, a doctor, entrepreneur and president of BioniQ, gave a keynote on IoT and medicine.   He showed many products that monitor the body at all times (wearable IoT devices) and report back to your doctor or yourself. One of his quotes that stuck in my head was “OnStar knows more about the health of your modern car than doctors know about most of their patients”. He went on to say that medicine is virtually the same today as it was as it was in 1990 when he graduated from med school, but it need not be with all the new devices collecting patient data in real time.

ARM has an initiatives call “mbed” to make developing IOT devices easier.  Flashing a new program into the system is a drag-and-drop onto a USB mass storage device (The development board).

Freescale is coming out with a wearable computer development kit that includes a MCU and an i.Mx6 on a board the size of a stick of gum.


The IoT space, while not new, is still in its infancy. Harnessing the creativity of embedded engineers to build tiny devices and connecting them all together will undoubtedly produce applications and uses that we can’t even imagine today. I’m excited by the prospect and the promise.

RoySherrill | November 13, 2013 | Customer Industries | Leave a comment

Is the Linux MTD good enough for MLC NAND flash?

On Linux, the Memory Technology Device (MTD) subsystem is designed to be a generic interface to memory devices, primarily Flash media. The integrated hardware driver handles the storage formats used on the media, and then MTD provides simple routines for block read, write and erase.

MTD does not contain any bad block handling or wear leveling routines, so the use of MTD alone is not recommended on NAND flash media. Instead, developers are asked to use a full Flash File System on Linux, such as YAFFS, JFFS2 and UBIFS.

Unfortunately, neither the low level driver portions of MTD nor the commonly available Flash File Systems have kept up with modern MLC NAND Flash media, which requires special handling in several ways. Among these are:

  • Shrinking dies have reduced costs but increased the error rate, resulting in higher requirements of Error Correcting Codes (ECC). A larger amount of storage is also required for the Error correcting data. Most ECCs are handled with hardware now, and this means either MTD or the low level driver must communicate with the hardware ECC controller located in the processor or on the board.
  • Persistent bit errors, often caused by a Read Disturb, need special handling to correct. Flash vendors recommend a procedure called scrubbing. A related Program Disturb error can cause errors in a subsequent page of the media if vendor programming guidelines are not followed. Flash vendor guidelines vary from manufacturer to manufacturer. The Linux MTD subsystem is generic, and does not contain any vendor-specific routines.
  • With both SLC and MLC NAND, all data writes to a given erase block should be sequential. The MTD subsystem by itself cannot enforce this policy, but a Flash File System can. None of the available Flash File Systems handle this for MLC.

Another problem worth mentioning, though more of a hardware problem, is power interruption while writing to a flash block. This is problematic for all NAND flash, but especially so for MLC. Pages on the media are coupled with other pages, so when power is interrupted during one block write, two (or more) pages may be corrupted. This significant problem has drawn some interest in the programming world, but unfortunately for Linux and MTD, the proposed solutions are all patented.

By itself, MTD is not sufficient to handle MLC NAND flash. It does provide the necessary operations and information to the upper level Flash File Systems, but none of them have been architected to support MLC flash media. The MTD subsystem doesn’t contain any vendor specific code, treating all NAND flash the same. The UBIFS documentation puts it this way: “Good FTL must be a rather complex piece of software.” We tend to agree.

Datalight Flash management software works closely with flash media vendors, providing far more than a simple read, write and erase driver. FlashFX Tera’s bad block management, wear leveling and scrubbing algorithms are a key part of getting the best performance and endurance out of MLC NAND flash media.

Learn more about FlashFX Tera

Thom Denholm | October 23, 2013 | Flash Memory, Flash Memory Manager | Leave a comment

eMMC TRIM new to Android?

An August 1st blog post on Tom’s Hardware reports that the new Android 4.3 NOW has support for the eMMC TRIM command. How odd that the Android OS that’s on 80% of smart phones sold last quarter does not support eMMC TRIM for old deleted data, a feature which has been in the JEDEC specification since version 4.4 which was released in March of 2009.

The symptom reported is that the Nexus 7 is fast after first purchased, but slows down considerably as time goes on. This is because as more and more data is downloaded and later deleted, is not TRIMed from the eMMC device, the eMMC device stills manages that old-deleted data along with the live active data. The reported fix is to run a utility (fstrim) when the device is idle for a long period of time. This utility performs TRIMs on areas of the media that the file system identifies as non-allocated, in periods of long system idle.

So why did Android have the file system take care of this bit of housekeeping itself? Choosing a more flash-aware file system like Reliance Nitro would have not only negated the need for this utility it would make the process transparent for the user. Was this just a mis-configuration that testing did not reveal?

TRIM is important not just for performance but also for extending the life of the Flash memory. An eMMC has to perform garbage collection and maintain it thinks is still needed. If the file system identifies some data as un-need in the future, (TRIM) then there is less data to be moved in Garbage collection, which improves both performance and reduces the Flash wear, thus increasing the endurance of the flash and life of the product. Given that eMMC has been the primary storage for mobile phones since about 2010 and Android has been gaining market share since about 2009, this seems quite surprising. Reliance Nitro has supported TRIM/Discard since its first version. It just makes you wonder if there are other oversights in the Android storage stack.

RoySherrill | September 27, 2013 | Android | Leave a comment