ECC纠错算法在存储式测井仪器中的应用_第1页
ECC纠错算法在存储式测井仪器中的应用_第2页
ECC纠错算法在存储式测井仪器中的应用_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ECC 纠错算法在存储式测井仪器中的应用摘 要:存储式测井仪器在工作过程中把测井数据存 储到本地,测井完毕后把数据读出到 PC 机进行处理。仪器 采用 NAND_Flash 作为存储介质,使用 ECC?m 错算法对存 储到 NAND_Flash 中的数据进行校验和纠错是非常重要的工 作,文章使用 STM32 实现了 ECC 纠错算法。关键词:存储式; NAND_Flash ECC 纠错算法; STM32 引言目前世界上主流的非易失闪存技术分为 NAND 和 NOR , NAND 结构以其极高的存储密度,极快的写入和擦除速度, 占领了中大容量存储器的市场,我公司存储式测井仪器的存 储体便采用 K

2、9F2G08U0C 作为存储介质,典型的 NAND_Flash 。ECC 全称 Error Checking and Correction ,是常用的对 NAND_Flash 进行校验和纠错的算法,其只能纠正 1bit 的错 误,检测出 2bit 以内的错误,对 2bit 以上的错误不能保证检 测。由于 NAND_Flash 的出错模式一般不会整个 Block 或者 Page 全部失效,而是某一个 bit 发生错误, 故 ECC 纠错算法 对 NAND_Flash 的纠错效果非常理想。1 算法详细介绍ECC 校验每次对 256字节的数据进行操作, 形成一个 256行、8列的矩阵,矩阵每个元素代

3、表一个bit。ECC算法的校验包括列校验和行校验,对每个待校验的 bit 位求异或,很 显然,如果结果为 0,则表示有偶数个 1,如果结果为 1,则 表示有奇数个 1。列校验矩阵示意图如图 1 所示2 实际应用K9F2G08U0C的每个Page页包含512字节的数据区和 16字节的 OOB 区,每次往 K9F1208 写入 256字节的数据, 同时生成一个 ECC 校验码存储到 OOB 区;读数据的时候, 将从 OOB 区中读出的原 ECC 校验和新 ECC 校验和按位异 或,若结果为 0,则表示不存在错 (或是出现了 ECC 无法检 测的错误);若 3 个字节异或结果中存在 11 个比特位为

4、 1, 表示存在一个比特错误,且可纠正,根据相应的规则即可定 位到特定的 Bit 发生了反转,修正过来即可;若 3 个字节异 或结果中只存在 1 个比特位为 1 ,表示 OOB 区出错;其他 情况均表示出现了无法纠正的错误。如果使用软件进行 ECC 编码和解码,根据上述 ECC 计 算规则, 进行一次列计算最少需要 1 024个指令周期, 256 字 节共需要 1024*22=22528 个指令周期,严重影响 MCU 工作 效率。使用 STM32F407 自带硬件 ECC 模块,可以自动计算 出 ECC 校验码,提高系统的工作效率。用 STM32F407 的FSMC 接口连接 K9F2G08U

5、0C ,对 FSMC 进行适当的配置之 后,即可在读写 NAND_Flash 的时候读到 ECC 校验数据, 无需手动计算。3 结束语采用 ECC 纠错算法纠正 NAND_Flash 中的位翻转错误, 有效的保证了数据的正确性和完整性,从而保证了存储式测 井仪器的测井成功率。在实际使用中,充分利用 MCU 的硬 件模块,极大的提高系统工作效率。 ECC 纠错算法也可以应 用在其他任何需要高可靠性存储的系统中。参考文献1 杨孝光.ECC校验的算法分析和程序实现M.成都:电 子科技大学出版社, 2004: 13-16.2 李晴.高速大容量 NAND FLASH 存储系统的设计与 实现D.北京理工大学,2015.3 陈国,高杨 .NAND Flash 在大容量存储技术中的应用J.航空计算技术,2009( 2): 113-116.作者简介:祝清法( 1 988-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论