Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
YAFFS文件系统是否支持每256字节页超过1位的ECC?_C_Algorithm_Flash Memory - Fatal编程技术网

YAFFS文件系统是否支持每256字节页超过1位的ECC?

YAFFS文件系统是否支持每256字节页超过1位的ECC?,c,algorithm,flash-memory,C,Algorithm,Flash Memory,来自YAFFS2源(yaffs_ecc.c): “ECC可以纠正256字节数据页中的单位错误。” 但一些闪存需要ECC代码,例如,必须每540字节纠正8位,或每528字节纠正4位,等等 YAFFS的ECC算法能否纠正1个以上的错误?请给我有关ECC算法实现的链接,它可以纠正1个以上的错误,并且工作速度最快。YAFFS是基于Nand的文件系统。文件系统是基于nand闪存的体系结构设计的 YAFFS的ECC算法能否纠正1个以上的错误 不,它不能纠正超过1位的错误 根据每个页面的nand架构,将维护一

来自YAFFS2源(yaffs_ecc.c): “ECC可以纠正256字节数据页中的单位错误。”

但一些闪存需要ECC代码,例如,必须每540字节纠正8位,或每528字节纠正4位,等等


YAFFS的ECC算法能否纠正1个以上的错误?请给我有关ECC算法实现的链接,它可以纠正1个以上的错误,并且工作速度最快。

YAFFS是基于Nand的文件系统。文件系统是基于nand闪存的体系结构设计的

YAFFS的ECC算法能否纠正1个以上的错误

不,它不能纠正超过1位的错误

根据每个页面的nand架构,将维护一个ECC,它最多可以处理1位错误。如果ECC显示超过2位的错误,则表示其不可纠正的错误,并且页面被标记为坏块

即使您尝试在yaffs中实现ECC算法,闪存也无法处理错误纠正。闪存中将保留备用区域以存储ECC位,并且存储该数据的字节数有限

为了修改文件系统,您可以查看您试图实现的闪存的数据表。大多数闪存都有内部ECC生成控制器,即硬件控制器

是否可以每540字节更正8位

为flash实现这样一个算法太复杂了

以下是一些用于闪存的ECC算法

  • 汉明算法
  • 里德-所罗门算法
  • Bose-Chaudhuri-Hocquenghem(BCH)算法
  • 使用BCH算法可以纠正更多错误 算法主要在硬件控制器中实现


    你能给你参考的源代码添加一个链接吗?你能在第一页提到你使用的是哪种闪存吗?你可以看到2种型号的Macronix闪存的ECC要求。