Breaking Through the Sub-20nm NAND Flash Barrier

That cracking you may or may not have heard last month was the sound of SanDisk and Toshiba breaking the sub-20 nanometer NAND barrier. Flying in the face of conventional wisdom (and more than a few industry analysts), both companies recently announced they will be delivering 19nm NAND this year. Intel and Micron are close behind, each with their own 20 nanometer announcements. Those who said it couldn’t (or shouldn’t) be done had some very compelling reasons, chiefly that the physics behind multi-cell architecture in a 1x nanometer cell are shaky at best. How many electrons will there be in a 1x nanometer cell? How many levels of data can possibly be detected with so few of them? The supporting technologies for this detection, not to mention correction of the unavoidable errors that will creep in will be critical .

In an industry that has come to expect product innovation in the form of shrinking die sizes being announced roughly every 12-18 months, keeping pace with this trend indefinitely is not only pushing the boundaries of physics, but also manufacturers’ technical abilities. How low can they go? While the introduction of 19nm parts show that innovation and scaling of NAND Flash memory continues moving at breakneck speed, one wonders when the end point of this shrinkage will finally come. And while the drive for NAND innovation has dramatically improved both the cost and performance of the technology, moving to ever smaller die sizes is beginning to have severe consequences on data storage reliability and flash endurance – challenges which must be addressed not only by the supporting hardware technologies but also by the file system and flash management software. Bottom line: Will the devices you’re responsible for provide the performance, life span and flexibility your customers require? What contingencies should you be planning for as the storage technologies get ever smaller?

Learn more about Datalight flash management software

RoySherrill | June 27, 2011 | Flash Memory Manager, Uncategorized

Increase Capacity, Reduce Cost: Benefits of NAND Flash -Wind River and Datalight Webinar

Join us March 18th at 11am PDT as Datalight CEO Roy Sherrill and Wind River Product Manager Bill Graham weigh the pros and cons of switching to NAND. Maximize the usability and efficiency of your device memory by understanding all the considerations that go into integrating a NAND flash with your device’s software. Learn more and reserve your spot today as space is limited.

Michele Pike | February 19, 2010 | Cost Savings, Flash Industry Info, Flash Memory

NAND price drops to slow down significantly

Denali’s Lane Mason has a very good article on NAND flash pricing. Strongly recommended reading.

http://www.denali.com/wordpress/index.php/dmr/2009/07/16/nand-forward-prices-rate-of-decline-will

admin | August 7, 2009 | Flash Industry Info

Datalight Cuts Boot Time in Half for New LG Navigator

The Challenge
Recently, LG Electronics, a well-known Korean-based manufacturer of consumer electronics, created a multimedia-enabled portable navigator for the North American market. The LN790 features a 4.3” LCD screen, Bluetooth hands-free functionality, and video-enabled playback. Ruggedness and fast access to data are important to consumers in this market, so the device was designed to boot directly from a NAND mass storage environment using Windows CE. Unfortunately, LG product engineers had a difficult time getting the device to boot fast enough using CE’s FAL/FMD flash drivers.  At just over two minutes, the startup time did not match LG’s reputation for high-performance consumer devices.

The Datalight Solution
As LG engineers went searching for solutions to the boot speed problem, they discovered that Datalight FlashFX® Pro uses a more efficient approach to managing bad blocks than CE’s standard FMD/FAL drivers, which can speed boot time significantly.  This difference is especially apparent when the device is using a large NAND disk, because boot time is somewhat proportional to the size of the flash.
Why is FlashFX Pro more efficient? Startup with FAL requires the driver to read more data as part of its mount sequence, a lengthy process particularly if the disk is large. In contrast, FlashFX Pro requires a much simpler check of the media to complete the initial mount.

The Customer Payoff
After implementation of FlashFX Pro, LG engineers were delighted to discover that the device’s boot time was cut by more than half. By using FlashFX Pro instead of the native Windows CE drivers, LG designers were able to achieve the performance their customers expect from a premium-quality personal navigator.  There was also an additional benefit they hadn’t counted on – FlashFX Pro support for over 200 flash parts means that the LN790 will be future-proof from flash parts going on allocation, unexpected price fluctuations, and end-of-life issues.

RobHart | November 6, 2008 | Consumer Other, Cost Savings, Flash Memory Manager, Performance

Datalight Products on VxWorks

Datalight FlashFX Pro ships as an evaluation version in all VxWorks distributions since version 6.5. Customers who need support for NAND flash on VxWorks chose FlashFX Pro for abstracting the intricacies of working with flash memory. FlashFX Pro provides Bad Block Management (BBM), Wear Leveling, Garbage collection and background compaction functionalities on VxWorks along with support for 200+ flash parts. VxWorks is one of the top OS amongst Datalight Reliance customers. This is because Reliance provides a 100% reliable file system that provides fast performance.

