There are several APIs described in the NAND Flash packages. The first is the application API or ANC (Abstract NAND Chip) API, which applications should use. The second API is between the ANC library and the NAND Flash controller library. The third is internal in the NAND Flash controller library, where it demarcates the line between the common part of the library and the device-specific driver parts. The fourth API is between the controller library and the NAND Flash chip library and its device drivers.
Within the NAND Flash API, data within a NAND chip is addressed by a tuple
(column, row)
. The column
is
the byte or word offset within a page. The row
is a
concatenation of a number of bits for page addressing and a number of bits for
block addressing. This addressing mode follows the way that physical
NAND Flash chips are addressed. These two address components are not folded
into one cyg_uint32
: NAND flash chips (and a fortiori
ANCs) can exceed the addressability of a cyg_uint32
.