对Flash进行数据读取的流水线控制方式和装置的制作方法

文档序号:6769267阅读:247来源:国知局
专利名称:对Flash进行数据读取的流水线控制方式和装置的制作方法
技术领域
本发明涉及到,特别涉及到一种对Flash进行数据读取的流水线控制方式和装置。
背景技术
在Flash数据读取过程中,由于信号串扰和Flash本身工艺的缺陷的影响,会产生一些数据错误,在实际应用中需要运用错误检查和纠正工具(Error Correcting Code, ECC)进行数据还原。传统的做法是,每次直接存储器访问(Direct Memory Access, DMA 传输)的同时进行ECC,目前业内普遍采用BCH算法实现ECC,该算法在读取Flash数据时的实现过程主要分成三步解码(Decode)、计算错误位置多项式(ELP)和找出错误位置 (Chien)。Decode过程是和DMA传输同时进行的,ELP和Chien过程则是在DMA传输完成之后进行。因此一旦本次DMA传输发生数据错误,就会暂停下次DMA传输,等待ELP和Chien 这两个过程将错误数据纠正完毕后,才可进行下次DMA传输,这种做法不能实现数据读取的连贯性,影响读取速度。

发明内容
本发明的主要目的为提供一种对Flash进行数据读取的流水线控制方式和装置, 通过将Flash数据读取与纠错过程分离,提高了 Flash数据读取速度。本发明提出一种对Flash进行数据读取的流水线控制方式,包括读取Flash数据,同时并行标识数据错误位置。优选地,在执行所述标识数据错误位置之后,包括根据数据错误位置对数据进行纠错。优选地,在执行所述读取Flash数据之后,包括对所述Flash数据进行解码。优选地,所述标识数据错误位置包括保存数据错误时的解码结果和当前的直接存储器访问DMA序号。优选地,所述根据数据错误位置对数据进行纠错包括读取所述解码结果和DMA序号;根据所述解码结果和DMA序号找到数据错误位置,并进行纠错。本发明还提出一种对Flash进行数据读取的流水线控制装置,包括读取模块,用于读取Flash数据,同时并行标识数据错误位置。优选地,所述对Flash进行数据读取的流水线控制装置还包括纠错模块,用于根据数据错误位置对数据进行纠错。优选地,所述读取模块具体用于对所述Flash数据进行解码。优选地,所述读取模块具体用于
保存数据错误时的解码结果和当前的直接存储器访问DMA序号。优选地,所述纠错模块包括读取单元,用于读取所述解码结果和DMA序号;定位单元,用于根据所述解码结果和DMA序号找到数据错误位置,并进行纠错。本发明提出的一种对Flash进行数据读取的流水线控制方式和装置,通过将 Flash数据读取与纠错过程分离,实现不间断Flash数据读取的同时进行纠错,提高了 Flash数据读取速度。


