CMP - United Business Media TechOnline
All Articles Products Courses Papers VirtuaLabs Webinars Web



 
LoginRegister
      TechOnline > Design Article
Under the Hood
December 25, 2005

Back to the basics: Rethinking embedded flash memory choices

Don Barnetson
Embedded.com

The new requirements of the marketplace, especially in many consumer embedded designs and mobile devices means we should rethink our priorities about nonvolatile memory and look for new alternatives.

During the past four years, the NAND flash memory architecture has become the predominant memory type applied in consumer electronics because of its data storage and retrieval capabilities.

For the previous 15 years, designers used NOR flash memory for code applications in practically every type of embedded system. It was designed for code execution: the so-called, execute-in-place (XiP) model; however, as products have evolved, especially mobile consumer devices, NOR has been tasked with storing limited amounts of data as well, though it is handicapped by slow write speeds and high cost. The NAND architecture was developed specifically with data applications in mind. NAND flash inherently enables fast write speeds and the construction of much denser nonvolatile memory at a much lower cost per bit than NOR flash.

But with new application requirements in many embedded systems, especially consumer electronics, there is a growing need for converged architectures combining the capabilities of both.

From Voice- to Data-centric
Direct XiP capability, an SRAM-like interface, read bandwidth of up to 108 MB/s and random accessibility made NOR flash ubiquitous in voice-centric handsets. The multiplexed interface of NAND flash memories was not built into the controllers or processors of the time, which limited NAND flash to dedicated applications.

When considered as data-centric memory, NAND provides several distinct advantages over NOR as a storage medium, including far faster write speed, much lower cost per bit, and increased reliability. NAND can be written at 17 MB/s, about 100 times faster than can a comparable MLC (multi-level-cell) NOR device. NAND is roughly 40 percent less expensive in cost per bit than NOR at similar densities and NAND can be scaled to 4 Gb in a single device, whereas NOR has not exceeded 1Gb.

Finally, from a reliability standpoint, NAND implementations have built-in error correction protocols and bad-block management similar to hard disk drives. NOR, as a directly addressable memory, has no provisions to handle errors. A bad bit in NAND can be handled transparently to a user but a bad bit in NOR can result in a costly system crash or time-consuming file corruption.

New Combinations
Now, voice-centric cellular handsets typically use a NOR flash memory for code and an SRAM or pseudo SRAM for dynamic data processing. The combination works for storage requirements of less than 16 MB, with operating systems that perform limited functions.

As more functions have been added to handsets (cameras, MP3 audio) and such sophisticated operating systems as Symbian, Linux and Windows Mobile, have been employed, the need for data storage has increased so much that a third memory – a NAND flash device – became necessary to hold data.

Moreover, the amount of volatile memory and bandwidth requirements grew so much that SRAM or PSRAM has been replaced by a mobile DRAM that has up to 10 times the bandwidth and much lower cost-per-bit than SRAM or PSRAM. Consequently, the OS has increasingly taken advantage of that bandwidth and instead of being executed from the NOR device, moves its code-base into DRAM on power-up in a store-and-download (SnD) approach.

In that memory model, the NOR device is used primarily for booting at power up; the lower-cost NAND device is used for storage; and the DRAM is used for executing data applications, for buffering and for other high-speed tasks.

Some designers questioned why so much budget should be devoted to an XiP-capable NOR device when it is used only to boot a system. Chipset companies have responded and added bootable NAND controllers to their products, for the first time enabling a NOR-less system with the NAND device handling both the code and data functions required by the handset.

Demand Paging
The memory model of a pure NAND + DRAM play is increasingly applied. In that model, the code base is transferred from NAND to DRAM on power-up and executes from DRAM while in use. However, some designers wonder why the entire code base must be transferred to DRAM when merely portions that are needed at any given moment could be transferred thereby reducing the size of the DRAM required. Given that challenge, a new model is gaining favor: demand paging.

Demand paging has been used in PCs for many years to allow the hard drive to supplement the amount of installed DRAM, as needed. Assuming that the desired pages of code can be summoned quickly when needed, the entire demand paging process can be transparent to the end user, resulting in a substantial reduction in the DRAM required and a significant savings in materials.

