Non Volatile Memories For Removable Media
Non Volatile Memories For Removable Media
PAPER
ABSTRACT | NAND Flash memory has become the preferred reprogrammed in either byte/word or pages. Different Flash
nonvolatile choice for portable consumer electronic devices. implementations exist: NOR and NAND are the most
Features such as high density, low cost, and fast write times common, but AND and NROM exist as well [1]. This kind of
make NAND perfectly suited for media applications where large device is used in memory cards and USB Flash drives for
files of sequential data need to be loaded into the memory storage and data transfer between computers and digital
quickly and repeatedly. When compared to a hard disk drive, a systems. Other applications include personal digital assis-
limitation of the Flash memory is the finite number of erase/ tants, notebooks, MP3 players, digital cameras, and cellular
write cycles: most of commercially available NAND products are phones. In the last years it also gained some popularity in the
guaranteed to withstand 105 programming cycles at most. As a game console market. In the future, it is expected that Flash-
consequence, special care (remapping, bad block management based systems such as solid-state disks (SSDs) will increas-
algorithms, etc.) has to be taken when hard-drive based, read/ ingly replace conventional hard disk drives (HDDs).
write intensive applications, such as operating systems, are All types of nonvolatile Flash memory have strong
migrated to Flash-memory based devices. One of the basic re- limitations to perform random access in writing and
quirements of the consumer market for data storage is the reading. The memory system, e.g., a Flash card like an
portability of stored data from one device to the other. Flash SD-card, is a small Bsystem in package[ built around the
cards are the actual solution. A Flash card is a nonvolatile Flash memory and combined with a microcontroller
Bsystem in package[ in which a NAND Flash memory is em- capable of overcoming these limitations, being able to
bedded with a dedicated controller. This paper presents the perform random access in both read and write, featuring a
basic features of the NAND Flash memory and the basic archi- technology-independent interface.
tecture of Flash cards. We provide an outlook on opportunities
and challenges of future Flash systems. 1) Features: The popularity of the Flash memory for
applications such as storage on portable devices is mainly based
on its distinctive characteristic of being nonvolatile (i.e., stored
KEYWORDS | Flash cards; NAND Flash memory; system in
information is retained even when not powered, differently
package
from other kinds of memories, like DRAM). Flash memory
also offers fast access times in read (although not as fast as
I. INTRODUCTION DRAM) and better mechanical shock resistance compared to
hard-disks. The high storage density of a Flash-based system is
Flash memory is a type of nonvolatile memory that can be
typically achieved by means of advanced packaging techniques.
erased in large blocks (erase blocks or sectors) and
Furthermore, the smart memory management carried out by
the microcontroller allows a high endurance and an appealing
Manuscript received March 27, 2008; revised May 22, 2008. Current version published reliability of the resulting system.
February 27, 2009. This work was supported in part by the European Commission
(Project No. FP7-21503-ELITE).
R. Micheloni, M. Picca, S. Amato, and S. Commodaro are with Qimonda Italy Srl, 2) Outlook and Challenges: As manufacturers increase the
20059 Vimercate, Italy (e-mail: rino.micheloni@ieee.org).
H. Schwalm and M. Scheppler are with Qimonda Flash GmbH, 82008 Unterhaching, density of data storage in Flash devices, the size of individual
Germany. memory cells becomes smaller and the number of electrons
Digital Object Identifier: 10.1109/JPROC.2008.2007477 stored in the cell decreases. Moreover, coupling between
148 Proceedings of the IEEE | Vol. 97, No. 1, January 2009 0018-9219/$25.00 2009 IEEE
Authorized licensed use limited to: Pontificia Universidad Javeriana. Downloaded on March 6, 2009 at 12:59 from IEEE Xplore. Restrictions apply.
Micheloni et al.: Non-Volatile Memories for Removable Media
the factory with some bad blocks (i.e., blocks where some As shown in Fig. 4, using multiple memory compo-
locations do not guarantee the standard level of reliability nents is an efficient way to improve data throughput while
when used), which are identified and marked according to having the same page programming time.
a specified bad-block marking strategy. The memory controller is responsible for scheduling
The first physical block of a NAND memory (block 0) is the distributed accesses at the memory channels. The
always guaranteed to be readable and free from errors controller uses dedicated engines for the low level com-
when the device is shipped to a customer. Hence, code, all munication protocol with the Flash. By means of firmware
vital pointers for partitioning, and bad block management on the central CPU, it executes the address translation
for the device can be located inside this block (typically a from a host request to the physical addresses. Fig. 5 shows
pointer to the bad block tables). the block diagram of a typical memory card/SSD.
On the other hand, NOR Flash memories are capable of With respect to the host side, the memory controller
a very fast read access time (less than 100 ns), they offer a includes a dedicated host interface, which usually com-
programming time comparable to that of the NAND (but plies to several interface standards like SD, MMC, or CF.
the amount of programmed bit per operation is consider- Hence, from an external point of view, a memory system
ably smaller), but they feature an erase time which is some is vendor independent and characterized only by param-
order of magnitudes higher than the NAND. For these eters like read/write performance and power consump-
reasons, and due to the capability to Bexecute in place,[ tion. Especially for embedded applications, this interface
NOR Flash memories are suitable for code storage and will
not be considered in the following sections.
Table 1 shows the most important parameters of the
two types of memory.
Fig. 6. Different card form factors: SD, mini-SD, SD, MMC, CF, and
a miniaturized version of a USB device.
the Flash, the first part is the host interface, which imple-
ments the required industry-standard protocol (MMC, SD,
CF, etc.), thus ensuring both logical and electrical inter-
operability between the card and the host. This block is a
mix of hardwareVbuffers, drivers, etc.Vand firmwareV
command decoding performed by the embedded
processorVwhich decodes the command sequence in-
voked by the host and handles the data flow to/from the
Flash memories. The second part is the Flash file system
(FFS) [5]: that is, the file system that enables the use of
Flash cards and USB like magnetic disks. For instance,
sequential memory access on a multitude of subsectors
that constitute a file is organized by linked lists (stored on
the Flash card itself), which are used by the host to build
the file allocation table. Just like the case with HDD, de-
fragmentation can be invoked by the host in order to opti-
mize access speed and data organization.
The FFS is implemented in firmware and manages
(at NAND Flash level) all data accesses to/from the host
with a minimum granularity of 512 Byte (one subsector).
This block is of utmost importance during data transfer
operations. As already outlined in the previous section,
Flash memories have intrinsic limitations, some of which
can be overcome by performing erase operations, while
some others lead to unrecoverable situations and require
specific management.
The FFS is usually implemented in the form of firm-
ware inside the controller, with each sublayer performing
a specific function. The main functions are: wear leveling
management, garbage collection, and bad block manage-
ment. For all these functions, tables are widely used in
Fig. 8. Schematic representation of a memory card.
order to map sectors and pages from logical to physical
(Flash translation layer), as shown in Fig. 9 [6], [7]: the
upper row is the logical view of the memory, while the
The assembly stress for small form factors is quite high; lower row is the physical one. From the host perspective,
and, therefore, system testing is at the end of the pro- data are transparently written and overwritten inside a
duction. Hence, production cost is higher. given logical block. Due to Flash limitations, overwrite on
Fig. 8 shows a schematic representation of a memory the same page is not possible; therefore a new page must
card. Two types of components can be identified: the be allocated in the physical block and the previous one is
memory controller and the Flash memory components. marked as invalid. It is clear that at some point, the current
Actual implementation may vary, but for the sake of clarity physical block becomes full and therefore a second one
the block diagram is divided into layers whose functions (buffer) is assigned to the same logical block.
are described in detail.
A. Memory Controller
The aim of the memory controller is twofold: 1) to
provide the most suitable interface and protocol towards
both the host and the Flash memories and 2) to efficiently
handle data, maximizing transfer speed, data integrity, and
information retention. In order to carry out such tasks, an
application-specific device is designed, embedding a
standard processorVusually 8/16 bitVtogether with
dedicated hardware to handle timing-critical tasks.
For the sake of discussion, the memory controller can
be divided into four parts, which are implemented either
in hardware or in firmware. Proceeding from the host to Fig. 9. Logical to physical block management.
way, all the physical sectors are evenly used, thus keeping
the aging under a reasonable value. Two kinds of ap-
proaches are possible: dynamic wear leveling is normally
used to follow up a user’s request of update for a sector;
static wear leveling can also be implemented, where every
sector, even the least modified, is eligible for remapping as
soon as its aging deviates from the average value.
The required translation tables are always stored on the 3) Bad Block Management: No matter how smart the wear
memory card itself, thus reducing the overall card capa- leveling algorithm is, an intrinsic limitation of NAND Flash
city. The organization of this information is very important memories is represented by the presence of so-called bad
because it has an impact on data access speed and, there- blocks, i.e., blocks that contain one or more locations whose
fore, on card performances. reliability is not guaranteed. The Bad Block management
module creates and maintains a map of bad blocks, as shown
1) Wear Leveling Management: Usually, not all the in Fig. 11: the map is created during factory initialization of
information stored within the same memory location the memory card, thus containing the list of the bad blocks
changes with the same frequency: some data are often already present during the factory testing of the NAND Flash
updated while others remain always the same for a very memory modules. Then it is updated during device lifetime
long timeVworst case, for the whole life of the device. It is whenever a block becomes bad.
clear that the blocks containing frequently updated
information are stressed with a large number of write/ 4) Error Correction: This task is typically executed by a
erase cycles, while the blocks containing information specific hardware inside the memory controller. Examples of
updated very rarely are much less stressed. memories with embedded ECC are also reported [8], [10].
In order to mitigate disturbs, it is important to keep the The most popular ECC codes, correcting more than one
aging of each page/block as minimum and as uniform as error, are Reed–Solomon and Bose–Chauduri–Hocquenghem
possible: that is, the number of both read and program
cycles applied to each page must be monitored. Further-
more, the maximum number of allowed program/erase
cycles for a block (i.e., its endurance) should be considered:
in case SLC NAND memories are used, this number is on
the order of 100 000 cycles, which is reduced to 10 000
when MLC NAND memories are used. Wear leveling tech-
niques rely on the concept of logical to physical translation
for each sector: that is, each time the host application
requires updates to the same (logical) sector, the memory
controller dynamically maps the sector onto a different
(physical) sector, keeping track of the mapping either in a
specific table or with pointers. The out-of-date copy of the
sector is tagged as both invalid and eligible for erase. In this Fig. 11. Bad block management.
Fig. 14. Classic die stacking. Fig. 16. Staircase die stacking.
Fig. 18. Memory device with pads along one side. Fig. 19. Three-dimensional horizontal memory array.
Another unwanted consumption is due to the fact that The other critical condition is related to the extraction.
each Flash device has its own internal charge pumps, Users can extract the card from the host at any time. This
which individually contribute to the overall standby misuse is clearly out of specification, but critical condi-
current of the whole system as well as to voltage drops tions could be identified at design level, and special
by di=dt. Such consumption can be drastically reduced if strategies should be used to drive whenever possible the
one device (a master, or the controller) has one or more system to a safer condition. Especially, a write access that
voltage regulator(s) on board, or simply a switch by which is still busy should not lose data. The payload data stored in
it can control the supply of other devices (slaves, or the SRAM buffers of the controller must be safely
memories), in order to provide better performances in transferred to the Flash memory before system shutdown.
standby condition. When standby is required, the main Exception handling is a major functionality of the memory
device can gate the power supply to the others, so that controller firmware.
there is only one contributor to the standby current of the
whole system.
A critical aspect of portable systems is related to their V. CONCLUSION
characteristic of being removable, which adds two NAND Flash devices are best suited for applications
critical conditions during system use: insertion and requiring high-capacity data storage. This type of Flash
extraction. architecture combines higher storage space with faster
Insertion is critical whenever it is a hot insertion, i.e., program, erase, and read capabilities over the Bexecute in
the system is connected to a host that is already supplied. place[ advantage of the NOR architecture.
In fact, the system that presents a low capacitance on its Density requirements have pushed traditional integra-
supply line, when physically connected to the host that has tion solutions to the limit, and advanced techniques have
a bigger (and supplied) capacitance on the same low been developed, both at component and at system level. h
Ohmic lines (because supply lines are very conductive),
experiences a very fast rampup of VDD. Typical timing is
faster than 5 V=s. With this hard power-on, many inter- Acknowledgment
nal nets can be coupled to VDD and drive the system to The authors wish to thank A. Marelli [11] for the
unwanted conditions. fruitful discussions on ECC.
REFERENCES [9] G. Campardo, R. Micheloni et al., B40-mm2 [17] H. A. Castro et al., BA 125 MHz burst
3-V-only 50-MHz 64-Mb 2-b/cell CHE NOR mode 0.18 m 128 Mbit 2 bits per cell flash
[1] P. Cappelletti et al., Flash Memories. Flash memory,[ IEEE J. Solid-State Circuits, memory,[ in Proc. VLSI Symp., Jul. 2002,
Norwood, MA: Kluwer Academic, 1999. vol. 35, pp. 1655–1667, Nov. 2000. pp. 304–307.
[2] G. Campardo, R. Micheloni, and D. Novosel,
[10] R. Micheloni et al., BA 4 Gb 2b/cell NAND [18] D. Helmhurst et al., BA 1.8 V 128 Mb
VLSI-Design of Non-Volatile Memories.
flash memory with embedded 5b BCH ECC 125 MHz multi-level cell flash memory with
Berlin, Germany: Springer-Verlag, 2005.
for 36 MB/s system read throughput,[ in IEEE flexible read while write,[ in IEEE Int.
[3] C. Park et al., BA high performance controller Int. Solid-State Circuits Conf. Dig. Tech. Papers, Solid-State Circuits Conf. Dig. Tech. Papers,
for NAND Flash-based Solid State Disk Feb. 2006, pp. 142–143. Feb. 2003, pp. 286–287.
(NSSD),[ in Proc. IEEE Non-Volatile
Semiconduct. Memory Workshop (NVSMW), [11] R. Micheloni, A. Marelli, and R. Ravasio, [19] M. Taub et al., BA 90 nm 512 Mb 166 MHz
Feb. 2006, pp. 17–20. Error Correction Codes for Non-Volatile multilevel cell flash memory with 1.5 MByte/s
Memories. Berlin, Germany: programming,[ in IEEE Int. Solid-State Circuits
[4] D. Nobunaga et al., BA 50 nm 8 Gb NAND Springer-Verlag, 2008. Conf. Dig. Tech. Papers, Feb. 2005, pp. 54–55.
flash memory with 100 MB/s program
throughput and 200 MB/s DDR interface,[ in [12] K. Kanda et al., BA 120 mm2 16 Gb 4-MLC [20] C. Villa et al., BA 125 MHz burst-mode flexible
IEEE Int. Solid-State Circuits Conf. Dig. Tech. NAND flash memory with 43 nm CMOS read-while-write 256 Mbit 2 b/c 1.8 V NOR
Papers, Feb. 2008, pp. 426–427. technology,[ in IEEE Int. Solid-State Circuits flash memory,[ in IEEE Int. Solid-State Circuits
Conf. Dig. Tech. Papers, Feb. 2008, Conf. Dig. Tech. Papers, Feb. 2005, pp. 52–53.
[5] A. Kawaguchi, S. Nishioka, and H. Motoda, pp. 430–431.
BA flash-memory based file system,[ in Proc. [21] A. Modelli, A. Visconti, and R. Bez,
USENIX Winter Technical Conf., 1995, [13] S.-M. Jung, J. Jang, W. Cho et al., BThree BAdvanced flash memory reliability,[ in Proc.
pp. 155–164. dimensionally stacked NAND Flash memory IEEE Int. Conf. Integr. Circuit Design Technol.,
technology using stacking single crystal 2004, pp. 211–218.
[6] J. Kim, J. M. Kim, S. Noh, S. L. Min, and
Si layers on ILD and TANOS structure for [22] N. Mielke, H. Belgal, I. Kalastirsky,
Y. Cho, BA space-efficient flash translation
beyond 30 nm node,[ in IEDM Dig. Tech. P. Kalavade, A. Kurtz, Q. Meng, N. Righos,
layer for compactflash systems,[ IEEE Trans.
Papers, Dec. 2006, pp. 37–40. and J. Wu, BFlash EEPROM threshold
Consum. Electron., vol. 48, pp. 366–375,
May 2002. [14] K. T. Park et al., BA 45 nm 4 Gb 3-dimensional instabilities due to charge trapping during
[7] S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, double-stacked multi-level NAND flash program/erase cycling,[ IEEE Trans. Device
S.-W. Park, and H.-J. Songe, BFAST: memory with shared bitline structure,[ in Mater. Rel., vol. 4, no. 3, pp. 335–344,
A log-buffer based FTL scheme with fully IEEE Int. Solid-State Circuits Conf. Dig. Tech. 2004.
associative sector translation,[ in Proc. 2005 Papers, Feb. 2008, pp. 510–511. [23] A. Chimenton, P. Pellati, and P. Olivo,
US-Korea Conf. Sci., Technol., Entrepreneur., [15] H. Tanaka, M. Kido, K. Yahashi et al., BBit cost BAnalysis of erratic bits in flash memories,[
Aug. 2005. scalable technology with punch and plug IEEE Trans. Device Mater. Rel., vol. 1,
[8] T. Tanzawa, T. Tanaka, K. Takekuchi, process for ultra high flash memory,[ in Dig. pp. 179–184, Dec. 2001.
R. Shirota, S. Aritome, H. Watanabe, Symp. VLSI Technol., Jun. 2006, pp. 14–15. [24] H. Kurata et al., BRandom telegraph signal in
G. Hemink, K. Shimizu, S. Sato, Y. Takekuchi, [16] M. Bauer et al., BA multilevel-cell, 32 Mb flash flash memory: Its impact on scaling of
and K. Ohuchi, BA compact on-chip ECC for memory,[ in IEEE Int. Solid-State Circuits multilevel flash memory beyond the 90-nm
low cost Flash memories,[ IEEE J. Solid-State Conf. Dig. Tech. Papers, Feb. 1995, node,[ IEEE J. Solid-State Circuits, vol. 42,
Circuits, vol. 32, pp. 662–669, May 1997. pp. 132–135. pp. 1362–1369, Jun. 2007.