Freescale Coldfire i Kinetis od środka
Kontroler pamięci Flash typu NAND
Kontroler NAND Flash Controller (NFC) pozwala na bezpośrednie połączenie mikrokontrolera z pamięciami Flash typu MLC (Multi-Level-Cell) NAND. Kosztowne obliczenia kodów korekcji błędów (Error Correction Code, ECC) są wykonywane sprzętowo, a obsługa ECC o długości do 32 bitów zapewnia możliwość współpracy z pamięciami MLC NAND obecnej i przyszłych generacji. Najważniejsze cechy tego bloku to:
- interfejs do 8- i 16-bitowej pamięci Flash NAND,
- mapowanie pamięci na rejestry i bufor SRAM,
- obsługa wszystkich pamięci Flash typu NAND, niezależnie od pojemności czy organizacji (rozmiary stron: 512+16 B, 2 kB +64 B, 4 kB+128 B, 4 kB+256 B, 8 kB),
- obsługa typowych dla pamięci Flash poleceń: page read, page program, reset, block erase, read status, read ID, copy-back, multiplane read/program, interleaved read/program, random input/output oraz read w trybie EDO,
- w (możliwym do wyłączenia) trybie korekcji błędów ECC, NFC obsługuje korekcję 4-, 6-, 8-, 12-, 16-, 24- i 32-bitową,
- dwa konfigurowalne kanały DMA: możliwość użycia kanału DMA1 do odczytu/zapisu głównego obszaru strony a kanału DMA2 do obszaru zapasowego lub zapis i odczyt obu obszarów zrealizować za pomocą kanału 1.
*Zewnętrzne interfejsy są na wyposażeniu następujących rodzin:
Kontroler DRAM: Kinetis K60
Mini FlexBus: ColdFire+ Qx/Jx
FlexBus: Kinetis K10/K20/K30/K40/K60
Kontroler NAND Flash: Kinetis K10/K20/K60
Rys. 42. Schemat blokowy kontrolera pamięci Flash typu NAND
Literatura
[1] Dokumenacja techniczna Beyond Bits, Next-Generation Microcontrollers: ColdFire+ Family, Kinetis Family; Freescale 2010