ST AN2632 Application note

AN2632

Application note

Communication between small page NAND and

ST72651AR6 using I/O’s

Introduction

This application note presents the practical example of communication between microcontroller and NAND Flash using general purpose input/output ports (GPIOs).

This document describes the hardware connections and software necessary to

establish communication between the STMicroelectronics small page NAND Flash memory and input/output ports of the ST7 microcontroller. We have used the ST72651AR6 for the firmware description, but any ST7 MCU can be used as well.

The devices covered by this application note are:

NAND128W3A

NAND256W3A

NAND512W3A

NAND01GW3A

October 2007

Rev 1

1/12

www.st.com

Contents

AN2632

 

 

Contents

1

NAND Flash overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 3

 

1.1

Signal description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

 

1.2

Memory array organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2

Hardware interface with microcontroller . . . . . . . . . . . . . . . . . . . . . . . . .

6

3

Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

 

3.1

NAND basic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

 

3.2

Remaining NAND functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

4

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

5

Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2/12

AN2632

NAND Flash overview

 

 

1 NAND Flash overview

The NAND Flash 528 Byte / 264 Word page is a family of non-volatile Flash memories that uses the Single Level Cell (SLC) NAND cell technology. It is referred to as the small page family. The devices range from 128 Mbits to 1Gbit and operate with either a 1.8 V or 3 V voltage supply. The size of a page is either 528 Bytes (512 + 16 spare) or 264 Words (256 + 8 spare) depending on whether the device has an x8 or x16 bus width. The address lines are multiplexed with the data input/output signals on a multiplexed x8 or x16 input/output bus.

1.1Signal description

Table 1 describes all the small page NAND Flash signals. Figure 1 shows the logical diagram of NAND Flash.

Table 3 describes the microcontroller signals used to connect to the small page NAND devices.

Table 1.

Small page NAND Flash signal description

Signal

Signal name

Description

 

 

 

I/O8-15

Data input/outputs

Input/outputs 8 to 15 are only available in x16 devices. They are used to output the

 

 

data during a read operation or input data during a write operation.

 

 

Input/outputs 0 to 7 are used to input the selected address output the data during a

I/O0-7

Data input/outputs

read operation or input a command or data during a write operation.

The inputs are latched on the rising edge of write enable. I/O0-I/O7 can be left floating

 

 

 

 

when the device is deselected or the outputs are disabled.

 

 

 

AL

Address latch

The address latch enable activates the latching of the address inputs in the command

enable

Interface. When AL is high, the inputs are latched on the rising edge of write enable.

 

 

 

 

 

Command latch

The command latch enable activates the latching of the command inputs in the

CL

Command Interface. When CL is high, the inputs are latched on the rising edge of

enable

 

write enable.

 

 

 

 

 

#E

Chip enable

The chip enable input activates the memory control logic, input buffers, decoders and

sense amplifiers. When chip enable is low (VIL) the device is selected.

 

 

 

 

 

 

 

The Read Enable controls the sequential data output during Read operations. Data is

#R

Read enable

valid after the falling edge of R. The falling edge of R also increments the internal

 

 

column address counter by one.

 

 

 

 

 

The Ready/Busy output is an open-drain output that can be used to identify if the

 

 

P/E/R controller is currently active.

R/#B

Ready/busy

When ready/busy is low (VOL), a read, program or erase operation is in progress.

When the operation completes, ready/busy goes high (VOH). The use of an open-

 

 

 

 

drain output allows the ready/busy pins from several memories to be connected to a

 

 

single pull-up resistor. A low then indicates that one, or more, of the memories is busy.

 

 

 

#W

Write enable

The write enable input controls writing to the command interface, input address and

data latches. Both addresses and data are latched on the rising edge of write enable.

 

 

 

 

 

 

 

The write protect pin is input that gives hardware protection against unwanted

#WP

Write protect

program or erase operations. When write protect is low (VIL) the device does not

 

 

accept any program or erase operations.

 

 

 

 

 

3/12

 

 

 

ST AN2632 Application note

NAND Flash overview

 

 

 

 

 

 

AN2632

 

 

 

 

 

 

 

 

 

Table 1.

Small page NAND Flash signal description (continued)

 

 

 

 

 

 

 

 

 

 

Signal

Signal name

 

 

 

 

 

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VCC provides the power supply to the internal core of the memory device. It is the

Vcc

Supply voltage

 

main power supply for all operations (read, program and erase). It is in the range of

 

 

 

 

1.65-1.95 V for 1.8 V devices and 2.7-3.6 V for 3 V devices.

 

 

 

 

 

 

 

 

 

 

Vss

 

Ground

 

Ground is the reference for the power supply. It must be connected to the system

 

 

ground.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 1.

Logic diagram of NAND Flash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#E

 

 

I/O 8-I/O16, x16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RAFT

 

 

 

 

 

CL

 

 

 

 

 

#R

 

 

 

 

 

 

 

 

 

 

 

 

I/O 0-I/O7, x8/x16

 

 

 

 

 

#W

 

 

 

 

 

 

 

 

 

 

NAND

 

 

 

 

 

 

 

AL

Flash

 

R/#B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2Memory array organization

The memory array is organized in blocks where each block contains 32 pages. The array is split into two areas, the main area and the spare area. The main area of the array is used to store data, whereas the spare area is typically used to store error correction codes, software flags or bad block identification.

In x8 devices the pages are split into a main area with two half pages of 256 Bytes each and a spare area of 16 Bytes. In the x16 devices the pages are split into a 256 Word main area and an 8 Word spare area.

In this application note the communication with x8 devices is explained. Thus the memory map is divided as:

BLOCKS each having 32 pages and each page in turn having 528 Bytes. The number of BLOCKS is decided on the basis of the NAND Flash we are using. This application note explains the communication using NAND512W3A NAND Flash.

The memory organization for NAND512W3A is as follows:

4096 BLOCKS, 32 pages in each BLOCK, 528 Bytes in each page. Figure 2 shows the memory arrangement for x8 devices.

4/12

Loading...
+ 8 hidden pages