5.57 Quad Page Program_4Byte

The Quad Page Program_4Byte instruction programs up to 256 bytes of data into memory. Before initiating the operation, the selected page address must be in the erased state (FFH). If the instruction is applied to a protected memory region, the operation is ignored. The Quad Page Program_4Byte instruction requires the IOC bit in Status Register 2 to be set to 1 before execution. The Write Enable (WREN) instruction must also be executed prior to issuing the command.

To execute a Quad Page Program_4Byte operation in SPI mode, the host drives CE# low, issues the command cycle (3EH) in SPI mode, and transmits four address cycles followed by the data using SIO[3:0]. The host then drives CE# high. The programmed data length must be between 1 and 256 bytes in whole-byte increments. The command cycle is eight clocks long, while the address and data cycles are each two clocks long, with the Most Significant bit transmitted first. Completion of the internally timed write operation can be verified by polling the Busy bit in Status Register 1 or by waiting for the specified TPP interval.

To execute a Quad Page Program_4Byte operation in QPI mode, the host drives CE# low, issues the command cycle (3EH), and transmits four address cycles followed by the data using SIO[3:0], then drives CE# high. The programmed data length must be between 1 and 256 bytes in whole-byte increments. The command cycle is eight clocks long, and the address and data cycles are each two clocks long, with the Most Significant bit transmitted first. Completion of the internally timed write operation can be verified by polling the Busy bit in Status Register 1 or by waiting for the specified TPP interval.

During a Quad Page Program_4Byte operation, memory is organized into 256-byte page boundaries. If more than 256 bytes of data are transmitted, only the last 256 bytes received are retained and programmed. If the target address is not aligned to a page boundary (A[7:0] are not all zero) and the transmitted data exceeds the remaining space in the page, the excess data wraps around and is programmed at the beginning of the same target page.