来自ECC源(yaffs_ecc.c):“YAFFS2可以纠正256字节数据页中的单比特错误。”
但是一些闪存需要ECC码,其例如必须纠正每540字节8比特或每528字节4比特等。
YAFFS的ECC算法可以纠正一个以上的错误吗?请给我关于ECC算法实现的链接,这可以纠正一个以上的错误和工作速度最快。
发布于 2015-09-29 23:14:24
YAFFS是基于Nand的文件系统。文件系统的设计基于nand flashes的体系结构。
YAFFS的ECC算法可以纠正一个以上的错误吗?
不,它不能纠正超过1位的错误。
根据nand架构,对于每个页面,维护一个ECC,它可以处理高达1位的错误。如果ECC显示超过2位的错误,那么它的不可纠正的错误和页面被标记为坏块。
即使您尝试在yaffs中实现ECC算法,闪存也无法处理纠错。闪存中将保留备用区以存储ECC位,并且存储此数据的字节数有限。
为了修改文件系统,您可以查看您正在尝试实施的闪存的数据表。并且大部分闪存都有内置的ECC生成控制器,即硬件控制器。
每540字节能纠正8位吗?
为闪存实现这样的算法太复杂了。
以下是一些用于闪存的ECC算法
算法
算法有更多纠错的可能,该算法主要在硬件控制器
中实现
https://stackoverflow.com/questions/32845891
复制相似问题