一种NANDFlash控制方法、装置及SSD与流程

文档序号:14775331发布日期:2018-06-23 03:03阅读:220来源:国知局
一种NAND Flash控制方法、装置及SSD与流程

本申请涉及存储器技术领域,尤其涉及一种NAND Flash控制方法、装置及NAND Flash。



背景技术:

一个存储器系统主要由应用层主控、数据缓存装置、存储控制器和存储设备组成。如果在存储系统中要对存储设备进行访问,需要一个硬件控制器,将应用层主控的操作指令转换成存储设备物理层定义的命令集。NAND Flash作为常见的存储设备具有容量大,改写速度快、数据不易丢失等优点,适用于大规模数据的存储,在业界得到了越来越广泛的应用。

在一个系统中,对NAND Flash进行读写时,需要一个硬件控制器,把系统的读写转换为NAND颗粒定义的接口下的读写。系统的读写转换成NAND颗粒定义的接口下的读写时,会伴随着大量复杂且重复的配置工作。例如:对NAND Flash进行不同的度操作或不同的写操作时,前期的初始指令配置都是一样的,唯一不同的只是其中读写的地址信息和参数信息。而且如果在一次读写过程中出现读写异常、掉电异常等特殊情况,则会导致系统重新进行读写。

由上述可知,不同读写对应的初始相同配置的反复操作或者在NAND Flash读写过程中出现异常导致的重新读写,使得NAND Flash读写过程中会占用大量的CPU资源,降低了运行效率。



技术实现要素:

本申请提供了一种NAND Flash控制方法、装置及SSD,以解决传统的NAND Flash在进行读写操作时效率低的问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

一种NAND Flash控制方法,所述包括:确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息;根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板;将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。

可选地,所述确定NAND Flash读写指令的初始命令模板表,包括:确定NAND Flash读写指令中的所有初始参数;将所述初始参数以写入的方式配置到预设的随机存取存储器中,生成初始命令模板表。

可选地,所述根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板,包括:NAND Flash控制器解析获取到的指令信息中的初始地址参数;将所述初始地址参数与命令模板表中的模板的初始地址参数进行比对,获取相同初始地址参数的命令模板;根据所述命令模板初始地址参数对应的实际物理地址调用所述命令模板。

可选地,所述将所述指令信息的关键信息配置到所述命令模板中,完成指令操作,包括:NAND Flash控制器获取所述指令信息对应的地址参数和操作参数;将所述地址参数和所述操作参数配置到所述命令模板中,完成指令操作。

可选地,所述方法还包括:判断获取到的指令信息的优先级;如果第二时刻获取到的指令信息的优先级为高优先级,判断第一时刻获取到的指令信息对应的优先级;根据第一时刻获取到的指令信息对应的优先级和第二时刻获取到的指令信息的优先级确定优先执行的指令信息。

可选地,所述根据第一时刻获取到的指令信息对应的优先级和第二时刻获取到的指令信息的优先级确定优先执行的指令信息,包括:如果第一时刻获取到的指令信息对应的优先级与第二时刻获取到的指令信息的优先级相同或者高于第二时刻获取到的指令信息的优先级,则执行第一时刻获取到的指令信息;如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级,则执行第二时刻获取到的指令信息。

可选地,如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级且第一时刻获取到的指令信息已经开始执行,则中断所述第一时刻获取到的指令信息的执行操作,执行所述第二时刻获取到的指令信息。

可选地,当所述第二时刻获取到的指令信息执行完毕,恢复中断的所述第一时刻获取到的指令信息的执行操作。

一种NAND Flash控制装置,所述装置包括:确定模块,用于确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息;调用模块,用于根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板;处理模块,用于将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。

一种SSD,包括NAND Flash控制装置,所述NAND Flash控制装置执行所述NAND Flash控制方法。

由上述技术方案可见,本申请实施例提供的一种NAND Flash控制方法、装置及NAND Flash,包括:确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息;根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板;将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。命令模板表中配置了对应不同读写指令信息的命令模板,当获取到读或写的指令需要执行时,根据不同指令的初始地址参数匹配命令模板表中的对应命令模板,避免了执行不同的指令需要反复配置初始参数的问题,降低了CPU的占用率,提高了NAND Flash读写操作的效率。

附图说明

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

图1为本申请提供的NAND Flash控制方法一个实施例的方法流程图;

图2为本申请提供的NAND Flash控制装置一个实施例的结构示意图;

图3为本申请提供的一种SSD的结构示意图。

具体实施方式

下面结合附图对本申请进行详细说明。

参见图1为本申请提供的NAND Flash控制方法一个实施例的方法流程图,如图1所示,所述方法包括:

S101,确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息。

在系统的读写转换成NAND颗粒定义的接口下的读写时,会伴随着大量复杂且重复的配置工作,一些NAND Flash接口协议规定的命令集属于固定的模式,这样将会大量的占用CPU的资源,降低了系统的性能。本申请实施例中确定NAND Flash读写指令中的所有初始参数,即命令集的固定模式。将所述初始参数以写入的方式配置到预设的随机存取存储器中,生成初始命令模板表。在系统初始化时,将此表写入存放命令模板表的RAM,并记录起始地址。

S102,根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板。

NAND Flash控制器解析获取到的指令信息中的初始地址参数;将所述初始地址参数与命令模板表中的模板的初始地址参数进行比对,获取相同初始地址参数的命令模板;根据所述命令模板初始地址参数对应的实际物理地址调用所述命令模板。

