6字节备用区,每512字节数据采用ecc算法生成3字节的ecc校验码,存入相应备用区。数据读出后采用同样的算法生成新的3字节ecc校验码,对两次ecc校验码进行异或运算,根据结果做相应处理。这样可以检测和纠错一位数据,对于多位错误也可在应用程序中处理,可有效提高数据的可靠性,同时也为无效块检测提供依据。 4.3 实现 硬件系统采用带网络功能的coldfire 5307最小系统+多片k9w8g08u0m,其硬件接口设计如图2所示。coldfire 5307的高8位数据线和a24、a25通过74avc16245分别作为k9w8g08u0m的i/o总线和ale、cle信号,we和oe经7432逻辑变换后控制k9w8g08u0m的读、写。同时coldfire的pp口用于扩展cs7的地址范围,片选k9w8g08u0m阵列。软件方面,在该平台上移植了μclinux,考虑到系统的主要任务是数据存储,因此将nand flash驱动程序直接置于μclinux内核,使其成为新系统调用,并把新系统调用源代码添加到μclinux-dist/linux/kernel/sys.c文件中,然后修改μclinux-dist/li