Given the popularity of VxWorks amongst our customer based, we have prospective VxWorks customers ask us how our products are installed and configured on that platform. This short blog post will try and answer these questions. If you have more questions, please leave a comment and we will get back to you.

Q: How does a customer install Datalight VxWorks products
We ship our products with an image of what would be put on a CD, so customers can extract our installation ZIP files into a temporary directory, and run SETUP.  This will install our product into a directory that they tell us (usually c:\dl\flashfx or c:\dl\reliance) and will add our CDF (WorkBench catalog files) in the appropriate place in the Workbench tree.
Q: How do they configure it?  If it’s a menu structure (like Tornado’s Project) where is the menu, what are the options, and what are their effect?

In Workbench and Tornado, FlashFX Pro shows up in the Catalog right next to the TFFS flash driver, and Reliance shows up right next to dosFS.  Our manuals for VxWorks provide step-by-step guidance on how our products can be configured using the VxWorks development IDEs
Q: What effort is involved in using the Datalight Reliance or FlashFX Pro file system on VxWorks?
Developers use the standard file system APIs of VxWorks (file open, file close, etc) like they would if dosFS or another file system and don’t need to know anything specific about the API of Reliance.  Same with FlashFX Pro – once we’re working in the environment, we’re a “disk”, and the people writing applications don’t need to know any special APIs.

Michele Pike | August 7, 2008 | Datalight Products

YAFFS – Linux Flash File System

Continuing the conversation started in Flash File Systems and JFFS2 blog posts, this post talks about a YAFFS, another Linux flash file system alternative. YAFFS (Yet Another Flash File System) was designed to solve some of the performance issues suffered by JFFS2 on NAND flash. Later, YAFFS was upgraded (to YAFFS2) to work with modern, high-density NAND flash. Like JFFS2, YAFFS2 is a log-structured flash file system. YAFFS2 is licensed under the GPL for use with Linux; it also can be ported to and licensed for non-GPL environments, if needed

Interesting facts about YAFFS

1. Reliability against data corruption – As a log-structured file system, YAFFS2 is intended to be power-fail safe, though there have been reports of data corruption during the garbage collection process and cases where YAFFS2 has lost directories.

2. Wear Leveling – YAFFS2 only implements dynamic wear leveling. Wear leveling is not performed for static data. This may cause a higher number of blocks to be rendered useless at a faster rate than if both static and dynamic wear-leveling scheme were available. [For more information on static and dynamic wear-leveling, see our whitepaper on the topic at www.Datalight.com/resources].

3. Performance: According to the YAFFS development team, YAFFS2 will perform best on disks that are greater than 64MB, while JFFS2 is still preferred for smaller disks.

For a detailed look at YAFFS, there is a great presentation on YAFFS by Wookey at Embedded Linux Conference 2007.

Checkout our recent Linux Whitepaper

 

Michele Pike | July 10, 2008 | Flash Industry Info, Flash Memory

Choosing NAND or NOR Flash Memory: Tradeoffs and Strategies

Consumer electronics and embedded software devices are using larger amounts of flash memory for nonvolatile storage than ever before. So what kind of flash memory should you use? The choice between using NAND and NOR Flash may not be a simple one for the complex embedded devices being developed today. While ever-larger media files are driving increased demand for inexpensive NAND, powerful new operating systems and intricate applications running on fast processors ask for the fast-executing code NOR can support.

Read Datalight whitepaper Choosing NAND or NOR Flash Memory: Tradeoffs and Strategies to Learn More

Consumer electronics and embedded software devices are using larger amounts of flash memory for nonvolatile storage than ever before. One important decision in designing such devices is what kind of flash memory to use: NAND or NOR?

NOR flash memory has traditionally been used to store relatively small amounts of executable code for embedded computing devices such as PDAs and cell phones. NOR is well suited to use for code storage because of its reliability, fast read operations, and random access capabilities. Because code can be directly executed in place, NOR is ideal for storing firmware, boot code, operating systems, and other data that changes infrequently.

NAND flash memory has become the preferred format for storing larger quantities of data on devices such as USB Flash drives, digital cameras and MP3 players. Higher density, lower cost, and faster write and erase times, and a longer re-write life expectancy make NAND especially well suited for consumer media applications in which large files of sequential data need to be loaded into memory quickly and replaced with new files repeatedly.

The choice between using NAND and NOR Flash may not be a simple one for the complex embedded devices being developed today. While ever-larger media files are driving increased demand for inexpensive NAND, powerful new operating systems and intricate applications running on fast processors call for the kind of fast-executing code NOR can support. An important example is a smart phone or PDA that combines a tremendous need for storage with a demanding set of application performance requirements. In some cases an optimal design might call for both types of flash memory in the same device.

Whichever type of flash is used in a device, there are certain negative performance characteristics that need to be mitigated. NOR is fast to read current data but markedly slower to erase it and write new data. NAND is fast to erase and write, but slow to read non-sequential data through its serial interface. NAND is also prone to single-bit errors, requiring rigorous algorithms for error detection and correction.

