写入2K页大小的NAND闪存时节省RAM内存


10

我正在为Samsung K9WAG08U1D NAND flash芯片编写驱动程序。内存芯片的规格提到其页面大小为2048字节(2kB)。我正在使用TI MSP430F2619具有4096字节(4kB)RAM的A。这意味着我只需要分配2k内存缓冲区即可写入闪存。我的应用程序是协议转换器,因此需要一个额外的缓冲区来处理来回传输。请建议我采用更好的方法来减少由于闪存页面大小而导致的RAM需求。

Answers:


7

您无需一次全部填写页面注册。

通过写入串行数据输入命令(0x80),列地址和行地址,开始页面写操作(即“页面编程”操作)。然后,您将数据传输到页面寄存器(最大2112字节)。可以将这种传输分解为多个块,您需要在块之间进行任何延迟。

填满页面寄存器后,您可以使用页面程序确认命令(0x10)开始从页面寄存器到阵列的传输。


请注意,NAND闪存通常限制为每页4次部分写入

1
@Jacen我不是指每页的部分写入。这是通过每部分单独的命令/地址/数据/命令序列来完成的。我指的是拆分到页面寄存器的传输,如果需要的话,它可以是每个字节一个“块”。
Patrick

基本上,我当前的驱动程序逻辑是等待RAM中的整个2K缓冲区被填充,然后写入闪存。但是现在我也可以拥有至少1字节的RAM缓冲区。

哦,是的,您是对的Patrick,我忘记了此选项。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.