本发明专利技术提供存储介质中数据校验方法,包括:组织ECC数据矩阵;对数据编码,产生行校验码和列校验码;在对ECC数据矩阵进行数据操作时,使用行校验码和列校验码对数据进行校验。本发明专利技术比单独的行校验具有更强的纠错能力,能纠正更多字节的错误,可提高校验数据的位数,容许存储介质出现较多的错误位数,并能很好地纠正这些错误。本发明专利技术能更好的支持MLC和4LC类的存储介质,达到延长存储介质的寿命,提高存储介质利用率,降低系统成本的目的。
【技术实现步骤摘要】
本专利技术涉及静态存储器领域,特别涉及。
技术介绍
现有闪存介质(Flash)的生产及使用过程会产生坏位(Bit)或坏块 (Block)。为确保闪存介质存储数据的可靠性, 一般需要在应用闪存介质的 系统或芯片中检测出坏位或坏块的位置,然后把坏位或坏块中的数据纠正过 来,这一做法简称为校验(ECC, Error Checking and Correcting)。对闪存 介质中数据的校验常用比较专用和较复杂的校验技术,例如RS (Reed-Solomon)校验或BCH校验等技术,能纠正多比特的错误,而且用硬 件实现时,寻找错误的位置和纠正错误的速度很快。以NAND闪存介质为例,对每一页(page)进行校验码编码常用两种做法1、 将数据存放在页的前面部分,页后面部分的冗余区则存放校验码;2、 每一段数据后面跟着存放一段校验码, 一个页里通常有至少两组这样 排列的数据和校验码,而且大部分情况是512byte的数据+16byte的校验码的 重复模式。上述做法具有冗余区的限制,目前闪存介质的设计是每一个扇区即512个 字节后跟有16个字节的冗余。根据目前的RS ECC算法,16个字节的冗余区只 能适合在512字节里校验4个位的错误。而根据目前的BCH ECC算法,16个字节 的冗余区只能适合在512字节里校验9个位的错误。并且ECC的算法相当复杂, 想校验更多的错误位(Bit), 一般需要更多的冗余区或增加算法的复杂度, 从而增加芯片/系统的成本,也可能降低编码、检测和纠错的速度。一般情况下,如果操作时序和电路稳定性不存在问题,NAND闪存介质不 会产生整个块或页全部出错的情况,通常包含512Bytes的一个页中只有一个 或几个位(Bit)出错。
技术实现思路
本专利技术目的在于提供一种,以提高数据校验效 本专利技术提供,包括组织ECC数据矩阵;对数据 编码,产生行校验码和列校验码;在对ECC数据矩阵进行数据操作时,使用行 校验码和列校验码对数据进行校验。优选地,上述组织ECC数据矩阵是将存储介质的一个扇区分别作为一行, 多个扇区分别取一个字节组成一列,多行与多列组成ECC数据矩阵。优选地,上述ECC数据矩阵的每行分为多字节的行数据区和多字节的行校 验区,各行校验区用于存放该行的行校验码;根据各行数据区中的数据分别 编码得到各行的行校验码,行校验区的每一列分别存放行校验码的一个字节。优选地,ECC数据矩阵的每列分为多字节的列数据区和多字节的列校验 区,各列校验区用于存放该列的列校验码;根据各列数据区中的数据分别编 码得到各列的列校验码,列校验区的每一行分别存放列校验码的一个字节。优选地,上述将数据写入存储介质的过程包括对数据编码产生行校验 码和列校验码的步骤;将数据与行校验码和列校验码组成ECC数据矩阵的步 骤;将ECC数据矩阵写入存储介质的步骤。上述将数据写入所述存储介质的过程还包括判断需要写入的数据是否 够填满一个数据矩阵,若不够填满一个数据矩阵则等待下次需要写入的数据 或用随机数填充,使数据足够填满一个数据矩阵。优选地,上述从存储介质读取数据的过程包括从存储介质中读取ECC数 据矩阵的步骤;对ECC数据矩阵中的数据,进行行校验和/或列校验的步骤; 返回数据或校验结果的步骤。优选地,上述修改存储介质中的数据的过程包括从存储介质中读取ECC 数据矩阵的步骤;对ECC数据矩阵中的数据进行行校验和/或列校验的步骤; 修改数据,产生新的ECC数据矩阵的歩骤;将新的ECC数据矩阵写入存储介质 的步骤。本专利技术比单独的行校验具有更强的纠错能力,能纠正更多字节的错误, 可提高校验数据的位数,容许存储介质出现较多的错误位数,并能很好地纠 正这些错误。本专利技术能更好的支持MLC和4LC类的存储介质,达到延长存储介 质的寿命,提高存储介质利用率,降低系统成本的目的。附图说明图l是本专利技术存储介质的扇区结构示意图2是本专利技术第 -实施例的ECC数据矩阵示意图3是本专利技术第一实施例的写数据流程示意图4是本专利技术第一实施例的读数据流程示意图5是本专利技术第一实施例的修改数据流程示意图6是本专利技术第一实施例对ECC数据矩阵校验过程示意图7是本专利技术第三实施例对ECC数据矩阵校验过程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。具体实施例方式本专利技术提出第一实施例。参照图l,存储介质在逻辑上分为多个扇区,一 个扇区包括A字节的数据和B字节的冗余,其中变量A、 B为自然数,A字节通常 为512字节,B字节通常为16字节或者26字节。本实施例提出ECC数据矩阵,将存储介质中一个扇区作为一行,多个扇区 分别取一个字节组成一列,形成一个矩阵称为ECC数据矩阵。参照图2,将该 ECC数据矩阵的每行分为N字节的行数据区和M字节的行校验区,每列也分为J 字节的列数据区和K字节的列校验区。J个行数据区和N个列数据区形成的矩 阵均用于存放数据,为便于说明,将这些数据称为数据矩阵;各行校验区用 于存放该行的行校验码,按照列从小到大的顺序,行校验区的每一列分别存 放行校验码的一个字节;各列校验区用于存放该列的列校验码,按照行从小 到大的顺序,列校验区的每一行分别存放列校验码的一个字节。本实施例根据各行数据区中的数据,分别用BCH或RS算法进行编码得到 各行的行校验码,根据各列数据区中的数据,分别用BCH或RS算法进行编码 得到各列的列校验码。上述变量N、 M、 J、 K为自然数,根据存储介质条件选择合适的取值。本实施例在写入数据过程中,根据数据矩阵中的数据,编码得到各行的 行校验码和各列的列校验码,分别存入ECC数据矩阵的各行校验区和各列校验 区中。当读取或修改该数据矩阵中的数据时,分别使用各行校验码对各行数 据进行校验和/或分别使用各列校验码对各列数据进行校验。参照图3所示的写数据流程,本实施例对ECC数据矩阵写数据流程包括 步骤S100,缓冲系统要写入存储介质的数据,将数据暂存在RAM中; 歩骤S102,判断数据是否够组成一个数据矩阵,如果不够组成数据矩阵 则返回歩骤SIOO,否则将数据组成数据矩阵,进行步骤S104; 步骤S104,对数据矩阵编码产生行校验码和列校验码;步骤S106,判断是否完成编码,产生所有行的行校验码和所有列的列校 验码,如果没有完成则返回歩骤S104的编码过程,否则进行歩骤S108;步骤S108,将数据矩阵与所有行校验码和列校验码组成ECC数据矩阵,将 ECC数据矩阵写入存储介质,写数据流程结束。参照图4所示的读数据流程,本实施例从ECC数据矩阵读数据流程包括 步骤S200,从存储介质中读取ECC数据矩阵,暂存在RAM中; 步骤S202,对ECC数据矩阵中的数据进行行校验和/或列校验; 步骤S204,判断是否已完成对ECC数据矩阵中所有数据的校验,如果未完 成对所有数据的校验则返回步骤S202的校验过程,否则进行步骤S206; 步骤S206,向系统返回数据或校验结果,读数据流程结束。参照图5所示的修改数据流程,本实施例修改ECC数据矩阵的流程包括 歩骤S300,从存储介质中读取ECC数据矩阵,暂存在MM中; 歩骤S302,对ECC数据矩阵中的数据进行行校验和/或列校验; 步骤S304,判断是否已完成ECC数据矩阵中所有数本文档来自技高网...
【技术保护点】
一种存储介质中数据校验方法,包括:组织ECC数据矩阵;对数据编码,产生行校验码和列校验码;在对所述ECC数据矩阵进行数据操作时,使用所述行校验码和列校验码对数据进行校验。
【技术特征摘要】
1.一种存储介质中数据校验方法,包括组织ECC数据矩阵;对数据编码,产生行校验码和列校验码;在对所述ECC数据矩阵进行数据操作时,使用所述行校验码和列校验码对数据进行校验。2. 根据权利要求1所述的存储介质中数据校验方法,其特征在于,所述 组织ECC数据矩阵是将所述存储介质的一个扇区分别作为一行,多个扇区分 别取一个字节组成一列,多行与多列组成所述ECC数据矩阵。3. 根据权利要求2所述的存储介质中数据校验方法,其特征在于,所述 ECC数据矩阵的每行分为多字节的行数据区和多字节的行校验区,各行校验区 用于存放该行的行校验码;根据各行数据区中的数据分别编码得到各行的行 校验码,行校验区的每一列分别存放行校验码的一个字节。4. 根据权利要求2所述的存储介质中数据校验方法,其特征在于 ECC数据矩阵的每列分为多字节的列数据区和多字节的列校验区,各列校验区用于存放该列的列校验码;根据各列数据区中的数据分别编码得到各列 的列校验码,列校验区的每一行分别存放列校验码的一个字节。5. 根据权利要求1至4任意一项所述的存储介质中数据校验方法,其特征 在于,将数据写入所述存储介质的过程包括对数据编码产生行校验码和列校验码的歩骤; 将数据与行校验码和列校验码组成ECC数据矩阵的歩骤;将所述ECC数据矩阵写入存储介质的步骤。6. 根据权利要求5所述的存储介质中数据校验方法,其特征在于,将数据写入所述存储介质的过程还包括判断需要写入的数据是否够填满一个数据矩阵,若不够填满一个数据矩 阵则等待下次需要写入的数据或用随机数填充,使数据足够填满-一个数据矩 阵。7.根据权利要求1至4任意一项所述的存储介质中数...
【专利技术属性】
技术研发人员:罗挺,谭四方,成晓华,
申请(专利权)人:深圳市硅格半导体有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。