Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.3.6.5.5. Erased Page Detection Support

The NAND Flash controller is capable of detecting erased data pages, allowing detection of chunks of data with a particular pattern (that is, all bytes in 0xFF) to be marked as erased even in the presence of errors. These patterns do not occur in correct data pages with the proper ECC check bits which make possible the detection.

The detection of erased pages must be enabled during write and read of the same page, otherwise data will get corrupted. Patterns of 0xFF values must not occur either in the user data or it will be recognized as an erased page. ECC check bits are different from the same page with erased-page detection enabled/disabled.

The erased-page detection occurs during data read and is independent from the ECC BCH decoder, so this can be used either with ECC enabled or disabled.

When an erased page is detected, data correction is not performed, and the page is reported as erased. In the case that an uncorrectable error is detected on a page, the status of the page is unknown and erased-page interrupt is not set.

If ECC is enabled, the controller uses selected correction ability level as the allowed limit of zeros inside of the ECC sector. A number of zeros lower or equal to the decoded value of corr_str field in ecc_config_0 (0x0428) register indicates that the page is erased. If ECC is disabled, the controller uses the erase_det_lvl field in the ecc_config_1 (0x042c) register to configure the allowed limit of zeros in a sector.

The erase detection should not be enabled when the scrambler module is enabled. This feature is enabled with the erase_det_enbit in the ecc_config_0 (0x0428) register.

The state of the page is reported with the erased-page bit in the status descriptor in the CDMA working mode and in the cmd_status (0x0014) register in the PIO and generic working modes (last operation status register).

For more information about ECC configuration, refer to the ECC Enabling section.