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.
M9<br />
Per-sector spares, separate ECC<br />
Spares covered by sector ECC<br />
All ECC at the end<br />
Write<br />
Read<br />
Mode Size0 Size1<br />
6<br />
5<br />
P E<br />
P E<br />
M<br />
Per-sector spares, separate ECC<br />
<strong>10</strong><br />
Spares covered by sector ECC<br />
All ECC at the end, left-padded<br />
M<br />
11<br />
Write<br />
Read<br />
Mode Size0 Size1<br />
6<br />
11<br />
P 1+E<br />
P E<br />
Per-sector spares, separate ECC<br />
Spares not covered by ECC<br />
All ECC at the end<br />
Mode Size0 Size1<br />
Write 6 0 U+E<br />
Read 4 SU E<br />
M<br />
Per-sector spares, separate ECC<br />
12<br />
Spares not covered by ECC<br />
All ECC at the end, left-padded<br />
Mode Size0 Size1<br />
Write 6 0 U+1+E<br />
Read 9 SU E<br />
Public Version<br />
www.ti.com General-Purpose <strong>Memory</strong> Controller<br />
Figure <strong>10</strong>-35. NAND Page Mapping and ECC: Per-Sector Schemes, With Separate ECC<br />
<strong>10</strong>.1.5.14.4 Prefetch and Write-Posting Engine<br />
Sector data Sector data<br />
Data0 Data1 Prot0 Prot1 Ecc0 Ecc1<br />
512 bytes 512 bytes<br />
0 1<br />
512 bytes 512 bytes P P 1 E 1 E<br />
512 bytes 512 bytes<br />
inactive<br />
size1<br />
size1<br />
0 1 inactive<br />
0 1<br />
512 bytes 512 bytes<br />
non-ECC spares<br />
P P E E<br />
0<br />
size0 size0 size1 size1<br />
0 1 0<br />
1 0 1<br />
Sector data Sector data<br />
Data0 Data1<br />
0 1<br />
0 1<br />
Sector data Sector data<br />
size0 size0<br />
size1<br />
U U E E<br />
size0<br />
1<br />
non-ECC spares<br />
Prot0 Prot1<br />
0<br />
size0 size0<br />
0<br />
1<br />
size0 size0<br />
non-ECC spares<br />
size1<br />
ECC<br />
inactive<br />
inactive<br />
ECC<br />
Pad Ecc0 Pad Ecc1<br />
U U 1 E 1 E<br />
size1 size1<br />
inactive<br />
0 i.<br />
size1<br />
size1 size1<br />
i. 0 i. 1<br />
Data0 Data1 Unprot0 Unprot1 Ecc0 Ecc1<br />
0 1<br />
Sector data Sector data non-ECC spares<br />
Data0 Data1<br />
0 1<br />
size0<br />
1<br />
Unprot0 Unprot1<br />
0 1 inactive<br />
ECC<br />
Pad Ecc0 Pad Ecc1<br />
1 size1 1 size1<br />
ECC<br />
size1<br />
1<br />
1 size1 1 size1<br />
gpmc_035<br />
NAND device data access cycles are usually much slower than the MCU system frequency; such NAND<br />
read or write accesses issued by the processor will impact the overall system performance, especially<br />
considering long read or write sequences required for NAND page loading or programming. To minimize<br />
this effect on system performance, the GPMC includes a prefetch and write-posting engine, which can be<br />
used to read from or write to any chip-select location in a buffered manner.<br />
The prefetch and write-posting engine uses an embedded 64 bytes (32 Word16) FIFO to prefetch data<br />
SPRUGN4L–May 20<strong>10</strong>–Revised June 2011 <strong>Memory</strong> <strong>Subsystem</strong><br />
Copyright © 20<strong>10</strong>–2011, Texas Instruments Incorporated<br />
2161