掌桥专利:专业的专利平台
掌桥专利
首页

存储装置及其数据保护处理性能优化方法

文献发布时间:2023-06-19 19:20:08


存储装置及其数据保护处理性能优化方法

技术领域

本发明涉及数据存储技术领域,特别是涉及一种存储装置及其数据保护处理性能优化方法。

背景技术

存储器在进行数据读取过程中可能产生纠错码(Error checking code,ECC)。此时,通常需要利用厂家提供的试错表(retry table)对ECC进行纠正。由于存储器在执行数据纠正时采用逐条查询retry table的方式,在执行试错的次数越多时,存储器对写命令的延迟时间越长,导致存储器的数据处理速度就会变得异常缓慢。

发明内容

鉴于上述状况,本发明提供一种存储装置及其数据保护处理性能优化方法,旨在解决现有技术中在对错误数据进行纠错时存储器的数据处理速度缓慢的问题。

本发明提供了一种存储装置,包括存储器及控制器;所述控制器可基于外部装置的请求来读取所述存储器内存储的数据,所述控制器用于检测并校正所述控制器从所述存储器中读取的错误数据;所述控制器包括:

第一检测模块,用于对从所述存储器内读取的错误数据进行数据纠错并判断所述数据纠错是否失败;

第二检测模块,用于在所述数据纠错失败时判断优选检测表中是否存在有效索引;在所述优选检测表中不存在有效索引时判断常规检测表中是否存在所述有效索引;其中,所述优选检测表内的检测参数少于所述常规检测表内的检测参数;在所述优选检测表内存储的所述检测参数为在预定期间内多次被索引的所述检测参数,且按照索引时间顺序进行排列;以及

命令生成模块,用于在所述优选检测表或所述常规检测表中存在所述有效索引时根据所述有效索引生成设置特征命令,控制重试次数增加一次,并根据所述有效索引通过所述纠错码电路对所述存储器内的错误数据进行有效配置;

其中,在所述优选检测表和所述常规检测表中均不存在有效索引时,所述第二检测模块识别所述错误数据为不可纠正的纠错码。

本发明还提出了一种存储装置的数据保护处理性能优化方法,所述存储装置包括存储器及控制器;所述控制器可基于外部装置的请求读取所述存储器内存储的数据;所述控制器用于检测并校正所述控制器从所述存储器中读取的错误数据;所述控制器包括第一检测模块、第二检测模块、命令生成模块以及纠错码电路;所述数据保护处理性能优化方法包括:

所述第一检测模块对从所述存储器中读取的错误数据进行数据纠错;

所述第一检测模块判断所述数据纠错是否失败;

在所述数据纠错失败时,所述第二检测模块判断在优选检测表内判断是否存在有效索引;

在所述优选检测表内不存在有效索引时,所述第二检测模块判断常规检测表内是否存在所述有效索引;其中,所述优选检测表内的检测参数少于所述常规检测表内的检测参数;在所述优选检测表内存储的所述检测参数为在预定期间内多次被索引的所述检测参数,且按照索引时间顺序进行排列;

在所述优选检测表内存在有效索引或所述常规检测表内存在有效索引时,所述命令生成模块根据所述有效索引生成设置特征命令;

所述命令生成模块控制重试次数增加一次,并根据所述有效索引通过所述纠错码电路对所述存储器内的数据进行有效配置;

在所述优选检测表和所述常规检测表中均不存在所述有效索引时,所述第二检测模块识别所述错误数据为不可纠正的纠错码。

上述存储装置及其数据保护处理性能优化方法,设置优选检测表,在对从所述存储器内读取的数据进行数据纠错时优先在所述优选检测表内判断是否存在有效索引,可减少所述控制器的纠错时间,另外,在所述优选检测表内不存在有效索引时在所述常规检测表内检测是否存在有效索引,可保证所述控制器在纠错过程中试错参数的全面性。

附图说明

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

图1为本发明较佳实施方式的存储装置的模块示意图。

图2为图1中所述控制器的模块示意图。

图3为本发明较佳实施方式的数据保护处理性能优化方法的流程图。

主要元件符号说明

存储装置                        1

存储器                          10

控制器                          30

通信总线                        50

