Altera Cyclone V Device Handbook page 674

Hide thumbs Also See for Cyclone V:
Table of Contents

Advertisement

10-36
Copy-back Operations
After the device completes the load operation, the NAND flash controller issues a load_comp interrupt.
A program_comp interrupt is issued when the host issues the write command and the device completes
the program operation.
If the page program operation (as a part of an RMW operation) results in a program failure in the device,
program_fail interrupt is issued. The failing page's block and page address is updated in the
err_block_addr0 and err_page_addr0 registers in the status group.
Copy-back Operations
The NAND flash controller supports copy back operations. However, the flash device might have limited
support for this function. If you attempt to perform a copy-back operation on a device that does not support
copy-back, the NAND flash controller triggers an interrupt. An interrupt is also triggered if the source block
is not specified before the destination block is specified, or if the destination block is not specified in the
next command following a source block specification.
The NAND flash controller cannot do ECC validation in case of copy-back commands. The flash controller
copies the ECC data, but does not check it during the copy operation. Altera recommends that you use copy-
back only if the ECC implemented in the flash controller is strong enough so that the next access can correct
accumulated errors.
The 8-bit value <PP> specifies the number of pages for copy-back. With this feature, the NAND flash
controller can copy multiple consecutive pages with a single command. When you issue a copy-back
command, the flash controller performs the operation in the background. The flash controller puts other
commands on hold until the current copy-back completes.
For a multi-plane device, if the flag bit in the multiplane_operation register in the config group
is set to 1, multi-plane copy-back is available as an option. In this case, the block address specified must be
plane-aligned and the value <PP> must specify the total number of pages to copy as a multiple of the number
of planes. The block address continues incrementing, keeping the page address fixed, for the total number
of planes in the device before incrementing the page address.
A pipe_cpyba ck_cmd_comp interrupt is generated when the flash controller has completed copy-back
operation of all <PP> pages. If any page program operation (as a part of copy back operation) results in a
program failure in the device, the program_fail interrupt is issued. The failing page's block and page
address is updated in the err_block_addr0 and err_page_addr0 registers in the status group.
Copying a Memory Area (Single Plane)
To copy <PP> pages from one memory location to another:
1. Write to the command register, setting the CMD_MAP field to 2 and the BLK_ADDR field to the starting
address of the area to be copied.
2. Write 0x1000 to the Data register.
3. Write to the command register, setting the CMD_MAP field to 2 and the BLK_ADDR field to the starting
address of the new area to be written.
4. Write 0x11<PP> to the Data register, where <PP> is the number of pages to copy.
Copying a Memory Area (Multi Plane)
To copy <PP> pages from one memory location to another:
1. Set the flag bit of the multiplane_operation register in the config group to 1.
2. Write to the command register, setting the CMD_MAP field to 2 and the BLK_ADDR field to the starting
address of the area to be copied. The address must be plane-aligned.
Altera Corporation
cv_54010
2013.12.30
NAND Flash Controller
Send Feedback

Advertisement

Table of Contents
loading

Table of Contents