一种调整nand flash频率的方法及装置

文档序号:649759 发布日期:2021-05-14 浏览:20次 >En<

阅读说明:本技术 一种调整nand flash频率的方法及装置 (Method and device for adjusting NAND FLASH frequency ) 是由 申红磊 李骊 于 2021-02-01 设计创作,主要内容包括:本申请提供了一种调整NAND FLASH频率的方法及装置,当环境变化时,会引起NAND控制器的配置信息与最佳读写频率不匹配,进而导致的存储操作错误,该方法为了解决这一问题,动态调整NAND FLASH的读写频率,同时调整NAND控制器的配置信息,使配置信息与NAND FLASH的读写频率相匹配,降低环境或器件本身变化对读写频率的影响,保证NAND控制器控制的准确性,进而保证NAND FLASH存储操作的成功率。并且,将配置后的NAND控制器的配置信息写入到NAND FLASH,使启动时可以从NAND FLASH获取配置信息,保证NAND控制器配置的速度,节省启动时间,提高整体效率。(The application provides a method and a device for adjusting NAND FLASH frequency, when environment changes, configuration information of a NAND controller can be caused to be not matched with the optimal read-write frequency, and further storage operation errors are caused, in order to solve the problem, the method dynamically adjusts NAND FLASH read-write frequency, and simultaneously adjusts configuration information of the NAND controller, so that the configuration information is matched with NAND FLASH read-write frequency, the influence of environment or device change on the read-write frequency is reduced, the accuracy of NAND controller control is ensured, and further the success rate of NAND FLASH storage operation is ensured. And the configuration information of the configured NAND controller is written into NAND FLASH, so that the configuration information can be acquired from NAND FLASH during starting, the configuration speed of the NAND controller is ensured, the starting time is saved, and the overall efficiency is improved.)

一种调整NAND FLASH频率的方法及装置

技术领域

本申请涉及存储器技术领域,特别涉及一种调整NAND FLASH频率的方法。

背景技术

NAND型快闪存储器(NAND FLASH)是一种可在线进行电擦写的非易失半导体存储器,具有擦写速度快、低功耗、大容量、低成本等优点,被广泛应用于MP3、MP4、手机、数码照相机、摄像机等电子产品中。

其中,一般会针对NAND FLASH设置固定的读写频率,如,较高的读写频率,但是,当环境或者NAND FLASH本身变化导致读写频率降低时,将会导致读写出错。

发明内容

为解决上述技术问题,本申请实施例提供一种调整NAND FLASH频率的方法及装置,以达到在保证NAND FLASH存储操作的正确性,并且,保证NAND控制器配置的速度,节省启动时间,提高整体效率的目的,技术方案如下:

一种调整NAND FLASH频率的方法,包括:

从NAND FLASH内获取预先放置的NAND控制器的配置信息;

若获取到的NAND控制器的配置信息正确,则按照所述配置信息对所述NAND控制器进行配置,并利用配置后的NAND控制器控制NAND FLASH进行存储操作;

若所述NAND FLASH进行存储操作成功,则将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH;

执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程,所述调整过程为调整所述NANDFLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功;

若是,则执行所述调整过程;

若所述NAND FLASH进行存储操作失败,则执行所述调整过程。

可选的,所述从NAND FLASH内获取预先放置的NAND控制器的配置信息,包括:

从NAND FLASH的特定分区内获取预先放置的NAND控制器的配置信息。

可选的,所述方法还包括:

若获取到的NAND控制器的配置信息错误,则执行所述调整过程。

可选的,所述调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功,包括:

在可用读写频率范围内,选择位于中点的读写频率,作为目标读写频率;

将所述配置信息进行调整为与所述目标读写频率相匹配的配置信息,作为目标配置信息,利用所述目标配置信息对所述NAND控制器配置,并利用配置后的NAND控制器控制所述NAND FLASH进行存储操作;

在存储操作成功时,判断所述目标读写频率是否在区间长度为设定区间长度的读写频率范围内;

若否,按照第一处理方式,对所述可用读写频率范围进行调整,得到第一读写频率范围,并将所述可用读写频率范围替换为所述第一读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤;

若是,则结束调整;

在存储操作错误时,按照第二处理方式,对所述可用读写频率范围进行调整,得到第二读写频率范围,将所述可用读写频率范围替换为所述第二读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤。

可选的,所述按照所述配置信息对所述NAND控制器进行配置,包括:

