一种基于NANDFlash的数据读取装置和方法与流程

文档序号:11233783阅读:1487来源:国知局
一种基于NAND Flash的数据读取装置和方法与流程

本发明实施例涉及数据存储技术领域,尤其涉及一种基于nandflash的数据读取装置和方法。



背景技术:

半导体存储器包括易失性存储器和非易失性存储器。nandflash是flash内存,即闪存的一种,属于非易失性存储设备。

在现有技术中,读取nandflash中存储数据的方法如下:当发起某次读取数据命令后,从存储单元读出的数据送入错误检查和纠正(errorcorrectingcode,ecc)模块,ecc模块会对读取的数据进行判断。如果读取的数据的错误量超出既定量,ecc模块会对读取的数据进行矫正操作。如果矫正后的数据的错误量依然超出既定量,则输出此次读取数据失败的指示;如果读取的数据的错误量在既定量范围内,则将读取到的数据作为该次读取结果的结果并输出。

上述读取nandflash中存储数据的方法不可靠,经常出现读取失败的情况。



技术实现要素:

本发明实施例提供一种基于nandflash的数据读取装置和方法,以优化数据读取过程,提高数据读取的成功率。

一方面,本发明实施例提供了一种基于nandflash的数据读取装置,包括:

存储单元,用于存储数据;

错误检测和纠正单元,用于对根据读数据操作指令从所述存储单元读取的数据进行判断和矫正,并根据判断和矫正结果产生读取成功状态信号或读取失败状态信号,发送所述读取失败状态信号至智能检测单元,发送读取成功状态信号和读取的数据至第第一数据选择单元;

智能检测单元,用于根据所述读取失败状态信号发送新的读数据操作指令至所述存储单元,以再次触发数据读取操作;

第一数据选择单元,用于根据所述读取成功状态信号,输出所述错误检测和纠正单元发送的所述读取的数据。

另一方面,本发明实施例还提供了一种基于nandflash的数据读取方法,包括:

当接收到读数据操作指令时,使存储单元中的数据处于可读状态;

错误检测和纠正单元读取存储单元中的数据,对所述读取的数据进行判断和矫正,并根据判断和矫正结果产生读取成功状态信号或读取失败状态信号;

智能检测单元根据所述读取失败状态信号发送新的读数据操作指令以再次触发数据读取操作;

第一数据选择单元根据所述读取成功状态信号,输出所述读取的数据。

本发明实施例提供的技术方案,可以根据错误检测和纠正单元发出的读取失败状态信号重新发送新得读数据操作指令至存储单元,以再次触发数据读取操作。由于nandflash中的错误位多属据临界错误,在重复读数据后大多数能够正确读出数据,因此可以大大提高nandflash使用过程中的可靠性,提高数据读取的成功率,并且减小主芯片对于数据读取装置的检查次数,降低负载和功耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种基于nandflash的数据读取装置的结构示意图;

图2是本发明实施例二提供的一种基于nandflash的数据读取装置的结构示意图;

图3是本发明实施例三提供的一种基于nandflash的数据读取方法的流程示意图;

图4是本发明实施例四提供的一种基于nandflash的数据读取方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1是本发明实施例一提供的一种基于nandflash的数据读取装置的结构示意图。参见图1,图中箭头可表示传输数据或者信号的流向,该装置包括:

存储单元10,用于存储数据;

错误检测和纠正单元20,用于对根据读数据操作指令从所述存储单元10读取的数据进行判断和矫正,并根据判断和矫正结果产生读取成功状态信号或读取失败状态信号,发送所述读取失败状态信号至智能检测单元30,发送读取成功状态信号和读取的数据至第一数据选择单元40;

在读取存储单元10中存储的数据时,先向存储单元10发送读数据操作指令,数据操作指令包括需要读取的数据的,错误检测和纠正单元20即可读取到相应的数据,然后对读取的数据进行判断和矫正。其中,错误检测和纠正单元20具体可为ecc(errorcorrectingcode)模块,对读取到的数据进行检测判断和矫正的具体过程为现有技术,可参考相关技术。当错误检测和纠正单元20产生读取失败信号时,说明此次读取的数据不满足条件;当产生读取成功状态信号时,说明此次读取的数据满足相应的条件,可将读取的数据输出。

智能检测单元30,用于根据所述读取失败状态信号发送新的读数据操作指令至所述存储单元10,以再次触发数据读取操作;

当智能检测单元30接收到读取失败状态信号时,可以发送新的读数据操作指令至存储单元10,以再次触发数据读取操作,可以提高数据读取的成功率。

其中,所述智能检测单元30还用于:根据所述读取失败状态信号发送参数调整指令至所述存储单元10,以调整读取所述存储单元10时的数据偏移系数和温度偏移系数。

当智能检测单元30发送新的读数据操作指令至所述存储单元10,以再次触发数据读取操作时,可以发送参数调整指令至所述存储单元10,以调整读取所述存储单元10时的数据偏移系数和温度偏移系数,提高数据读取的成功率。

第一数据选择单元40,用于根据所述读取成功状态信号,输出所述错误检测和纠正单元20发送的所述读取的数据。

若错误检测和纠正单元20产生读取成功状态信号,说明此次数据读取成功,可以将错误检测和纠正单元20发送的读取的数据作为此次读取的数据进行输出。

本实施例提供的技术方案,可以根据错误检测和纠正单元发出的读取失败状态信号重新发送新得读数据操作指令至存储单元,以再次触发数据读取操作。由于nandflash中的错误位多属据临界错误,在重复读数据后大多数能够正确读出数据,因此可以大大提高nandflash使用过程中的可靠性,提高数据读取的成功率,并且减小主芯片对于数据读取装置的检查次数,降低负载和功耗。

实施例二