第一检测模块                    31

第二检测模块                    32

命令生成模块                    33

ECC电路                         34

第三检测模块                    35

调整模块                        36

步骤                            S10-S19

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都属于本发明保护的范围。

需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中设置的元件。当一个元件被认为是“设置在”另一个元件,它可以是直接设置在另一个元件上或者可能同时存在居中设置的元件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面将结合附图对本发明的存储装置及其数据保护处理性能优化方法的具体实施方式进行说明。

请参阅图1,其为存储装置1的模块示意图。所述存储装置1包括存储器10、控制器30以及通信总线50。

所述存储器10用于存储数据。所述存储器10为非易失性存储器,例如,内嵌式存储器(Embedded Multimedia Cards,EMMC)、存储卡(Storing card,SD)、U盘(U disk)、只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)以及闪存中的至少一种,但并不局限于此。

所述控制器30可基于外部装置(例如,主机、CPU或AP)的请求来控制所述存储器10。例如,所述控制器30可基于外部装置的请求,发送数据到所述存储器10进行存储,或读取所述存储器10内存储的数据。所述控制器30可基于外部装置的请求,与所述存储器10交换数据DATA。在本发明的至少一个实施方式中,所述控制器30与所述存储器10均可使用一个芯片、一个包或一个模块来实现。所述控制器30进一步地用于检测并校正所述控制器30从所述存储器10中读取的错误数据。

所述通信总线50用于建立所述存储器10及所述控制器30之间的数据通信。

请一并参阅图2,其为所述控制器30的模块示意图。所述控制器30包括第一检测模块31、第二检测模块32、命令生成模块33、纠错码(Error correction code,ECC)电路34、第三检测模块35以及调整模块36。

所述第一检测模块31,用于对从所述存储器10内读取的错误数据进行数据纠错并判断所述数据纠错是否失败。

所述第二检测模块32包括优选检测表以及常规检测表。所述优选检测表和所述常规检测表分别包括多个索引区,每个索引区对应至少一个检测参数。每个所述检测参数与数据地址存在映射关系。其中,所述优选检测表内的检测参数少于所述常规检测表内的检测参数。在本发明的至少一个实施方式中,所述常规检测表包括所述优选检测表以及未包含在所述优选检测表内的多个检测参数。在其他实施方式中,所述常规检测表可排除所述优选检测表内的所述检测参数,以优化所述第二检测模块32在所述常规检测表内判断所述有效索引的检测时间。在所述优选检测表内存储的所述检测参数为在预定期间内多次被索引的所述检测参数,且按照索引时间顺序进行排列。其中,所述有效索引为所述检测参数对应的数据地址与所述错误数据对应的数据地址一致。

所述第二检测模块32,用于在所述数据纠错失败时判断优选判断表中是否存在有效索引。

在本发明的至少一个实施方式中,所述第二检测模块32通过指针依次获取所述索引区内的所述检测参数,且在完成判断后控制所述指针偏移至下一个所述检测参数。

所述第二检测模块32进一步地在所述优选检测表中不存在所述有效索引时判断所述常规检测表中是否存在所述有效索引。

所述命令生成模块33,用于在所述优选检测表或所述常规检测表中存在有效索引时根据所述有效索引生成设置特征命令,控制重试次数增加一次,并根据所述有效索引通过所述ECC电路34对所述存储器10内的错误数据进行有效配置。

在本发明的至少一个实施方式中,所述重试次数的初始值为0。

所述第三检测模块35,用于在所述数据纠错成功时判断所述重试次数是否大于零。

所述调整模块36,用于在所述重试次数大于零时根据所述设置特征命令更新所述优选检测表。

在本发明的至少一个实施方式中,所述调整模块36将当前所述有效索引调整至所述优选检测表内的指定位置。在本发明的至少一个实施方式中,所述指定位置可以为所述优选检测表的表头位置。在本发明的至少一个实施方式中,所述指定位置还可以为所述优选检测表的表中或表尾位置。

所述调整模块36进一步地将所述重试次数清零。

在所述优选检测表和所述常规检测表中均不存在所述有效索引时,所述第二检测模块32识别所述数据错误为不可纠正的纠错码(Uncorrectable error correcting code,UECC)。

