What is JEDEC, and how does it affect me?

JEDEC, the Joint Electron Devices Engineering Council (see http://www.jedec.org), is a group of manufacturers and suppliers collaborating to create specifications for Flash memory access and parts. The current revision of their specification for Embedded MultiMedia Cards, eMMC, is 4.41, and is available on the website above.

I’m excited to be a part of Datalight and JEDEC, and am looking forward to the upcoming eMMC 4.5 and UFS 1.0 specifications. Datalight is not in the business of manufacturing hardware, of course, but our file system products like to work closely with the underlying driver. Until those products are fully eMMC 4.5 compliant, what can you expect?

The most fundamental thing a Reliance file system needs is a block device that writes data when it says it will. Any data left in a cache or not flushed upon command could be lost data in an unexpected power loss. The Enhanced Reliable Write feature means any eMMC 4.41 or 4.5 flash part will work perfectly with Reliance and Reliance Nitro.

The High Priority Interrupt feature of eMMC basically means that a block device write might pause, reporting back only a partial write. This is fully supported in the Reliance Nitro file system, which will then loop back and continue the write after the HPI is complete.

The Trim feature of eMMC 4.4.1 is being replaced by a Discard feature in eMMC 4.5. The latter fits in more closely with the way Reliance interacts with our own FlashFX product.

Basic functionality (Read, Write, and Erase) is of course supported, and full compliance with eMMC 4.5 is on Datalight’s roadmap, so keep an eye out here for more news soon.

Thom Denholm | December 22, 2010 | Flash Industry Info

Doing In-Place OS updates for Embedded Devices

Palm just announced the 1.1 update to its popular WebOS that runs on the Palm Pre device. Apple released the 3.0 update to its Mac OSX for the iPhone and iPod touch. Microsoft is expected to launch Windows Mobile 6.5 soon and users are hoping that they will be able to update their 6.1 devices to 6.5. Google last month updated Android OS to 1.5. These events point to a recent and very fast growing phenomena: embedded devices are becoming more and more like PCs where users expect to be able to update their device long after it has been released. This was not always the case; OEMs refrained from updating embedded devices unless in cases of high severity bug fixes. There are several reasons for this:

  1. Updating embedded devices is more difficult than updating PCs from a distribution standpoint
  2. Because of #1, updating devices is also expensive
  3. Potential of bricking devices (device does not boot anymore) due to user error is very high leading to high risk of warranty returns

Today’s blog post focuses on #3 because it has very real technical risks and solutions. Before we begin discussing risks of bricking device, let’s talk about 2 different types of updates

  1. Update to application code – This is usually much simpler and does not typically involve changes to the bootloader or the boot image
  2. Update to system code/OS image – most of the times when OEMs have to update devices, it is due to some severe error. In our experience it usually involves changing system files. If the entire OS is stored as a single image on disk/flash, then entire image has to be correctly replaced with the new one

If the update is of type 1, then the process has less likelihood of bricking the device. In most cases even if the update fails, support can help user start the device in “safe” mode and restore. Updates of type 2 are by nature riskier because any failure is likely to stop the device from booting up, negating any remote debugging options. Note that It is also possible that for some devices, the application and system code is stored in single boot image. In that case, the distinction of types made above are irrelevant for this discussion.

OS/System Updates

Here is how devices typically partition the data storage for boot and application data

Data Storage Partition

Note: Some devices may not use the file system for the boot partition and instead directly talk to the block device. In that case, the remainder of this discussion is not applicable.

During an update process involving system code, the boot image has to be replaced with a  new one. Typically the update process will overwrite the existing image. The problem happens when the update process is interrupted due to erroneous circumstances such as

  1. Device battery dies before the update process is completed
  2. The user pulls out the USB cord connecting the device to host

In these cases, the OS image will get corrupted and the device may not be able to boot back up, leading to a bricked device.

One of the features of Reliance (and Reliance Nitro) file system is that it never overwrites live data. It will always use free space on disk or in case there is no space, it will give “disk full” error back to the application. Reliance also has a special transaction mode called “Application-controlled”. In this case, Reliance only conducts a transaction point when asked by the application. Here is how these 2 constructs help Reliance provide a fail-safe means of in-place updates

  1. The OS image is stored on a Reliance partition
  2. The update application calls Reliance API to disable all transaction modes. Reliance will now execute a transaction point only when specifically called by the update app
  3. The update app starts “overwriting” the existing OS image. Because Reliance never overwrites live data, it will start copying the new image to free space on disk
  4. In case power is interrupted, Reliance discards the new image and device can still boot back to the old OS image and restart the update process
  5. Once the entire update process is completed, the update app calls Reliance to execute a transaction point. Reliance, in one atomic operation, updates its committed state to now use the new image. When the device boots back up, it now uses the new image. The old image is now marked as free space by the file system

Using Reliance for boot partition can thus help in providing a safe in-place update process. It also has the advantage of using Reliance extreme fast mount times, which can help in speeding device boot speeds.

Note that the obvious caveat of the above is that there has to enough free space for the new OS image. With disk storage being cheap (compared to device cost) and always increasing, this becomes less and less of an issue. OEMs should strongly consider going this alternative (whether they use Reliance or not) in order to ensure that the device update process will go smoothly for the end users.

admin | July 24, 2009 | Cost Savings, Flash File System

Reliance Nitro Demo Video

We’re totally psyched about Reliance Nitro, our newest file system (yes, we’re file geeks), and we’re always on the lookout for opportunities to show off the performance and reliability attributes it adds to Windows Mobile and Windows CE. When we discovered the relatively-new Beagle Board, it occurred to us that a small, low-cost platform might be just the thing to demonstrate Nitro’s amazing benefits. As you’ve probably heard, the Beagle is making waves with its low cost (around $150) and diminutive size. It uses an OMAP 3530 processor and 256MB of NAND. Though they are most commonly used with Linux, we lucked out in having a partner (MPC Data) who has already developed a Windows CE BSP for it. After a few phone calls, the wizards at MPC Data were able to develop a slick video playback demo app, and presto, the Reliance Nitro Beagle Demo was born! Amateur videographers that we are (ok, REALLY amateur), we recently videotaped John Burnham, who has been working on this project on the Datalight side (and who is a really good sport, btw) showing what happens when power is interrupted during a file write and the extra reliability factor of Reliance Nitro on Windows CE. Be sure to check it out here.

Michele Pike | May 21, 2009 | Datalight Products, Flash File System, Flash Memory, Performance, Reliability

File System Tuning using Dynamic Transaction Point Technology

Datalight Reliance includes unique technology called Dynamic Transaction Point ™ which provides the flexibility and control device manufacturers need to tune the performance of their device. It enables multiple configurations that can run simultaneously to provide scenario-specific performance optimization. To highlight this technology, we have added a section to Datalight’s website to describe some common embedded devices and the corresponding file system tuning attributes for each of them

www.datalight.com/filesystemtuning

Michele Pike | March 25, 2009 | Flash File System

New release for FlashFX Pro and Reliance File System

Today we are announcing an update to our flash memory manager (FlashFX Pro) and file system (Reliance) products. The official press release will go on the wire shortly, but we wanted our blog audience to know about it first.

Here are the highlights on this release

FFXP  3.3.2
1.    Improved product reliability: This release includes number of bug fixes and product enhancements that improve the reliability of the product
2.    Support for CFI compliant NOR flash parts
3.    FlashFX Pro supports 200+ flash parts and with each release we add support for new flash parts from the top flash vendors. New Flash parts supported in this release include Spansion NS-P, Samsung FlexOneNAND and Micron 55nm parts
4.    VxWorks: Support added for VxWorks version 6.6.

5.    RTOS: Support for the Mentor Graphics Nucleus and ThreadX operating systems has been mainstreamed into the RTOS Porting Kit.

6.    WinCE: Support added for Windows CE 6 R2

Reliance 3.2.2

1.    Improved product reliability: This release includes number of bug fixes and product enhancements that improve the reliability of the product
2.    Datalight Loader, includes a read-only version of Reliance with a  very small footprint that allows bootloaders to load OS image from Reliance partitions. This allows devices to benefit from Reliance’s application controlled transaction point feature by enabling “in-place OS upgrades”. Contact Datalight support (support@datalight.com) to get more details on how to use Datalight Loader in your design

The entire press release is included below

FOR IMMEDIATE RELEASE

Datalight News

For information, contact:
Kerri McConnell, Director of Marketing
425.686.1069
kerri.mcconnell@datalight.com

New Datalight Products Support Microsoft Windows CE 6 R2 and Wind River VxWorks 6.6

Bothell, Wash., – June 26, 2008Datalight announced today that it has released new versions of its Reliance® and FlashFX™ Pro products, with support for Windows CE 6 R2 and VxWorks 6.6. The new versions feature enhancements in reliability, as well as support for a wide range of new flash parts. FlashFX Pro now supports Spansion NS-P, Samsung FlexOneNAND, Micron 55nm, and all CFI-compliant NOR parts.

A new feature for Reliance, the Datalight Loader now includes a read-only version of Reliance. This small footprint version permits a bootloader to load an OS image directly from a Reliance partition. Devices benefit from risk-free “in-place OS upgrades” enabled by the application-controlled transaction point feature of Reliance.

The Datalight flash file system solution is comprised of the Reliance file system and FlashFX™ Pro intelligent flash media manager. Reliance was designed from the ground up for high reliability applications. Dynamic Transaction Point™ technology provides 100% immunity from file corruption, even after unexpected system interruption. Embedded applications can benefit from faster boot times that remain consistent for the life of the product, regardless of disk size. FlashFX™ Pro features pre-written support for over 200 flash parts, works with virtually any NAND controller, and features wear leveling, bad block management, and background compaction for unrivaled performance. Datalight flash file system products are also available on Linux and other operating systems.

About Datalight

Datalight, Inc. headquartered just north of Seattle, Wash., develops technologies to enable risk-free mobile data. Datalight file system and device driver software ensures reliability, performance and flexibility, and is used worldwide on many of today’s most well-known devices.  For more information, visit http://www.datalight.com/, call 800.221.6630 or visit blog at http://blog.datalight.com

Reliance and Dynamic Transaction Point are trademarks of Datalight Inc. Other marks used herein are the property of the respective owners.

###

Copyright © 2008 Datalight, Inc. All rights reserved. Printed in USA. DATALIGHT, Datalight, the Datalight Logo, FlashFX, FlashFX Pro, Reliance, ROM-DOS, 4GR, One-Boot, One-Boot+File, and Sockets are trademarks or registered trademarks of Datalight, Inc. All other product names are trademarks of their respective holders. Specification and price change privileges reserved.

Michele Pike | June 26, 2008 | Datalight Products