图2是本发明实施例二提供的一种基于nandflash的数据读取装置的结构示意图,本实施例是在实施例一的基础上进行了优化。

在本实施例中,所述错误检测和纠正单元20,还用于发送所述读取失败状态信号至第二数据选择单元50;

所述智能检测单元30,具体用于根据接收到的当前读取失败状态信号判断是否满足预设截止条件,若是,则产生截止控制信号,发送至第一数据选择单元40和第二数据选择单元50,若否,则根据所述读取失败状态信号发送新的读数据操作指令至所述存储单元10,以再次触发数据读取操作;

其中,所述预设截止条件为接收到的读取失败状态信号的次数达到预设次数。

在本实施例的另一种实施例方式中,也可以将预设次数设置至无穷大,即当智能检测单元30接收到当前读取失败状态信号时,发送新的读数据操作指令至所述存储单元10,以再次触发数据读取操作。

所述第二数据选择单元50,用于根据所述截止控制信号输出读取失败状态信号;

所述第一数据选择单元40,还用于根据所述截止控制信号,输出所述错误检测和纠正单元20当前发送的读取的数据。

若智能检测单元30产生截止控制信号,说明经过预设次数的读取,读取的数据仍不满足错误检测和纠正单元20的判断和矫正条件,可以将错误检测和纠正单元20最后一次输出的数据作为最终的读取数据输出,并输出读取失败状态信号。

进一步的,参见图2,所述错误检测和纠正单元20,包括:

数据错误量判断子单元201,用于判断所述读取的数据的错误量是否大于设定阈量;

在数据存储的时候,会保存有存储数据的校验数据,例如奇偶校验数据。在读取存储数据的时候,数据错误量判断子单元201根据校验数据判断读取的数据的错误量是否大于设定阈量。

数据矫正子单元202,用于若所述读取的数据的错误量大于所述设定阈量,对所述读取的数据进行矫正;

第一信号控制子单元203,用于若所述读取的数据的错误量不大于所述设定阈量,产生所述读取成功状态信号;

第二信号控制子单元204,用于若所述矫正后的数据的错误量大于所述设定阈量,产生所述读取失败状态信号;

若所述矫正后的数据的错误量不大于所述设定阈量,产生所述读取成功状态信号;

数据输出子单元205,用于输出所述读取的数据至所述第一数据选择单元40。

本实施例提供的技术方案,智能检测单元根据接收到的当前读取失败状态信号判断数据读取失败的次数是否达到预设次数,再次触发数据读取操作,并将读取失败状态信号和读取的数据输出,方便外部读取数据的程序根据输出的状态信号和数据使用输出的数据,可以提高nandflash使用过程中的可靠性,并且减小主芯片对于数据读取装置的检查次数,降低负载和功耗。

实施例三

图3是本发明实施例三提供的一种基于nandflash的数据读取方法的流程示意图。该方法适用于需要从nandflash存储介质中读取存储的数据的情况,可由配置于上述实施例一或实施例二中的数据读取装置来执行,所述装置可由软件和/或硬件实现。参见图3,本实施例提供的基于nandflash的数据读取方法具体包括:

s310、当接收到读数据操作指令时,使存储单元中的数据处于可读状态;

s320、错误检测和纠正单元读取存储单元中的数据,对所述读取的数据进行判断和矫正,并根据判断和矫正结果产生读取成功状态信号或读取失败状态信号;

s330、智能检测单元根据所述读取失败状态信号发送新的读数据操作指令以再次触发数据读取操作;

s340、第一数据选择单元根据所述读取成功状态信号,输出所述读取的数据。

进一步的,所述智能检测单元根据所述读取失败状态信号发送新的读数据操作指令以再次触发数据读取操作,包括:

根据当前读取失败状态信号判断是否满足预设截止条件,若是,则产生截止控制信号,若否,则根据所述读取失败状态信号发送新的读数据操作,以再次触发数据读取操作;

第二数据选择单元根据所述截止控制信号,输出读取失败状态信号;

第一数据选择单元根据所述截止控制信号,输出当前读取的数据。

其中,所述预设截止条件为产生的读取失败状态信号的次数达到预设次数。

进一步的,在所述智能检测单元根据所述读取失败状态信号发送新的读数据操作指令以再次触发数据读取操作之前,还包括:

智能检测单元根据所述读取失败状态信号发送参数调整指令至所述存储单元,以调整读取所述存储单元时的数据偏移系数和温度偏移系数。

进一步的,所述错误检测和纠正单元读取存储单元中的数据,对所述读取的数据进行判断和矫正,并根据判断和矫正结果产生读取成功状态信号或读取失败状态信号,包括:

判断所述读取的数据的错误量是否大于设定阈量;

若所述读取的数据的错误量大于所述设定阈量,对所述读取的数据进行矫正;

若所述读取的数据的错误量不大于所述设定阈量,产生所述读取成功状态信号;

若所述矫正后的数据的错误量大于所述设定阈量,产生所述读取失败状态信号。

本实施例提供的技术方案,可以提高nandflash使用过程中的可靠性,,可以提高读取数据的成功率。

实施例四

图4是本发明实施例四提供的一种于nandflash的数据读取方法的流程示意图。所述方法是在接收到外部读数据操作指令后顺序执行,参见图4,所述方法包括:

s410、使存储单元中的数据处于可读状态;

s420、读取存储单元中的数据;

s430、判断读取的数据的错误量是否大于设定阈量,若否,跳转至s490;

s440、对所述读取的数据进行矫正;

s450、判断矫正后的数据的错误量是否大于设定阈量,若否,跳转至s490;

s460、产生读取失败状态信号;

s470、判断产生的读取失败的状态信号的次数是否达到预设次数,若否,跳转至s410;

s480、输出读取失败状态信号;

s490、输出当前读取的数据。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1