There are a few questions that we have not been able to answer satisfactorily for ourselves related to the ECC operation.
1. The driver that we’ve got uses Wrapping Mode 6 for Writes and Wrapping Mode 4 for Reads. This pairing is shown in the OMAP TRM.
2. As I understand it, Wrapping Mode 6 will calculate the BCH Code Word on the 2048 byte data portion and will exclude the spare area on writes.
3. Based on the diagrams, it appears to me that with Wrapping Mode 4, the ECC values are included in the BCH Code Word on reads.
4. If the code words for write and read are generated based off of different data, I would think that they would never agree… what am I missing here?
I looked this up in the Linux driver and I see that they’re using Wrapping Mode 6 for both read and write. This makes more sense to me, however, based on the diagrams in the OMAP TRM, using 6 for writes and 4 for reads should be valid also.
Any insights on this would be appreciated.
Thanks
J