Using a demand paging approach, the key to performance efficiency is how quickly a page can be read from the NAND memory into DRAM. The ideal flash solution would have the read bandwidth of NOR flash (108 MB/s) and the write speed and low cost of a NAND device. To meet that objective, converged flash/SRAM fusion architectures such as OneNAND from Samsung have begun to emerge.

NAND-NOR-SRAM Fusion
One of a number of new converged flash device architectures being proposed, OneNAND has a NAND flash array at its core but adds logic and SRAM buffers to map the NAND flash to a NOR interface. The device can be read at NOR speeds and can be written at NAND speeds, while maintaining NAND’s low-cost structure.

In addition, error correction logic is built into the device and it even has an SRAM-mapped boot RAM so that systems without a NAND interface can seamlessly connect to such devices. As a NAND-NOR-SRAM fusion memory it is designed to satisfy the needs of a demand paging environment in next-generation handsets.

The core NAND architecture is transparent to the application processor, which can issue a command to load a page from the NAND array to the SRAM buffer, then read that page via the NOR interface. This process happens automatically on power-up for the first 1kB of code, which becomes available for booting via the 1kB BootRAM memory mapped to the fusion architecture’s base address. By doing this, it can be used as the unified flash solution for any processor with an SRAM interface.

Software is key
In addition to its efficient SnD architecture, NAND Flash uses three software elements that ease the implementation and improve the performance of consumer and mobile electronics.

First, a low-level driver tells the system how to connect with the memory. Second, a flash translation layer serves to extend the life of the flash memory through a process called wear-leveling and also handles all command conversions.

Flash-memory cells typically have a practical limit of about 100,000 writes and wear-leveling aids any application that may exceed that limit. Suppose a designer has a file that must be updated every second.

To avoid data writing problems, the wear-leveling software changes the correlation between logical and physical mapping for each write command, thereby extending the life of the flash so much that cell wear-out is no concern. The mapping, with negligible processor overhead, moves frequently updated information around the memory device to different locations.

The flash translation layer also must convert what are essentially hard-disk-drive commands (issued by the file system) to flash commands. In a disk drive, new data simply overwrites old but flash cells require erasure, which typically occurs in blocks of 128 kB.

Finally, the file-system sits on top of this memory stack, logically mapping files to sectors and providing director services. Two types of file-systems exist: traditional FAT file systems that have only a master allocation table (Windows FAT32, for example) and transactional file systems that keep a log of each transaction to prevent an operation from being corrupted if power is lost.

For designers to transition from voice-centric NOR flash memory to higher-performing NAND flash memory, integration software support is imperative. Handsets account for roughly half the NOR flash market and such embedded applications as hand-held industrial scanners, various security devices, remote sensors, GPS systems and even network servers account for another quarter or more of the market.

Lower-volume applications
When millions of consumer products are produced from a single design, custom software is a relatively inexpensive. But software development is a prohibitive cost for most embedded products, where products generally number in the hundreds of thousands of units or less. Such products employ many operating systems and widely varied hardware, therefore software to support a NAND flash design must be versatile as well as inexpensive.

Accordingly, now available is prepackaged flash software support for the OneNAND fusion flash architecture to work smoothly in embedded applications, the result of a cooperative venture between the software manufacturer Datalight and Samsung. This will hasten the NOR-replacement time line for certain applications, particularly those that require 128 Mb to 1 Gb of memory and a separate file system, with frequent data writes.

NOR flash memory has become less practical to use than NAND flash memory in new generations of mobile products in which multimedia functions are the driver, though NOR will continue to be use in voice-centric handsets. However, a sharp rise in demand for NAND calls for greater care in planning by consumer-electronics OEMs, embedded-systems designers and industrial-device designers as applications grow more complex, use faster processors and have a greater need for memory.

Don Barnetson is associate director of flash memory marketing at Samsung Semiconductor, Inc.

 
Rate this article
WORSE | BETTER
1 2 3 4 5