从所述NAND FLASH中获取所述NAND控制器的配置信息对应的ECC校验码,作为基准ECC校验码;

生成获取到的所述NAND控制器的配置信息的ECC校验码,作为目标ECC校验码;

比较所述基准ECC校验码与所述目标ECC校验码是否一致;

若一致,则按照所述配置信息对所述NAND控制器进行配置。

可选的,所述执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程,包括:

执行监控程序,获取上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,及当前RTC时间;

判断所述上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,与所述当前RTC时间的差值是否超过设定时间阈值;

若是,则执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤。

一种调整NAND FLASH频率的装置,包括:

获取模块,用于从NAND FLASH内获取预先放置的NAND控制器的配置信息;

配置模块,用于若获取到的NAND控制器的配置信息正确,则按照所述配置信息对所述NAND控制器进行配置;

控制模块,用于利用配置后的NAND控制器控制NAND FLASH进行存储操作;

确定模块,用于若所述NAND FLASH存储操作成功,则将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH;

监控模块,用于执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功;

调整模块,用于若所述NAND FLASH存储操作失败的频率高于设定频率阈值,和/或,在设定时长内未执行过所述调整过程,则执行所述调整过程,或,若所述NAND FLASH进行存储操作失败,则执行所述调整过程。

可选的,所述获取模块,具体用于:

从NAND FLASH的特定分区内获取预先放置的NAND控制器的配置信息。

可选的,所述调整模块,还用于:

若获取到的NAND控制器的配置信息错误,则执行所述调整过程。

可选的,所述调整模块,具体用于:

在可用读写频率范围内,选择位于中点的读写频率,作为目标读写频率;

将所述配置信息进行调整为与所述目标读写频率相匹配的配置信息,作为目标配置信息,利用所述目标配置信息对所述NAND控制器配置,并利用配置后的NAND控制器控制所述NAND FLASH进行存储操作;

在存储操作成功时,判断所述目标读写频率是否在区间长度为设定区间长度的读写频率范围内;

若否,按照第一处理方式,对所述可用读写频率范围进行调整,得到第一读写频率范围,并将所述可用读写频率范围替换为所述第一读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤;

若是,则结束调整;

在存储操作错误时,按照第二处理方式,对所述可用读写频率范围进行调整,得到第二读写频率范围,将所述可用读写频率范围替换为所述第二读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤。

可选的,所述配置模块,具体用于:

从所述NAND FLASH中获取所述NAND控制器的配置信息对应的ECC校验码,作为基准ECC校验码;

生成获取到的所述NAND控制器的配置信息的ECC校验码,作为目标ECC校验码;

比较所述基准ECC校验码与所述目标ECC校验码是否一致;

若一致,则按照所述配置信息对所述NAND控制器进行配置。

可选的,所述监控模块,具体用于:

执行监控程序,获取上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,及当前RTC时间;

判断所述上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,与所述当前RTC时间的差值是否超过设定时间阈值;

若是,则执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤。

与现有技术相比,本申请的有益效果为:

在本申请中,当环境变化时,会引起NAND控制器的配置信息与读写频率不匹配,进而导致的存储操作错误,为了解决这一问题,通过调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,实现对NAND FLASH的读写频率的调整,并同时调整NAND控制器的配置信息,使配置信息与NANDFLASH的读写频率相匹配,避免NAND控制器的配置信息与NAND FLASH的读写频率不匹配导致的存储操作错误,降低环境或器件本身变化对读写频率的影响,保证NAND控制器控制的准确性,进而保证NAND FLASH存储操作的成功率。

并且,若所述NAND FLASH存储操作成功,则将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH,保证NAND控制器配置的速度,节省启动时间,提高整体效率。

附图说明

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

图1是本申请提供的一种调整NAND FLASH频率的方法实施例1的流程图;

图2是本申请提供的一种调整NAND FLASH频率的方法实施例2的流程图;

图3是本申请提供的一种调整NAND FLASH频率的方法实施例3的流程图;

图4是本申请提供的一种调整NAND FLASH频率的装置的逻辑结构示意图。

具体实施方式

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

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示的,为本申请提供的一种调整NAND FLASH频率的方法实施例1的流程图,该方法可以包括但不局限于以下步骤:

步骤S11、从NAND FLASH内获取预先放置的NAND控制器的配置信息。

本实施例中,NAND控制器的配置信息可以理解为:用于对NAND控制器进行配置,使NAND控制器具备控制NAND FLASH进行存储操作(如,读、写或擦除)能力的信息。

