Anyone here knowledgeable about eMMC memory? I have a high reliability application where there is concern about memory corruption. What would happen if I changed the ECC field in the eMMC's Card Specific Data (CSD) register from the default no ECC to the optional BCH(542,512) encoding? Would I still be able to write/read new values to the eMMC normally with the eMMC internally protecting the contents with BCH ECC at the cost of reduced memory capacity, or would a special driver on the host be needed to encode/decode ECC reads/writes? I've asked around and haven't found a definitive answer so far. Let me know if you can help ... Buzz
eMMC CSD Register ECC field
Started by ●April 12, 2022
Reply by ●June 9, 20222022-06-09
Buzz McCool schreef:> Anyone here knowledgeable about eMMC memory? > > I have a high reliability application where there is concern about > memory corruption. What would happen if I changed the ECC field in the > eMMC's Card Specific Data (CSD) register from the default no ECC to the > optional BCH(542,512) encoding? Would I still be able to write/read new > values to the eMMC normally with the eMMC internally protecting the > contents with BCH ECC at the cost of reduced memory capacity, or would a > special driver on the host be needed to encode/decode ECC reads/writes? > > I've asked around and haven't found a definitive answer so far. Let me > know if you can help ... BuzzAsked around? Why not consult the standard? From there I gather that eMMC devices may implement internal ECC (that is why the DEVICE_ECC_ FAILED status exists) and that the "ECC" configuration field may be used for external ECC. If nonzero, your driver should handle the ECC encoding/decoding. -- (remove the obvious prefix to reply directly)