Menyimpan Memori RAM saat menulis ke ukuran 2K NAND flash

10

Saya menulis driver untuk Samsung K9WAG08U1D NAND flashchip tersebut. Spesifikasi chip memori menyebutkan ia memiliki ukuran halaman 2048 byte (2kB). Saya menggunakan TI MSP430F2619RAM 4096 Bytes (4kB). Ini berarti saya perlu mengalokasikan buffer memori 2k hanya untuk menulis ke flash. Aplikasi saya adalah konverter protokol dan karenanya memerlukan buffer tambahan untuk penanganan transmisi kesana kemari. Tolong sarankan saya pendekatan yang lebih baik untuk mengurangi kebutuhan RAM karena ukuran halaman flash.

prasad
sumber

Jawaban:

7

Anda tidak perlu mengisi halaman register sekaligus.

Anda memulai penulisan halaman (yaitu operasi "Program Halaman") dengan menulis perintah Input Data Seri ( 0x80), alamat kolom, dan alamat baris. Kemudian Anda mentransfer data ke register halaman (hingga 2112 byte). Transfer ini dapat dipecah menjadi beberapa bagian, dengan penundaan antar bagian yang Anda butuhkan.

Ketika Anda telah mengisi register halaman, Anda memulai transfer dari register halaman ke array dengan perintah Page Program Confirm ( 0x10).

Patrick
sumber
harap dicatat bahwa NAND flash biasanya dibatasi hingga 4 parsial tulis per halaman
1
@ Jacen Saya tidak mengacu pada penulisan parsial per halaman. Itu dilakukan oleh perintah / alamat / data / urutan perintah terpisah per bagian. Saya merujuk untuk memecah transfer ke register halaman, yang bisa menjadi satu "chunk" per byte jika perlu.
Patrick
Pada dasarnya logika driver saya saat ini sedang menunggu seluruh buffer 2K dalam RAM untuk diisi dan kemudian menulis ke flash. Tetapi sekarang saya dapat memiliki buffer RAM minimal 1 byte juga.
Oh ya, Anda benar Patrick, saya lupa opsi ini.