KE18F512VLH16 ECC RAM Single Bit Correction

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KE18F512VLH16 ECC RAM Single Bit Correction

469 Views
rseigle77
Contributor I

I have a follow up question related to @sean_dvorscak's post the other day (KE1 ECC RAM Single Bit Corrrection).

@Celeste_Liu replied,
->> If implementing an optional scrub, please align the access according to the actual access size or scrub granularity, not blindly to the raw MCM_LMFAR value. Also don't use a fixed 4-byte access unless you first align the address appropriately and confirm the access size is valid.

Can MCM_LMFATR[PEFSIZE] be used to determine the access size? If so, can this be used in tandem with MCM_LMFAR to implement a read-correct-writeback operation? For example, if MCM_LMFATR[PEFSIZE] is 3'b000 indicating an 8-bit access, can I perform an 8-bit read from the address indicated by MCM_LMFAR then perform an 8-bit write to the same address to correct the error. Similarly, if MCM_LMFATR[PEFSIZE] is 3'b010 indicating a 32-bit access, can I perform a 32-bit write to the address indicated by MCM_LMFAR without worrying about alignment?

0 Kudos
Reply
7 Replies

380 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @rseigle77 ,

Regarding your question, I need to escalate it to our internal team for further investigation. According to our process, please provide the end application name.

Thanks for your cooperation.

BR

Celeste

0 Kudos
Reply

164 Views
rseigle77
Contributor I

Hi @Celeste_Liu, is there any update on this?

0 Kudos
Reply

61 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @rseigle77 ,

Sorry, I still haven't received a response from the internal yet.

I'll follow up with them again and make this my top priority. As soon as I hear anything back, I'll let you know right away.

BR

Celeste

0 Kudos
Reply

24 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @rseigle77 ,

Thanks for your patience. I got the reply from the internal.

ECC "correction" means returning corrected data to the CPU, not fixing the underlying bit stored in SRAM. Automatic repair requires a separate scrub/write-back mechanism.

The recommended flow to use software scrub:

  • ECC corrects data on read.
  • Single-bit error interrupt/status is raised. Refer to RM 6.3.1.1 Determining source of the interrupt. MCM_LMPECR[ER1BR]=1
  • Software reads the fault address. MCM_LMPEIR[PEELOC] = 5'h08 - a 1-bit correctable ECC event from SRAM_L, MCM_LMFAR indicates fault address.
  • Software rewrites the corrected value back to the same address.
  • New ECC syndrome is generated and stored.

BR

Celeste

0 Kudos
Reply

10 Views
rseigle77
Contributor I

Thanks for the response @Celeste_Liu, but that does not answer my question regarding MCM_LMFATR[PEFSIZE]:

"Can MCM_LMFATR[PEFSIZE] be used to determine the access size? If so, can this be used in tandem with MCM_LMFAR to implement a read-correct-writeback operation? For example, if MCM_LMFATR[PEFSIZE] is 3'b000 indicating an 8-bit access, can I perform an 8-bit read from the address indicated by MCM_LMFAR then perform an 8-bit write to the same address to correct the error. Similarly, if MCM_LMFATR[PEFSIZE] is 3'b010 indicating a 32-bit access, can I perform a 32-bit write to the address indicated by MCM_LMFAR without worrying about alignment?"

0 Kudos
Reply

366 Views
rseigle77
Contributor I

Hi @Celeste_Liu  - P7 is the name of the end application.

0 Kudos
Reply

400 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @rseigle77 ,

I have seen your post. Let me spend some time investigating this issue, and I will get back to you once I have more information.

BR

