В настоящее время я адаптирую устройство Win CE6 к новой микросхеме nand flash. Новый nand имеет более высокие требования ecc (4 бит/512 байт) и поддерживает вычисления микросхемы ecc.Использование nandflash с оборудованием ecc в Win CE6
Файловая система Microsoft Flash записывает в сектора без их стирания. Это происходит при записи информации о состоянии в SectorInfo-> wReserved2. Здесь только одно биты перевернуты до нуля.
Проблема заключается в том, что встроенная микросхема вычисляет ecc также, когда файловая система записывает на wReserved2. Но он не может правильно записать этот ECC на устройство, поскольку для этого потребуется, чтобы сектор был удален, что файловая система не делает.
В запасной части страницы также есть ecc-незащищенные области, 15 байт на страницу. Я решил сохранить жизненно важные 6 байтов SectorInfo дважды (т. Е. WReserved2 для статуса сектора и dwReserved1, который является номером логического сектора).
Но когда в одной из этих двух копий встречается biterrors, я все еще не могу понять, какой из них правильный.
Итак, мои вопросы:
любые идеи о том, как решить эту проблему, используя незащищенные 15 байт?
может флэш-файловая система будет настроена на поддержку «стереть до появления информации о состоянии записи»
любой другой подход к этому вопросу?
Заранее благодарим за любую помощь.
С уважением, Тим.