具体地,从NAND FLASH的特定分区内获取预先放置的NAND控制器的配置信息。

本实施例中,特定分区可以为但不局限于新建分区。当然,特定分区也可以为:已有分区中的其中一部分存储区域。

预先放置的NAND控制器的配置信息可以为但不局限于:空值或当前时间之前,通过调整NAND FLASH的读写频率后,与调整后的读写频率相匹配的NAND控制器的配置信息。

步骤S12、判断获取到的NAND控制器的配置信息是否正确。

判断获取到的NAND控制器的配置信息是否正确,可以包括但不局限于:读取NANDFLASH中的校验位,根据读取到的校验位判断获取到的NAND控制器的配置信息是否正确。

若正确,则执行步骤S13。

步骤S13、按照所述配置信息对所述NAND控制器进行配置,并利用配置后的NAND控制器控制NAND FLASH进行存储操作。

步骤S14、判断所述NAND FLASH进行存储操作是否成功。

若成功,则执行步骤S15;若失败,可能是环境变化导致NAND控制器的配置信息与读写频率不匹配的原因引起,则执行步骤S17。

步骤S15、将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH。

若所述NAND FLASH进行存储操作成功,则可以不调整NAND FLASH的读写频率,将配置后的NAND控制器作为待使用NAND控制器。

步骤S16、执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程。

其中,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功。

本实施例中,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值的过程,可以为:

统计t时间内NAND FLASH存储操作失败的次数,对t时间内NAND FLASH存储操作失败的次数进行处理,得到NAND FLASH存储操作失败的频率,t为大于0的数。

对t时间内NAND FLASH存储操作失败的次数进行处理,可以为但不局限于:将t时间内NAND FLASH存储操作失败的次数处以t时间。

判断NAND FLASH存储操作失败的过程,可以为:从所述NAND FLASH中获取所述NAND控制器的配置信息对应的ECC校验码,并生成获取到的所述NAND控制器的配置信息的ECC校验码,作为目标ECC校验码;比较所述基准ECC校验码与所述目标ECC校验码是否一致,若不一致,则确定存储操作失败。

可选的,监控程序的启动属性可以设置为监控程序的进程关闭后,监控程序的进程在设定时间内启动。设定时间可以设置为零秒,也可以设置为N秒。N为大于0的数。

将监控程序的启动属性设置为监控程序的进程关闭后,监控程序的进程在设定时间内启动,可以保证监控程序执行的及时性,保证监控的可靠性。

本实施例中,在所述NAND FLASH存储操作失败的频率高于设定频率阈值,和/或,在设定时长内未执行过调整过程的情况下,重新执行调整过程,可以保证平时不启动调整过程,降低CUP资源消耗。

本实施例中,设定要求可以根据需要进行设置,在本申请中不做限制。例如,设定要求可以为但不局限于:设定读写频率范围。

本实施例中,在目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功的情况下,可以停止调整所述NANDFLASH的读写频率。

本实施例中,可以根据二分法,调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,具体可以包括:

S161、在可用读写频率范围内,选择位于中点的读写频率,作为目标读写频率。

S162、将所述配置信息进行调整为与所述目标读写频率相匹配的配置信息,作为目标配置信息,利用所述目标配置信息对所述NAND控制器配置,并利用配置后的NAND控制器控制所述NAND FLASH进行存储操作。

S163、在存储操作成功时,判断所述目标读写频率是否在区间长度为设定区间长度的读写频率范围内。

若否,则执行步骤S164;若是,则执行步骤S165。

区间长度也可以理解为:精确度。设定区间长度可以根据需要进行设置,在本申请中不做限制。

S164、按照第一处理方式,从所述可用读写频率范围的两个端点中选择一个,作为第一端点,将所述目标读写频率作为第二端点,将以所述第一端点及所述第二端点为两个端点的读写频率范围,作为目标读写频率范围,并将所述可用读写频率范围替换为所述目标读写频率范围,返回执行步骤S161。

本实施例中,按照第一处理方式,从所述可用读写频率范围的两个端点中选择一个,可以为但不局限于:按照选择两者中的最大值的处理方式,从所述可用读写频率范围的两个端点中选择最大读写频率。

当然,按照第一处理方式,从所述可用读写频率范围的两个端点中选择一个,也可以为但不局限于:按照选择两者中的最小值的处理方式,从所述可用读写频率范围的两个端点中选择最小读写频率。

S165、结束调整。

