Chapter 10 Memory Subsystem.pdf
Chapter 10 Memory Subsystem.pdf
Chapter 10 Memory Subsystem.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Public Version<br />
General-Purpose <strong>Memory</strong> Controller www.ti.com<br />
Host byte read and write access requests to a 16-bit wide NAND device are completed as 16-bit accesses<br />
on the device itself, because there is no byte-addressing capability on 16-bit wide NAND devices. This<br />
means that the NAND device address pointer is incremented on a Word16 basis and not on a byte basis.<br />
For a read access, only the requested byte is given back to the host, but the remaining byte is not stored<br />
or saved by the GPMC, and the next byte or Word16 read access gets the next Word16 NAND location.<br />
For a write access, the invalid byte part of the Word16 is driven to FF, and the next byte or Word16 write<br />
access programs the next Word16 NAND location.<br />
Generally, byte access to a 16-bit wide NAND device should be avoided, especially when ECC calculation<br />
is enabled. 8-bit or 16-bit ECC-based computations are corrupted by a byte read to a 16-bit wide NAND<br />
device, because the nonrequested byte is considered invalid on a read access (not captured on the<br />
external data bus; FF is fed to the ECC engine) and is set to FF on a write access.<br />
Host requests (read/write) issued in the chip-select memory region are translated in successive single or<br />
split accesses (read/write) to the attached device. Therefore, incrementing 32-bit burst requests are<br />
translated in multiple 32-bit sequential accesses following the access adaptation of the 32-bit to 8- or<br />
16-bit device.<br />
<strong>10</strong>.1.5.14.2 NAND Device-Ready Pin<br />
The NAND memory device provides a ready pin to indicate data availability after a block/page opening<br />
and to indicate that data programming is complete. The ready pin can be connected to one of the four<br />
WAIT GPMC input pins; data read accesses must not be tried when the ready pin is sampled inactive<br />
(device is not ready) even if the associated chip-select WAITREADMONITORING bit field is set. The<br />
duration of the NAND device busy state after the block/page opening is so long (up to 50 μs) that<br />
accesses occurring when the ready pin is sampled inactive can stall GPMC access and eventually cause<br />
a system time-out.<br />
NOTE: If a read access to a NAND flash is done using the wait monitoring mode, the device is<br />
blocked during a page opening, and so is the GPMC. If the correct settings are used, other<br />
chip-selects can be used while the memory processes the page opening command.<br />
To avoid a time-out caused by a block/page opening delay in NAND flash, disable the wait<br />
pin monitoring for read and write accesses (that is, set the GPMC.GPMC_CONFIG1_i[21]<br />
WAITWRITEMONITORING and GPMC.GPMC_CONFIG1_i[22] WAITREADMONITORING<br />
bits to 0, where i = 0 to 7), and use one of the following methods instead:<br />
• Use software to poll the WAITnSTATUS bit (n = 0 to 3) of the GPMC_STATUS register.<br />
• Configure an interrupt that is generated on the WAIT signal change (through the<br />
GPMC.GPMC_IRQENABLE register bits[11:8]).<br />
Even if the READWAITMONITORING bit is not set, the external memory nR/B pin status is<br />
captured in the programmed WAIT bit in the GPMC_STATUS register.<br />
The READWAITMONITORING bit method must be used fo rmemories other than NAND<br />
flash, if they require the use of a WAIT signal.<br />
<strong>10</strong>.1.5.14.2.1 Ready Pin Monitored by Software Polling<br />
The ready signal state can be monitored through the GPMC.GPMC_STATUS WAITxSTATUS bit (x = 0 to<br />
3). The software must monitor the ready pin only when the signal is declared valid. See the NAND device<br />
timing parameters to set the correct software temporization to monitor ready only after the invalid window<br />
is complete from the last read command written to the NAND device.<br />
<strong>10</strong>.1.5.14.2.2 Ready Pin Monitored by Hardware Interrupt<br />
Each gpmc_wait input pin can generate an interrupt when a wait-to-no-wait transition is detected.<br />
Depending on whether the GPMC.GPMC_CONFIG WAITxPINPOLARITY bits (x = 0 to 3) is active low or<br />
active high, the wait-to-no-wait transition is a low-to-high external WAIT signal transition or a high-to-low<br />
external WAIT signal transition, respectively.<br />
The wait transition pin detector must be cleared before any transition detection. This is done by writing 1<br />
2144 <strong>Memory</strong> <strong>Subsystem</strong> SPRUGN4L–May 20<strong>10</strong>–Revised June 2011<br />
Copyright © 20<strong>10</strong>–2011, Texas Instruments Incorporated