[发明专利]Flash存储介质上的数据纠错方法和装置有效

专利信息
申请号: 201310019990.9 申请日: 2013-01-18
公开(公告)号: CN103092727A 公开(公告)日: 2013-05-08
发明(设计)人: 笪禹;李侠;刘博强;贺鑫 申请(专利权)人: 大唐移动通信设备有限公司
主分类号: G06F11/14 分类号: G06F11/14;G06F11/10
代理公司: 北京同达信恒知识产权代理有限公司 11291 代理人: 孔凡红
地址: 100083*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: flash 存储 介质 数据 纠错 方法 装置
【说明书】:

技术领域

发明涉及数据存储领域,尤其涉及一种Flash存储介质上的数据纠错方法和装置。

背景技术

目前Flash芯片被广泛应用在各类嵌入式设备中,一般用途包括存储软件版本、记录运行日志等。由于Flash芯片的存储介质长期、频繁使用过程中存在一定的出错概率,出错表现为Flash芯片出现比特(bit)位翻转,因此需要针对使用需求进行必要的保护。

对于不同应用场景下的数据容错方法也有差别,下面介绍三种方案:

第一,对于存储软件版本并且有高可靠性要求的应用场景,现有方案大多直接在Flash芯片上存储两份软件,通过算法流程来判断使用哪个版本的软件,流程如图1所示。系统启动后,对版本一的软件进行有效性计算,根据计算结果判断版本一的软件是否可用,如果可用,则加载并运行版本一的软件,否则,对版本二的软件进行有效性计算,根据计算结果判断版本二的软件是否可用,如果可用,则加载并运行版本二的软件,否则,本流程结束。

其中,版本软件的有效性判断具体可以使用针对版本软件的循环冗余校验(Cyclic Redundancy Check,CRC)方法,这种方法是纯粹的应用层保护机制。

第二,对于简单的日志存储应用,由于Flash芯片的写入、读取操作非常频繁,对Flash芯片的磨损程度较高,为了应对错误,现有的Flash芯片驱动程序一般都将Flash芯片划分为若干个标准尺寸的物理单元,常见为512字节,将该物理单元称为物理扇区(sector),针对存储用户数据的物理sector计算纠错(Error Checking and Correcting,ECC)码,将ECC码保存在单独的物理sector中。用户写入数据时计算ECC码并保存到专用物理sector,用户读取数据时使用保存的ECC码对需要读取的数据进行ECC纠错,将纠错后的数据返回给用户。

写入用户数据的流程如图2A所示,在需要写入用户数据时,根据用户数据的大小分配物理sector,根据物理sector的大小计算ECC码,将用户数据写入到分配的物理sector中,并将计算出的ECC码写入到专用sector中。

读取用户数据的流程如图2B所示,在需要读取用户数据时,从物理sector中读取用户数据,并从专用sector中读取ECC码,使用读取到的ECC码对读取出的用户数据进行ECC纠错,并将纠错后的用户数据提交给用户。

第三,对于使用文件系统等复杂sector管理算法的应用场景,文件系统层面使用逻辑扇区(逻辑sector)编号,底层驱动层面使用物理扇区(物理sector)编号,为了实现良好的磨损均衡等算法,需要建立索引关系,当文件系统读取指定的逻辑sector时,底层驱动软件需要通过查表将逻辑sector所对应的物理sector地址计算出来,从而读取数据,同时需要保存每个物理sector当前对应的逻辑sector编号以及使用状态,便于系统重启后恢复出逻辑sector和物理sector的对应关系,将保存物理sector所对应逻辑sector编号、物理sector状态以及物理sector的ECC码等信息的数据称为元数据,而物理sector上需要保存的用户传入的数据称为用户数据。

从图3可以看出,每个用于存储用户数据的物理sector(1~N)都有对应的元数据(1~N),元数据用于描述存储用户数据的物理sector的当前使用情况、对应的逻辑sector编号以及物理sector的ECC码。其中元数据本身也要占用物理sector进行存储。

在系统启动过程中,通过扫描物理sector上的元数据,从而能建立物理sector和逻辑sector的对应关系,在使用过程中,逻辑sector和物理sector的关系可以随着数据存储位置的变化不断更新。

在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:

现有的方案一要求用户开发软件流程参与选择版本,对用户不透明,完全由应用层保证数据正确性,增加用户代码复杂度,并且只能判错不能纠错。

现有方案二和方案三在元数据部分本质相同,只是方案三中由于包含更多元数据信息可以支持更加灵活的sector管理机制,但是它们在数据安全方案都存在严重缺陷:首先是对于关键的元数据本身没有纠错机制,当元数据出现错误后会造成数据混乱等严重后果,其次是ECC码本身纠错能力有限,每个物理sector的大小为512字节(byte),只能纠错有限的bit数,纠错比例很低。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310019990.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top