Three options for designing NAND flash memory subsystems-doni
posted on
Aug 18, 2008 02:54PM
Three options for designing NAND flash memory subsystems |
|||||||
Page 1 of 2 EE Times (08/15/2008 7:00 PM EDT) ![]() A variety of NAND flash architectures, the constant migration to newer, more advanced process technologies, and the continual introduction of new features have converged to make the design of NAND flash memory subsystems more challenging than ever. The current situation in the NAND flash market presents designers with three options. They can build their own discrete solutions using flash controllers and separate NAND devices. They can use embedded NAND controllers (within chipsets/processors) along with separate NAND devices. Or they can opt to buy managed NAND solutions that offer the entire NAND memory subsystem in a pre-packaged solution. The expansion of the NAND flash market has attracted a variety of suppliers, each offering its own technology advances. For example, as device densities passed 4 Gbit, NAND flash manufacturers found the traditional 512-byte programming page no longer offered an optimal segmentation for programming. Many suppliers instead moved to a 2-Kbyte page size. More recently, manufacturers started shipping a larger 4-Kbyte page size in volume. Furthermore, 8-Kbyte page size is now being offered in latest 40nm technology. At the same time, in an attempt to increase capacity, manufacturers have moved from single-level cell (SLC) to multi-level cell (MLC) architectures, which store as many as 4 bits per cell. Further complicating the problem, competing flash memory IC suppliers are constantly adding new functionality such as read caches, write caches, copy back and multi-plane programming functionality. While these new features and architectural enhancements were intended to improve performance, they present inherent compatibility problems for OEMs looking to minimize inventory risk by sourcing NAND flash from multiple suppliers. Incompatibility issues also arise because of the fact that NAND flash from different vendors may have different erase and program timing requirements. NAND controllers addressed this problem by offering a simple, standardized interface between the host system and a block of flash memory regardless of the source. In a discrete solution, OEMs typically purchase controllers and NAND memory ICs from different suppliers and then mount the devices on a board. Once the system powers up, a flash file system in the controller recognizes the memory devices, executes all necessary handshaking routines for flash media support and performs low-level formatting. More recently, vendors have begun to address this issue by offering managed NAND solutions that take simplicity of design to another level by combining an integrated ATA controller with one or more NAND flash die in a multi-chip package. Offering a complete plug-and-play NAND storage solution in a compact package, this approach offers attractive cost and space savings and has proved highly popular in embedded applications using the standard ATA/IDE protocol. Both discrete and managed NAND solutions use a microcontroller (MCU) to decode all host commands and translate them into flash commands. To boost performance the MCU is usually supported by a small SRAM buffer between the host and flash devices. To eliminate any latency that may occur due to MCU overhead, these solutions typically use a DMA block to interface between the MCU and the data channel running between the host ATA IDE bus and the flash memory. The DMA block moves the data between the SRAM buffer and the flash memory to reduce MCU overhead. The key differentiator in any NAND flash subsystem, whether it is a managed or discrete design, is the embedded flash file system, which manages the handshake mechanism between the host and the flash memory. From the designer's point of view, this capability dramatically simplifies the task of writing data to memory by automatically compensating for many of the unique architectural differences between flash devices from different suppliers, such as error correction requirements, page size or number of bits per cell. It also can be used to store unique customer-specific features or add bug fixes when required. Finally, the flash file system also typically holds a number of important media management functions that help ensure data integrity and a longer life for the NAND flash memory subsystem. Not all implementations of the flash file system are the same, however. Many controllers implement the flash file system in a lower cost, mask-programmable ROM. Controllers from other vendors, such as SST, use an in-circuit reprogrammable flash memory to perform this task. Given the rapid rate of change in NAND technology, this distinction is crucial. Designers using a controller that stores firmware in ROM must generate a time-consuming and expensive mask change to reprogram the device every time they need to update the firmware. This problem also applies to SoCs with integrated NAND controllers. Inevitably designers using these devices cannot keep up with the large number of changes occurring in NAND memory IC design and must therefore limit their component selection. Designers using controllers that store their firmware in embedded flash, on the other hand, can quickly and inexpensively modify their device as flash memory vendors introduce new features. This capability gives system designers more flexibility to design their memory subsystem by using components from a wider selection of vendors for fast time-to-market, best availability and cost effectiveness.
|