硬件ecc和软件ecc

        从各种资料上看,不管是硬件ECC还是软件ECC,他们都或者是通过flash controler上的ecc模块或程序中的软件ecc模块来对每一页中data area中的数据进行ecc校验,校验值都来自于或存放到spare area中去。

不管是硬件还是软件,ecc的校验都是伴随着pgae read或page wirte来的,也就是在读写一页的过程中必须要实现的一个动作。在读写一页时,对于ecc的能力我们一般可以这样描述:该ecc模块一次可以校验aaa个字节,一个大小为bbb字节的页,则一共需要校验ccc=bbb/aaa次,每次产生的ecc校验字节数为ddd,则每页校验后在spare area区的第xxx字节位置开始,共存放ccc*ddd个字节的ecc校验值。

现在列一下我所看到的soc上nandflash控制器中所支持的硬件ecc特性:

1、hisi3518a:

 (1)支持ecc校验使能和关闭,支持ecc纠错使能和关闭;

 (2)支持1bit/512bytes,4bit/512bytes,24bit/1024bytes的校验能力;

(3)支持ecc校验错误完成等中断上报;

 

举例:1bit/512bytes

 

上面比如所说的预留区,我想应该是文件系统比如jffs2,ubifs等在文件系统管理上所要用到的地方。

2、dm365:

 

 

再列一下我所看到的软件ecc所支持的特性:

1、uboot-2010.6:

 

2、

 

 

 

 

 

 

 

 

 

==============================

(底下部分为转载)

在上一篇关于“支持NandFlash读写”的文章中,我们很好地完成了u-boot对NandFlash的读写,但这个读写进行的是软件ECC,即用软件编程的方法实现ECC。我们知道S3C2440的NandFlash控制器是支持硬件ECC的,因此在这里我们就来讲解如何实现硬件ECC。

 

NandFlash的每一页分为main区和spare区,S3C2440的NandFlash控制器支持这两个区的硬件ECC,但为了兼容u-boot-2011.06,我们只实现main区的硬件ECC。

 

为了实现硬件ECC,首先需要在include/configs/zhaocj2440.h文件内定义宏CONFIG_S3C2440_NAND_HWECC,这样在drivers/mtd/nand/s3c2440_nand.c文件内就定义了硬件ECC所需要的三个函数:s3c2440_nand_enable_hwecc函数、s3c2440_nand_calculate_ecc函数和s3c2440_nand_correct_data函数,而且在board_nand_init函数内,又把这三个函数分别赋给了相对应的结构体的三个成员,这样在进行NandFlash读写时,就会调用这三个函数,从而实现了硬件ECC。s3c2440_nand_enable_hwecc函数负责使能硬件ECC,s3c2440_nand_calculate_ecc函数负责计算ECC(当然这种计算是由硬件来完成的),s3c2440_nand_correct_data函数负责进行ECC的校验(同样地,这种校验也是由硬件自动完成的)。

 

为了理解u-boot是如何进行硬件ECC的,我们先来简要地分析一下相关的函数。NandFlash是以页为最小单位进行读写操作的,支持硬件ECC的读操作最终是由nand_read_page_hwecc函数(在drivers/mtd/nand目录下)来完成的,支持硬件ECC的写操作最终是由nand_write_page_hwecc函数(在drivers/mtd/nand目录下)来完成的。nand_read_page_hwecc函数的流程为先读取main区数据&

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hana和ECC是SAP公司的两种主要软件产品。 首先,Hana是一种内存数据库平台,被广泛应用于企业级的数据处理和分析。它的关键特点是快速和大规模的数据处理能力,具有高速度、高可用性和高效率的特点。Hana利用内存技术来存储和处理数据,大大加快了数据处理速度。此外,Hana还具有实时分析、数据压缩和数据复制等功能,可帮助企业实现更智能、更高效的数据管理和分析。 而ECC(全称为Enterprise Central Component)是SAP的一个集成企业资源计划(ERP)框架,包括多个模块,例如财务会计、采购管理、销售管理和物料管理等。ECC提供了一个全面的解决方案,帮助企业管理其日常运营。它适用于中小型到大型企业,能够整合、自动化并优化企业内部的各种业务流程。 从功能上来说,Hana和ECC有一些不同之处。Hana主要关注数据处理和分析,提供了强大的实时分析功能,可在毫秒级别对大规模数据进行查询和统计。相比之下,ECC更加关注整个企业的业务流程管理,提供了许多功能模块,以帮助企业有效地组织和管理其各部门的工作。 此外,Hana和ECC还有一些技术上的差异。Hana利用内存技术来存储和处理数据,而ECC则基于传统的硬盘储存。这导致Hana的数据处理速度更快,但成本也更高。此外,Hana通常需要在新硬件上运行,而ECC可以在传统的服务器上运行。 总之,Hana和ECC是SAP公司的两种不同产品,具有不同的功能和技术特点。Hana主要关注数据处理和分析,而ECC则提供了全面的企业资源管理解决方案。选择哪种产品取决于企业的需求和预算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值