Well-designed software strategies can be very effective in increasing the performance and reliability of Flash hardware. The goals of flash memory management software include:

Avoid loss of data. Perhaps the most important goal in managing flash memory is to assure that no data is ever lost as a result of an interrupted operation or the failure of a memory block.  There are several ways that flash management software can achieve this goal. Rewrite operations, for example, can be managed in such a way that new data is written and verified before the old data is deleted, so that no power loss or other interruption can result in the loss of both old and new data. Bad block management is another important safeguard to prevent data being written to memory blocks that have failed. Software can check for bad blocks shipped from the factory, as is typical with NAND, and avoid writing to those blocks from the beginning. When blocks go bad over time they can be identified and managed so that they are no longer used. Finally, as the end of media life nears, good memory management software can implement a graceful strategy such as placing the entire flash unit in a read-only state, thereby avoiding data loss when the number of block errors exceeds a predefined number.

 

Improve effective performance. Two ways media management software can improve performance are background compaction and multithreading. Compaction reclaims space by identifying blocks that have obsolete data that can be erased, copying any valid data to a new location, then erasing the blocks to make them available for reuse. Such compaction increases the amount of usable space on the media and improves write performance. Compaction may also help to defragment noncontiguous data for improved performance on read operations. The space recovery is particularly valuable for the more costly NOR memory and the defragmentation benefits the slower-reading NAND. Compaction is best performed in the background during idle time, however, or it can interfere with critical operations and degrade performance. This is where a multithreading system becomes important. By allowing high-priority read requests to interrupt low-priority maintenance operations, a multithreading system can reduce read latency by orders of magnitude compared to a single-thread solution.

 

Maximize media lifespan. When some blocks of memory contain fixed content, such as binary code, the remaining blocks will experience increased demand for erase and write operations, leading to earlier failure. Wear-leveling algorithms can prevent overuse of memory blocks and prevent a “stalemate” scenario in which a small region of memory becomes locked in a pattern of repeated writing and compaction. Wear leveling software can monitor block usage to identify high-use areas and low-use areas containing static data, then swap the static data into the high use areas. It can also balance write operations across all available blocks by choosing the optimal location for each write operation.

The decision between NAND and NOR memory will ultimately depend on both technical and pricing requirements of the device being built. Whatever type or combination of flash is used, it is prudent to include memory management software to prevent data loss while improving the performance and maximizing the lifespan of the memory.

Michele Pike | July 8, 2008 | Cost Savings, Extended Flash Life, Flash Memory, Flash Memory Manager, Performance, Reliability

Flash File Systems

Flash memory has established itself as the technology of choice for device data storage on embedded devices. The advantages it brings in terms of storage capacity, I/O throughput, power consumption and board space savings are significant. In 2007, flash memory was a $7.7 billion industry. Analysts predict a 23% growth of the flash memory market between 2007 and 20111; surpassing the history-making growth of DRAM ten times over.

One of the barriers to flash memory adoption is its perceived complexity of integration into a product design. With the flash memory market branching to multiple product lines beyond traditional NAND and NOR devices, this perception, along with a concern about the reliability of flash, is becoming magnified. Basic flash management software can lessen the complexity of integration, and sophisticated flash software can ensure the optimum lifetime and reliability of a flash device.

The challenges of integrating flash memory are broad, including operations from the seemingly simple – like reading, writing, and overwriting data – to the exceedingly complex – such as bad block management and wear-leveling. When flash memory is not accompanied by an intelligent software manager, the system will suffer from slow reads and writes, data corruption, and a short usable life.

There has been a lot of interpretations for the term “Flash File System”. Some consider it as the combination of flash management software and a block file system. For some it is just the flash management piece. The following diagram shows the different layers involved in managing data on flash memory and the corresponding terminologies for software components

 

· Flash Driver: Basic software that provides rudimentary read/write access to flash; this software is often acquired from the chip provider, and is usually part-specific.

· Flash Manager: In addition to the functionality of a flash driver, a flash manager also intelligently determines which part is being used, and handles it accordingly – whether it is NAND, NOR, or a fusion of the two (i.e. Samsung OneNAND, or Spansion ORNAND). Bad block management, wear-leveling, garbage collection, and error detection and correction are features that a flash manager provides. A flash manager may also be designed to take advantage of unique performance or technical characteristics a specific part provides. Flash managers are sometimes referred to as FTL (flash translation layers).

· Flash File System: Contains the flash driver and the flash manager aspects, but also incorporates a file system that is designed for use with flash memory. In the way of performance optimizations, a flash file system includes a discard interface which ensures that erased blocks are immediately available for use by both the file system and the flash manager without additional queries to those blocks.

Hope this post was useful in understanding the layers of flash management. In the next post in the series, we will look at various flash file systems for one of the most talked-about embedded OS – Linux.

Zemanta Pixie

Michele Pike | June 10, 2008 | Flash File System, Flash Memory