Celeste

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2404369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EKE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2404369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20have%20a%20follow%20up%20question%20related%20to%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F90401%22%20target%3D%22_blank%22%3E%40sean_dvorscak%3C%2FA%3E's%20post%20the%20other%20day%20(%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FKinetis-Microcontrollers%2FKE1-ECC-RAM-Single-Bit-Corrrection%2Fm-p%2F2399360%23M68449%22%20target%3D%22_blank%22%3EKE1%20ECC%20RAM%20Single%20Bit%20Corrrection%3C%2FA%3E).%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237877%22%20target%3D%22_blank%22%3E%40Celeste_Liu%3C%2FA%3E%26nbsp%3Breplied%2C%3CBR%20%2F%3E%3CSPAN%3E-%26gt%3B%26gt%3B%26nbsp%3BIf%20implementing%20an%20optional%20scrub%2C%20please%20align%20the%20access%20according%20to%20the%20actual%20access%20size%20or%20scrub%20granularity%2C%20not%20blindly%20to%20the%20raw%20MCM_LMFAR%20value.%20Also%20don't%20use%20a%20fixed%204-byte%20access%20unless%20you%20first%20align%20the%20address%20appropriately%20and%20confirm%20the%20access%20size%20is%20valid.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECan%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20be%20used%20to%20determine%20the%20access%20size%3F%20If%20so%2C%20can%20this%20be%20used%20in%20tandem%20with%26nbsp%3BMCM_LMFAR%20to%20implement%20a%26nbsp%3Bread-correct-writeback%20operation%3F%20For%20example%2C%20if%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20is%203'b000%20indicating%20an%208-bit%20access%2C%20can%20I%20perform%20an%208-bit%20read%20from%20the%20address%20indicated%20by%26nbsp%3BMCM_LMFAR%20then%20perform%20an%208-bit%20write%20to%20the%20same%20address%20to%20correct%20the%20error.%20Similarly%2C%20if%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20is%203'b010%20indicating%20a%2032-bit%20access%2C%20can%20I%20perform%20a%2032-bit%20write%20to%20the%20address%20indicated%20by%20MCM_LMFAR%20without%20worrying%20about%20alignment%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2406179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237024%22%20target%3D%22_blank%22%3E%40rseigle77%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3EI%20have%20seen%20your%20post.%20Let%20me%20spend%20some%20time%20investigating%20this%20issue%2C%20and%20I%20will%20get%20back%20to%20you%20once%20I%20have%20more%20information.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3ECeleste%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2406512%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406512%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237024%22%20target%3D%22_blank%22%3E%40rseigle77%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3ERegarding%20your%20question%2C%20I%20need%20to%20escalate%20it%20to%20our%20internal%20team%20for%20further%20investigation.%20According%20to%20our%20process%2C%20please%20provide%20the%20%3CSTRONG%3Eend%20application%3C%2FSTRONG%3E%20name.%3C%2FP%3E%0A%3CP%3EThanks%20for%20your%20cooperation.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3ECeleste%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2406684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237877%22%20target%3D%22_blank%22%3E%40Celeste_Liu%3C%2FA%3E%26nbsp%3B%20-%20P7%20is%20the%20name%20of%20the%20end%20application.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2413807%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2413807%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237877%22%20target%3D%22_blank%22%3E%40Celeste_Liu%3C%2FA%3E%2C%20is%20there%20any%20update%20on%20this%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2415952%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2415952%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237024%22%20target%3D%22_blank%22%3E%40rseigle77%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3ESorry%2C%20I%20still%20haven't%20received%20a%20response%20from%20the%20internal%20yet.%3C%2FP%3E%0A%3CP%3EI'll%20follow%20up%20with%20them%20again%20and%20make%20this%20my%20top%20priority.%20As%20soon%20as%20I%20hear%20anything%20back%2C%20I'll%20let%20you%20know%20right%20away.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3ECeleste%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2416871%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2416871%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThanks%20for%20the%20response%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237877%22%20target%3D%22_blank%22%3E%40Celeste_Liu%3C%2FA%3E%2C%26nbsp%3Bbut%20that%20does%20not%20answer%20my%20question%20regarding%20%3CSPAN%3EMCM_LMFATR%5BPEFSIZE%5D%3C%2FSPAN%3E%3A%3C%2FP%3E%3CP%3E%22%3CSPAN%3ECan%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20be%20used%20to%20determine%20the%20access%20size%3F%20If%20so%2C%20can%20this%20be%20used%20in%20tandem%20with%26nbsp%3BMCM_LMFAR%20to%20implement%20a%26nbsp%3Bread-correct-writeback%20operation%3F%20For%20example%2C%20if%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20is%203'b000%20indicating%20an%208-bit%20access%2C%20can%20I%20perform%20an%208-bit%20read%20from%20the%20address%20indicated%20by%26nbsp%3BMCM_LMFAR%20then%20perform%20an%208-bit%20write%20to%20the%20same%20address%20to%20correct%20the%20error.%20Similarly%2C%20if%26nbsp%3BMCM_LMFATR%5BPEFSIZE%5D%20is%203'b010%20indicating%20a%2032-bit%20access%2C%20can%20I%20perform%20a%2032-bit%20write%20to%20the%20address%20indicated%20by%20MCM_LMFAR%20without%20worrying%20about%20alignment%3F%22%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2416735%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20KE18F512VLH16%20ECC%20RAM%20Single%20Bit%20Correction%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2416735%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237024%22%20target%3D%22_blank%22%3E%40rseigle77%3C%2FA%3E%26nbsp%3B%EF%BC%8C%3C%2FP%3E%0A%3CP%3EThanks%20for%20your%20patience.%20I%20got%20the%20reply%20from%20the%20internal.%3C%2FP%3E%0A%3CP%3EECC%20%22correction%22%20means%20returning%20corrected%20data%20to%20the%20CPU%2C%20not%20fixing%20the%20underlying%20bit%20stored%20in%20SRAM.%20Automatic%20repair%20requires%20a%20separate%20scrub%2Fwrite-back%20mechanism.%3C%2FP%3E%0A%3CP%3EThe%20recommended%20flow%20to%20use%20software%20scrub%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EECC%20corrects%20data%20on%20read.%3C%2FLI%3E%0A%3CLI%3ESingle-bit%20error%20interrupt%2Fstatus%20is%20raised.%20Refer%20to%20RM%206.3.1.1%20Determining%20source%20of%20the%20interrupt.%20MCM_LMPECR%3CSPAN%20class%3D%22error%22%3E%5BER1BR%5D%3C%2FSPAN%3E%3D1%3C%2FLI%3E%0A%3CLI%3ESoftware%20reads%20the%20fault%20address.%20MCM_LMPEIR%3CSPAN%20class%3D%22error%22%3E%5BPEELOC%5D%3C%2FSPAN%3E%20%3D%205'h08%20-%20a%201-bit%20correctable%20ECC%20event%20from%20SRAM_L%2C%20MCM_LMFAR%20indicates%20fault%20address.%3C%2FLI%3E%0A%3CLI%3ESoftware%20rewrites%20the%20corrected%20value%20back%20to%20the%20same%20address.%3C%2FLI%3E%0A%3CLI%3ENew%20ECC%20syndrome%20is%20generated%20and%20stored.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3ECeleste%3C%2FP%3E%3C%2FLINGO-BODY%3E