S166、在存储操作错误时,按照第二处理方式,从所述可用读写频率范围的两个端点中选择一个,作为第三端点,将所述目标读写频率作为第二端点,将以所述第二端点及所述第三端点为两个端点的读写频率范围,作为目标读写频率范围,并将所述可用读写频率范围替换为所述目标读写频率范围,返回执行步骤S161。

在存储操作错误时,可能是目标读写频率过高,则可以降低读写频率。具体地,按照第二处理方式,从所述可用读写频率范围的两个端点中选择一个可以为但不局限于:按照选择两者中的最小值的处理方式,从所述可用读写频率范围的两个端点中选择最小读写频率。

本实施例中,根据二分法,可以快速确定满足要求的目标读写频率,提高整体调整效率。

本实施例中,执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程,可以包括但不局限于:

执行监控程序,获取上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC(Real_Time Clock,实时时钟)时间,及当前RTC时间;

判断所述上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,与所述当前RTC时间的差值是否超过设定时间阈值;

若是,则执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤。

本实施例中,通过判断所述判断程序上一次执行的RTC时间,与所述当前RTC时间的差值是否超过设定时间阈值,可以降低判断程序执行的频率,进一步降低CUP资源的消耗。

若是,则执行步骤S17。

步骤S17、执行所述调整过程,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功。

可以理解的是,步骤S11-S15及执行调整过程在操作系统的BootLoader阶段执行,步骤S16及执行调整过程在操作系统的kemel阶段执行。

在本申请中,当环境变化时,会引起NAND控制器的配置信息与最佳读写频率不匹配,进而导致的存储操作错误,为了解决这一问题,通过动态调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,实现对NAND FLASH的读写频率的调整,并同时调整NAND控制器的配置信息,使配置信息与NAND FLASH的读写频率相匹配,避免NAND控制器的配置信息与NAND FLASH的读写频率不匹配导致的存储操作错误,降低环境或器件本身变化对读写频率的影响,保证NAND控制器控制的准确性,进而保证NAND FLASH存储操作的成功率。

并且,若所述NAND FLASH存储操作成功,则将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH,使启动时可以从NAND FLASH获取配置信息,并对NAND控制器进行配置,保证NAND控制器配置的速度,节省启动时间,提高整体效率。

作为本申请另一可选实施例,参照图2,为本申请提供的一种调整NAND FLASH频率的方法实施例2的流程图,本实施例主要是对上述实施例1描述的调整NAND FLASH频率的方法的扩展方案,如图2所示,该方法可以包括但并不局限于以下步骤:

步骤S21、从NAND FLASH内获取预先放置的NAND控制器的配置信息;

步骤S22、判断获取到的NAND控制器的配置信息是否正确。

若正确,则执行步骤S23;若错误,则执行步骤S27。

步骤S23、按照所述配置信息对所述NAND控制器进行配置,并利用配置后的NAND控制器控制NAND FLASH进行存储操作。

步骤S24、判断所述NAND FLASH进行存储操作是否成功。

若成功,则执行步骤S25;若失败,可能是环境变化导致NAND控制器的配置信息与读写频率不匹配的原因引起,则执行步骤S27。

步骤S25、将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH。

步骤S26、执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程。

若是,则执行步骤S27。

步骤S27、执行所述调整过程,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功。

本实施例中,在获取到的NAND控制器的配置信息错误的情况下,执行调整过程,进一步保证NAND FLASH存储操作的正确性。

作为本申请另一可选实施例,参照图3,为本申请提供的一种调整NAND FLASH频率的方法实施例3的流程图,本实施例主要是对上述实施例1描述的调整NAND FLASH频率的方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:

步骤S31、从NAND FLASH内获取预先放置的NAND控制器的配置信息;

步骤S32、判断获取到的NAND控制器的配置信息是否正确。

若正确,则执行步骤S33。

步骤S31-S32的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。

步骤S33、从所述NAND FLASH中获取所述NAND控制器的配置信息对应的ECC校验码,作为基准ECC校验码。

所述NAND FLASH中所述NAND控制器的配置信息对应的ECC校验码可以理解为:NAND FLASH针对存储的NAND控制器的配置信息,生成的ECC校验码。

步骤S34、生成获取到的所述NAND控制器的配置信息的ECC校验码,作为目标ECC校验码。

步骤S35、比较所述基准ECC校验码与所述目标ECC校验码是否一致。

若一致,则执行步骤S36。