图1为本发明一种对Flash进行数据读取的流水线控制方式一实施例的流程示意图;图2为本发明一种对Flash进行数据读取的流水线控制方式一实施例中读取过程的流程示意图;图3为本发明一种对Flash进行数据读取的流水线控制方式又一实施例的流程示意图;图4为本发明一种对Flash进行数据读取的流水线控制方式又一实施例中纠错的流程示意图;图5为本发明一种对Flash进行数据读取的流水线控制装置一实施例的结构示意图;图6为本发明一种对Flash进行数据读取的流水线控制装置又一实施例的结构示意图;图7为本发明一种对Flash进行数据读取的流水线控制装置又一实施例中纠错模块的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式本发明提出的一种对Flash进行数据读取的流水线控制方式和装置,通过将 Flash数据读取与纠错过程分离,实现不间断Flash数据读取的同时进行纠错。参照图1,本发明一种对Flash进行数据读取的流水线控制方式一实施例,包括步骤S101,读取Flash数据,同时并行标识数据错误位置。本发明中读取Flash数据和标识数据错误位置相分离,即Flash数据读取不必考虑数据是否有错,直接把数据从Flash读取出来,并存储到Memory。由于Flash数据读取和标识数据错误位置是分离的,所以这一过程不会被打断,Flash IO总线上的数据是连续的。以DMA传输为例,标识数据错误位置的方式可以如下DMA传输的同时进行ECC的解码。本次DMA传输完毕之后,若发生数据错误则自动保存发生数据错误时的解码结果,并记录当前DMA序号。需要注意的是,标识数据错误位置的方式不仅仅限于上述方法,本领域技术人员可以考虑到的其它方法也适用于本发明。本发明提出的一种对Flash进行数据读取的流水线控制方式,通过将Flash数据读取与纠错过程分离,实现不间断Flash数据读取的同时进行纠错,提高了 Flash数据读取速度。参照图2,本发明一种对Flash进行数据读取的流水线控制方式一实施例中,步骤 SlOl可包括步骤S1011,对Flash数据进行解码。步骤S1012,保存数据错误时的解码结果和当前的直接存储器访问DMA序号。仍以DMA传输为例,当本次DMA传输发生数据错误时,自动保存发生数据错误时的解码结果,该解码结果为整个解码过程中的一中间结果,并将对应于当前DMA序号的一个标志寄存器置“1”以做标记。参照图3,提出本发明一种对Flash进行数据读取的流水线控制方式又一实施例, 在执行步骤SlOl之后,包括步骤S102,根据数据错误位置对数据进行纠错。参照图4,步骤S102可包括步骤S1021,读取解码结果和DMA序号;步骤S1022,根据解码结果和DMA序号找到数据错误位置,并进行纠错。ECC纠错从读取DMA序号的标志寄存器和对应的解码结果开始,顺序启动ELP和 Chien过程,找到数据错误位置并纠错。然后读取下一次发生数据错误的DMA的解码结果, 再次顺序启动ELP和Chien过程,找到数据错误位置并纠错。以上ECC纠错并不中断DMA传输,ECC纠错和DMA传输在时间轴上是有重叠区间的,实现了 DMA和ECC的流水线控制,DMA传输和ECC纠错相分离,使得二者在时间轴上有重叠的区间,提高了对时间利用效率,提升了 Flash读取操作的速度。本实施例在上一实施例基础上,提出了数据纠错方法,在上一实施例基础上,实现了 Flash数据读取与数据纠错的并行处理。参照图5,提出本发明一种对Flash进行数据读取的流水线控制装置一实施例,包括读取模块10,用于读取Flash数据,同时并行标识数据错误位置。本发明中Flash数据读取和标识数据错误位置相分离,即Flash数据读取不必考虑数据是否有错,读取模块10直接把数据从Flash读取出来,并存储到Memory。由于Flash 数据读取和标识数据错误位置是分离的,所以这一过程不会被打断,Flash IO总线上的数据是连续的。以DMA传输为例,读取模块10标识数据错误位置的方式可以如下DMA传输的同时进行ECC的解码。本次DMA传输完毕之后,若发生数据错误则自动保存发生数据错误时的解码结果,并记录当前DMA序号。需要注意的是,读取模块10标识数据错误位置的方式不仅仅限于上述方法,本领域技术人员可以考虑到的其它方法也适用于本发明。本发明提出的一种对Flash进行数据读取的流水线控制装置,通过将Flash数据读取与纠错过程分离,实现不间断Flash数据读取的同时进行纠错,提高了 Flash数据读取速度。本发明一种对Flash进行数据读取的流水线控制装置一实施例中,读取模块10可用于 对Flash数据进行解码;保存数据错误时的解码结果和当前的直接存储器访问DMA序号。仍以DMA传输为例,当本次DMA传输发生数据错误时,读取模块10自动保存发生数据错误时的解码结果,该解码结果为整个解码过程中的一中间结果,并将对应于当前DMA 序号的一个标志寄存器置“1”以做标记。参照图6,提出本发明一种对Flash进行数据读取的流水线控制装置又一实施例, 在对Flash进行数据读取的流水线控制装置一实施例中,还包括纠错模块20,用于根据数据错误位置对数据进行纠错。参照图7,纠错模块20可包括读取单元21,用于读取解码结果和DMA序号;定位单元22,用于根据解码结果和DMA序号找到数据错误位置,并进行纠错。纠错模块20的读取单元21读取DMA序号的标志寄存器和对应的解码结果开始, 定位单元22顺序启动ELP和Chien过程,找到数据错误位置并纠错。然后读取单元21读取下一次发生数据错误的DMA的解码结果,定位单元22再次顺序启动ELP和Chien过程, 找到数据错误位置并纠错。以上ECC纠错并不中断DMA传输,ECC纠错和DMA传输在时间轴上是有重叠区间的,实现了 DMA和ECC的流水线控制,DMA传输和ECC纠错相分离,使得二者在时间轴上有重叠的区间,提高了对时间利用效率,提升了 Flash读取操作的速度。本实施例在上一实施例基础上,提出了数据纠错方法,在上一实施例基础上,实现了 Flash数据读取与数据纠错的并行处理。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种对Flash进行数据读取的流水线控制方式,其特征在于,包括 读取Flash数据,同时并行标识数据错误位置。
2.如权利要求1所述的对Flash进行数据读取的流水线控制方式,其特征在于,在执行所述标识数据错误位置之后,包括根据数据错误位置对数据进行纠错。
3.如权利要求2所述的对Flash进行数据读取的流水线控制方式,其特征在于,所述读取Flash数据包括对所述Flash数据进行解码。
4.如权利要求3所述的对Flash进行数据读取的流水线控制方式,其特征在于,所述标识数据错误位置包括保存数据错误时的解码结果和当前的直接存储器访问DMA序号。
5.如权利要求4所述的对Flash进行数据读取的流水线控制方式,其特征在于,所述根据数据错误位置对数据进行纠错包括读取所述解码结果和DMA序号;根据所述解码结果和DMA序号找到数据错误位置,并进行纠错。
6.一种对Flash进行数据读取的流水线控制装置,其特征在于,包括 读取模块,用于读取Flash数据,同时并行标识数据错误位置。
7.如权利要求6所述的对Flash进行数据读取的流水线控制装置,其特征在于,还包括纠错模块,用于根据数据错误位置对数据进行纠错。
8.如权利要求7所述的对Flash进行数据读取的流水线控制装置,其特征在于,所述读取模块具体用于对所述Flash数据进行解码。
9.如权利要求8所述的对Flash进行数据读取的流水线控制装置,其特征在于,所述读取模块具体用于保存数据错误时的解码结果和当前的直接存储器访问DMA序号。
10.如权利要求9所述的对Flash进行数据读取的流水线控制装置,其特征在于,所述纠错模块包括读取单元,用于读取所述解码结果和DMA序号;定位单元,用于根据所述解码结果和DMA序号找到数据错误位置,并进行纠错。
全文摘要
本发明揭示了一种对Flash进行数据读取的流水线控制方式,包括读取Flash数据;当发生数据错误时,标识数据错误位置。本发明还提出了相应的装置。本发明提出的一种对Flash进行数据读取的流水线控制方式和装置,通过将Flash数据读取与纠错过程分离,实现不间断Flash数据读取的同时进行纠错,提高了Flash数据读取速度。
文档编号G11C29/44GK102568591SQ201010589759
公开日2012年7月11日 申请日期2010年12月15日 优先权日2010年12月15日
发明者许智鑫 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1