2.1. Flash Device Width

Flash devices typically have a width of 8-, 16- or 32-bits. For 8- and 16-bit flash devices it is common to place multiple flash devices in parallel to occupy a 32-bit bus. An example is ARM's Versatile PB926EJ-S board, which contains two 16-bit flash devices in parallel.

In the case that flash devices are placed in parallel on the bus, you can choose to access the flash devices sequentially or in parallel.

If the flash devices are accessed sequentially, then you erase, read or write data on one flash device, and then erase, read or write data on the next flash device, and so on through all the flash devices on the bus.

In the parallel approach, you access all the flash devices at the same time using 32-bit memory accesses; this means duplicating commands four times for 8-bit flash devices and two times for 16-bit flash devices to fill a 32-bit word, for example. Accessing flash devices in parallel assumes that they all use the same command set and have the same block structure, which is normally the case. However, you must be careful when polling parallel flash devices for their status, because the flash devices may complete operations at slightly different speeds; this means you must wait for all the devices to signal completion before proceeding with the next operation.

The recommended approach is to access flash devices in parallel because this results in faster flash operations.

Copyright © 2007. All rights reserved.DAI0190A