Inquiring how to read the ECC data of FLASH memory.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
GlJe_1688511
Level 4
Level 4
Distributor
100 sign-ins 10 likes given 50 questions asked

Hello

I want to read the ECC data of FLASH memory.

I found the FLASHC_ECC_CTL register.

Can I read the ECC data (Parity) using that register?

Is it possible to only inject ECC Data?

Thanks and Best regards.

Glenn.

0 Likes
1 Solution
Ashish
Moderator
Moderator
Moderator
25 likes received 50 solutions authored 100 replies posted

Hi Glenn,

Unless you do an injection test (where you provide your own parity), the parity data (which is calculated by ECC logic controller) is hidden/not accessible to user. So, you can't read it, but regarding your issue- of getting ECC error- you can utilize fault structure to understand which location caused the error and if it's 1-bit or 2-bit ECC error. That should be sufficient to address your issue.  One bit-error would be automatically get corrected on the read, while for two bit error the fault is generated (it's not possible to correct it). You can try to erase and reprogram the flash to check if error goes away or still exist (usually this will fix the issue). But if a non-correctable error is persistent at a single location even after multiple program-erase cycle, that would indicate some HW fault in that location.  Additionally, if you want, you can run an injection test with correct parity and confirm if the fault is generated or not (with correct parity it should not generate ecc fault)- but if it still generates fault- that would indicate some problem. 

Regards,

Ashish

View solution in original post

0 Likes
3 Replies
Ashish
Moderator
Moderator
Moderator
25 likes received 50 solutions authored 100 replies posted

Hi Glenn,

You can refer the ECC injection section in the Architecture TRM for that flash (WorkFlash/CodeFlash chapter). In the ECC Injection, you provide ECC parity data and test if the fault is induced. The algorithm on how parity is calculated is given in Architecture TRM. 

Regards,

Ashish 

0 Likes
GlJe_1688511
Level 4
Level 4
Distributor
100 sign-ins 10 likes given 50 questions asked

Hello Ashish .

The FLASH of TRAVEO II was programmed normally.

But, the ECC error of the FLASH is occurring.

So, I want to read the ECC data of the FLASH.

Thanks and Best regards.

Glenn.

0 Likes
Ashish
Moderator
Moderator
Moderator
25 likes received 50 solutions authored 100 replies posted

Hi Glenn,

Unless you do an injection test (where you provide your own parity), the parity data (which is calculated by ECC logic controller) is hidden/not accessible to user. So, you can't read it, but regarding your issue- of getting ECC error- you can utilize fault structure to understand which location caused the error and if it's 1-bit or 2-bit ECC error. That should be sufficient to address your issue.  One bit-error would be automatically get corrected on the read, while for two bit error the fault is generated (it's not possible to correct it). You can try to erase and reprogram the flash to check if error goes away or still exist (usually this will fix the issue). But if a non-correctable error is persistent at a single location even after multiple program-erase cycle, that would indicate some HW fault in that location.  Additionally, if you want, you can run an injection test with correct parity and confirm if the fault is generated or not (with correct parity it should not generate ecc fault)- but if it still generates fault- that would indicate some problem. 

Regards,

Ashish

0 Likes