上述所述存储装置1,设置优选检测表,在从所述存储器10内读取数据为纠错码时优先在所述优选检测表内判断是否存在有效索引,可减少所述控制器30的纠错时间,另外,在所述优选检测表内不存在有效索引时在所述常规检测表内检测是否存在有效索引,可保证所述控制器30在纠错过程中试错参数的全面性。

请一并参阅图3,其为存储装置1的数据保护处理性能优化方法的流程图。本发明的至少一个实施例中,所述存储装置1可以包括图1或图2更多或更少的其他硬件或者软件,或者不同的部件设置方式。所述数据保护处理性能优化方法包括如下步骤:

S10、所述第一检测模块31对从所述存储器10内读取的错误数据进行数据纠错。

在本发明的至少一个实施方式中,在所述读取数据为纠错码(Error correctioncode,ECC)时,所述第一检测模块31识别所述读取数据存在错误。

S11、所述第一检测模块31判断所述数据纠错是否失败。

S12、在所述数据纠错失败时,所述第二检测模块32判断在优选检测表内是否存在有效索引。

所述优选检测表包括多个索引区,每个索引区对应至少一个检测参数。每个所述检测参数与数据地址存在映射关系。所述优选检测表内存储的所述检测参数为在预定期间内多次被索引的检测参数,且按照索引时间顺序进行排列。其中,所述有效索引为所述检测参数对应的数据地址与所述错误数据对应的数据地址一致。

在本发明的至少一个实施方式中,所述第二检测模块32通过指针依次获取所述索引区内的所述检测参数,且在完成判断后控制所述指针偏移至下一个所述检测参数。

S13、在所述优选检测表内不存在有效索引时,所述第二检测模块32判断所述常规检测表内是否存在所述有效索引。

在本发明的至少一个实施方式中,所述常规检测表包括所述优选检测表以及未包含在所述优选检测表内的多个检测参数。在其他实施方式中,所述常规检测表可排除所述优选检测表内的所述检测参数,以优化所述第二检测模块32在常规检测表内判断是否存在有效索引的检测时间。

S14、在所述优选检测表内存在有效索引或所述常规检测表内存在有效索引时,所述命令生成模块33根据所述有效索引生成设置特征命令。

S15、所述命令生成模块33控制重试次数增加一次,并根据所述有效索引通过所述ECC电路对所述存储器10内的错误数据进行有效配置,并返回步骤S10。

S16、在所述数据纠错成功时,所述第三检测模块35判断所述重试次数是否大于零。

S17、在所述重试次数大于零时,所述调整模块36根据所述设置特征命令更新所述优选检测表。

在本发明的至少一个实施方式中,所述调整模块36将当前所述有效索引调整至所述优选检测表内的指定位置。在本发明的至少一个实施方式中,所述指定位置可以为所述优选检测表的表头位置。在本发明的至少一个实施方式中,所述指定位置还可以为所述优选检测表的表中或表尾位置。

S18、所述调整模块36将所述重试次数清零。

在所述重试次数等于零时,则流程结束。

S19、在所述优选检测表和所述常规检测表中均不存在有效索引时,则所述第二检测模块32识别所述错误数据为不可纠正的纠错码(Uncorrectable error correctingcode,UECC)。

上述所述存储装置1的数据保护处理性能优化方法,设置优选检测表,在对从所述存储器10内读取的数据进行数据纠错时优先在所述优选检测表内判断是否存在有效索引,可减少所述控制器30的纠错时间,另外,在所述优选检测表内不存在有效索引时在所述常规检测表内检测是否存在有效索引,可保证所述控制器30在纠错过程中试错参数的全面性。

以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。

相关技术
  • 数据保护/恢复方法和装置以及数据存储/保护方法
  • 服务器数据保护方法、装置及计算机可读存储介质
  • 一种RAID卡性能优化方法、装置、终端及存储介质
  • 信息处理装置、信息处理装置中的方法和存储介质
  • 信息处理装置、信息处理装置的控制方法和存储介质
  • 业务处理性能优化方法、装置、电子设备及存储介质
  • 批处理性能优化方法、装置、计算机设备及存储介质
技术分类

06120115869956