Redundancy Sectors

The RSL15 flash provides four redundancy sectors, including:

  • Two sectors that can be used in production to patch any code array sectors
  • Two sectors that can be used in production to patch any data array sectors

The flash also supports the use of four sectors that can be used as user redundancy sectors, including:

  • The last two flash code sectors that can be used by the user application to patch any other code array sectors
  • The last two flash data sectors that can be used by the user application to patch any other data array sectors

The addresses of the sectors to be patched are stored in MNVR, and loaded during flash initialization to the FLASH_PATCH_ADDR* registers. If a flash redundancy sector is not used, the FLASH_PATCH_ADDR_PATCH_NOT_VALID bit from its FLASH_PATCH_ADDR* register is set.

Information on the available flash redundancy sectors is provided in the "Flash Redundancy Sectors" table.

Table: Flash Redundancy Sectors
Redundancy Sector Flash Sector Type Nominal Address Patch Register
Code redundancy 1 (RED1) Code 0x00060000 FLASH_PATCH_ADDR0
Code redundancy 2 (RED2) Code 0x00060800 FLASH_PATCH_ADDR1
Data redundancy 1 (RED3) Data 0x00061000 FLASH_PATCH_ADDR2
Data redundancy 2 (RED4) Data 0x00061100 FLASH_PATCH_ADDR3
User code redundancy (USER_RED1) Code 0x00157000 FLASH_PATCH_ADDR4
User code redundancy (USER_RED2) Code 0x00157800 FLASH_PATCH_ADDR5
User data redundancy (USER_RED3) Data 0x001D7E00 FLASH_PATCH_ADDR6
User data redundancy (USER_RED4) Data

0x001D7F00

FLASH_PATCH_ADDR7

IMPORTANT: Each of the user redundancy sectors can be configured once for a device, using the CMD_WRITE_USER_RED flash command. Before configuring a user redundancy sector, a user application must ensure that the sector is not already in use. When running this command, the address of the sector to be patched must be written to the FLASH_DATA[0] register, and the user redundancy index (between 1 and 4) must be written to FLASH_DATA[1], as described in Flash Memory Operations.

NOTE: If multiple flash redundancy sectors are applied to the same address, the following priority is observed (listed from highest to lowest priority): USER_RED2, USER_RED1, RED2, RED1 for flash code array sectors, and USER_RED4, USER_RED3, RED4, RED3 for flash data array sectors.

NOTE: User redundancy sectors can only be patched by production redundancy sectors.