10

I am writing a driver for the Samsung K9WAG08U1D NAND flash chip. The specification of the memory chip mentions it has a page size of 2048 bytes (2kB). I am using a TI MSP430F2619 which has 4096 Bytes (4kB) of RAM. This means I need to allocate a 2k memory buffer just to write to flash. My application is a protocol converter and hence requires an additional buffer for handling to and fro transmission. Please suggest me better approach to reduce the RAM requirement due to flash page size.

user1586
  • 674
  • 4
  • 15
prasad
  • 491
  • 1
  • 3
  • 8

1 Answers1

7

You don't need to fill the page register all in one go.

You begin a page write (i.e. the "Page Program" operation) by writing the Serial Data Input command (0x80), the column address, and the row address. Then you transfer the data to the page register (up to 2112 bytes). This transfer can be broken up into chunks, with any delay between chunks you need.

When you have filled the page register, you begin the transfer from the page register to the array with the Page Program Confirm command (0x10).

Patrick
  • 1,092
  • 8
  • 20