本申请提供了一块用于缓存CPU配置操作的SRAM,CPU只需将想要执行的操作以协定的格式写入该SRAM中并更新指针。NAND Flash控制器会在空闲时自行检测对应通道的指针并取走CPU配置的命令,再依照协定对其进行解析并下发到NAND Flash中去。操作结束后,NAND Flash控制器会将对应的操作信息存放在命令结果模块中。当CPU空闲时可以去读这个命令结果模块,获得相关信息。

S103,将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。

NAND Flash控制器获取所述指令信息对应的地址参数和操作参数;将所述地址参数和所述操作参数配置到所述命令模板中,完成指令操作。

当NAND Flash控制器检测到一些特殊场景时(如读写异常等),还可自动调用命令模板表,而无需通过应用层主控下发配置。这样就保证了特殊场景的相应需求,从而进一步提高了系统的性能。

判断获取到的指令信息的优先级;如果第二时刻获取到的指令信息的优先级为高优先级,判断第一时刻获取到的指令信息对应的优先级;根据第一时刻获取到的指令信息对应的优先级和第二时刻获取到的指令信息的优先级确定优先执行的指令信息。所述根据第一时刻获取到的指令信息对应的优先级和第二时刻获取到的指令信息的优先级确定优先执行的指令信息,包括:如果第一时刻获取到的指令信息对应的优先级与第二时刻获取到的指令信息的优先级相同或者高于第二时刻获取到的指令信息的优先级,则执行第一时刻获取到的指令信息;如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级,则执行第二时刻获取到的指令信息。

如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级且第一时刻获取到的指令信息已经开始执行,则中断所述第一时刻获取到的指令信息的执行操作,执行所述第二时刻获取到的指令信息。当所述第二时刻获取到的指令信息执行完毕,恢复中断的所述第一时刻获取到的指令信息的执行操作。

从上述实施例可以看出,本实施例提供的一种NAND Flash控制方法包括:确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息;根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板;将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。命令模板表中配置了对应不同读写指令信息的命令模板,当获取到读或写的指令需要执行时,根据不同指令的初始地址参数匹配命令模板表中的对应命令模板,避免了执行不同的指令需要反复配置初始参数的问题,降低了CPU的占用率,提高了NAND Flash读写操作的效率。

与上述提供的一种NAND Flash控制方法的实施例相对应,本申请还提供了一种NAND Flash控制装置的实施例。

参见图2,所述装置包括:确定模块201、调用模块202和处理模块203。所述确定模块201,用于确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息。所述调用模块202,用于根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板。所述处理模块203,用于将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。

所述确定模块201包括确定单元和第一配置单元。所述确定单元用于确定NAND Flash读写指令中的所有初始参数;所述第一配置单元用于将所述初始参数以写入的方式配置到预设的随机存取存储器中,生成初始命令模板表。

所述调用模块202包括解析单元、比对单元和调用单元。所述解析单元用于NAND Flash控制器解析获取到的指令信息中的初始地址参数;所述比对单元用于将所述初始地址参数与命令模板表中的模板的初始地址参数进行比对,获取相同初始地址参数的命令模板;所述调用单元用于根据所述命令模板初始地址参数对应的实际物理地址调用所述命令模板。

所述处理模块203包括获取单元和第二配置单元。所述获取单元用于NAND Flash控制器获取所述指令信息对应的地址参数和操作参数;所述第二配置单元用于将所述地址参数和所述操作参数配置到所述命令模板中,完成指令操作。

所述处理模块还包括:判断处理单元,用于判断获取到的指令信息的优先级;如果第二时刻获取到的指令信息的优先级为高优先级,判断第一时刻获取到的指令信息对应的优先级;根据第一时刻获取到的指令信息对应的优先级和第二时刻获取到的指令信息的优先级确定优先执行的指令信息。如果第一时刻获取到的指令信息对应的优先级与第二时刻获取到的指令信息的优先级相同或者高于第二时刻获取到的指令信息的优先级,则执行第一时刻获取到的指令信息;如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级,则执行第二时刻获取到的指令信息。如果第一时刻获取到的指令信息对应的优先级低于第二时刻获取到的指令信息的优先级且第一时刻获取到的指令信息已经开始执行,则中断所述第一时刻获取到的指令信息的执行操作,执行所述第二时刻获取到的指令信息。当所述第二时刻获取到的指令信息执行完毕,恢复中断的所述第一时刻获取到的指令信息的执行操作。

从上述实施例可以看出,本实施例提供的一种NAND Flash控制装置包括:确定模块201、调用模块202和处理模块203。所述确定模块201,用于确定NAND Flash读写指令的初始命令模板表,所述命令模板表中的不同模板对应不同命令类型、初始地址和颗粒信息。所述调用模块202,用于根据获取到的指令信息中的初始地址参数调用所述命令模板表中对应的命令模板。所述处理模块203,用于将所述指令信息的关键信息配置到所述命令模板中,完成指令操作。命令模板表中配置了对应不同读写指令信息的命令模板,当获取到读或写的指令需要执行时,根据不同指令的初始地址参数匹配命令模板表中的对应命令模板,避免了执行不同的指令需要反复配置初始参数的问题,降低了CPU的占用率,提高了NAND Flash读写操作的效率。

如图3所示,本申请实施例还提供了一种SSD(Solid State Drives,固态硬盘),包括上述实施例提供的NAND Flash控制装置,所述NAND Flash控制装置执行所述NAND Flash控制方法,控制所述SSD内部的NAND Flash,降低了CPU的占用率,提高了NAND Flash读写操作的效率。本实施例提供的SSD还包括其他外设,在此不在赘述。

本实施例提供的一种具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的呼叫方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

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

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置和NAND Flash实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

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