步骤S36、按照所述配置信息对所述NAND控制器进行配置,并利用配置后的NAND控制器控制NAND FLASH进行存储操作。

步骤S33-S36为实施例1中步骤S13的一种具体实施方式。

步骤S37、判断所述NAND FLASH进行存储操作是否成功。

若成功,则执行步骤S38;若失败,可能是环境变化导致NAND控制器的配置信息与读写频率不匹配的原因引起,则执行步骤S310。

步骤S38、将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH。

步骤S39、执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程。

若是,则执行步骤S310。

步骤S310、执行所述调整过程,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功。

步骤S37-S310的详细过程可以参见实施例1中步骤S14-S17的相关介绍,在此不再赘述。

本实施例中,通过比较所述基准ECC校验码与所述目标ECC校验码是否一致,若一致,保证获取到的NAND控制器的配置信息的有效性,进而保证对NAND控制器进行配置的可靠性。

接下来对本申请提供的调整NAND FLASH频率的装置进行介绍,下文介绍的调整NAND FLASH频率的装置与上文介绍的调整NAND FLASH频率的方法可相互对应参照。

请参见图4,调整NAND FLASH频率的装置包括:获取模块100、配置模块200、控制模块300、确定模块400、监控模块500和调整模块600。

获取模块100,用于从NAND FLASH内获取预先放置的NAND控制器的配置信息;

配置模块200,用于若获取到的NAND控制器的配置信息正确,则按照所述配置信息对所述NAND控制器进行配置;

控制模块300,用于利用配置后的NAND控制器控制NAND FLASH进行存储操作;

确定模块400,用于若所述NAND FLASH存储操作成功,则将所述配置后的NAND控制器的配置信息写入到所述NAND FLASH;

监控模块500,用于执行监控程序,判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程,所述调整过程为调整所述NAND FLASH的读写频率,得到目标读写频率,并将所述配置信息调整为与所述目标读写频率相匹配的配置信息,直至所述目标读写频率满足设定要求,且,所述NAND FLASH在按照调整后的配置信息配置的NAND控制器的控制下,存储操作成功;

调整模块600,用于若所述NAND FLASH存储操作失败的频率高于设定频率阈值,和/或,在设定时长内未执行过所述调整过程,则执行所述调整过程,或,若所述NAND FLASH进行存储操作失败,则执行所述调整过程。

本实施例中,所述获取模块100,具体可以用于:

从NAND FLASH的特定分区内获取预先放置的NAND控制器的配置信息。

本实施例中,所述调整模块600,还可以用于:

若获取到的NAND控制器的配置信息错误,则执行所述调整过程。

本实施例中,所述调整模块600,具体可以用于:

在可用读写频率范围内,选择位于中点的读写频率,作为目标读写频率;

将所述配置信息进行调整为与所述目标读写频率相匹配的配置信息,作为目标配置信息,利用所述目标配置信息对所述NAND控制器配置,并利用配置后的NAND控制器控制所述NAND FLASH进行存储操作;

在存储操作成功时,判断所述目标读写频率是否在区间长度为设定区间长度的读写频率范围内;

若否,按照第一处理方式,对所述可用读写频率范围进行调整,得到第一读写频率范围,并将所述可用读写频率范围替换为所述第一读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤;

若是,则结束调整;

在存储操作错误时,按照第二处理方式,对所述可用读写频率范围进行调整,得到第二读写频率范围,将所述可用读写频率范围替换为所述第二读写频率范围,返回执行所述在可用读写频率范围内,选择位于中点的读写频率的步骤。

本实施例中,所述配置模块200,具体可以用于:

从所述NAND FLASH中获取所述NAND控制器的配置信息对应的ECC校验码,作为基准ECC校验码;

生成获取到的所述NAND控制器的配置信息的ECC校验码,作为目标ECC校验码;

比较所述基准ECC校验码与所述目标ECC校验码是否一致;

若一致,则按照所述配置信息对所述NAND控制器进行配置。

本实施例中,所述监控模块500,具体可以用于:

执行监控程序,获取上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,及当前RTC时间;

判断所述上一次执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤的RTC时间,与所述当前RTC时间的差值是否超过设定时间阈值;

若是,则执行所述判断所述NAND FLASH存储操作失败的频率是否高于设定频率阈值,和/或,判断是否在设定时长内未执行过调整过程的步骤。

需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

以上对本申请所提供的一种调整NAND FLASH频率的方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据传输控制方法、功能机及相关产品

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!