闪存控制方法、闪存控制器及闪存系统技术方案

技术编号:20840579 阅读:33 留言:0更新日期:2019-04-13 08:31
本发明专利技术实施例提出了一种闪存控制方法、闪存控制器及闪存系统,涉及存储技术领域,该方法中:闪存控制器在获得由固件发送的目标操作指令后,通过监听目标LUN的当前状态,并在目标LUN处于空闲状态时,将目标操作指令添加到命令队列,进而由闪存控制器将命令队列中所存储的所有操作指令分别发送给存储单元,以使存储单元执行命令队列中的所有操作指令。发明专利技术实施例所提供的一种闪存控制方法、闪存控制器及闪存系统,能够简化固件的代码,提升系统性能。

【技术实现步骤摘要】
闪存控制方法、闪存控制器及闪存系统
本专利技术涉及存储
,具体而言,涉及一种闪存控制方法、闪存控制器及闪存系统。
技术介绍
闪存(FlashMemory)作为固态硬盘(SolidStateDrives,SSD)核心存储器件,具备非易失性、存储密度高,读写速度远高于磁性存储介质等优点,在业界得到广泛应用。一般来说,根据闪存容量的不同,一个闪存器件封装了一个或多个的target,也称CE(ChipEnable,芯片选通),一个CE包含了一个或多个的LUN(LogicalUnitNumber,逻辑单元号),LUN为闪存在通信时的最小基本管理单元,是一个闪存命令执行的基本单元。
技术实现思路
本专利技术的目的在于提供一种闪存控制方法、闪存控制器及闪存系统,能够简化固件的代码,提升系统性能。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种闪存控制方法,应用于与存储单元电连接的闪存控制器,所述存储单元包括多个逻辑单元号LUN,所述方法包括:获得固件发送的目标操作指令,其中,所述目标操作指令包含有目标LUN;监听所述目标LUN的当前状态,其中,所述当前状态包括空闲状态或忙碌状态;当所述目标LUN处于空闲状态时,将所述目标操作指令添加到命令队列,其中,所述命令队列用于记录所有对应LUN处于空闲状态时的操作指令;将所述命令队列中所有操作指令分别发送给所述存储单元,以使所述存储单元执行所述命令队列中的所有操作指令。第二方面,本专利技术实施例提供了一种闪存控制器,应用于与存储单元电连接的闪存控制器,所述存储单元包括多个逻辑单元号LUN,所述闪存控制器包括:第一收发模块,用于获得固件发送的目标操作指令,其中,所述目标操作指令包含有目标LUN;状态监听模块,用于监听所述目标LUN的当前状态,其中,所述当前状态包括空闲状态或忙碌状态;指令添加模块,用于当所述目标LUN处于空闲状态时,将所述目标操作指令添加到命令队列,其中,所述命令队列用于记录所有对应LUN处于空闲状态时的操作指令;第二收发模块,用于将所述命令队列中所有操作指令分别发送给所述存储单元,以使所述存储单元执行所述命令队列中的所有操作指令。第三方面,本专利技术实施例提供了一种闪存系统,包括固件、存储单元以及本专利技术实施例第二方面所提供的闪存控制器;所述固件用于向所述闪存控制器发送目标操作指令,其中,所述目标操作指令包含有目标LUN;所述闪存控制器用于基于所述目标LUN的当前状态,将所述目标LUN发送给所述存储单元;所述存储单元用于执行所述目标操作指令。相对于现有技术,本专利技术实施例所提供的一种闪存控制方法、闪存控制器及闪存系统,闪存控制器在获得由固件发送的目标操作指令后,通过监听目标LUN的当前状态,并在目标LUN处于空闲状态时,将目标操作指令添加到命令队列,进而由闪存控制器将命令队列中所存储的所有操作指令分别发送给存储单元,以使存储单元执行命令队列中的所有操作指令,相比于现有技术,使多个LUN间并发的调度管理不再由固件来执行,而是由闪存控制器来执行,能够简化固件的代码,提升系统性能。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。图1为一种闪存系统的结构示意图;图2出了本专利技术实施例所提供的一种闪存控制方法的一种示意性流程图;图3为一种闪存控制器的逻辑状态示意图;图4为图2中S300的子步骤的一种示意性流程图;图5为基本读命令序列示意图;图6为图2中S500的子步骤的一种示意性流程图;图7示出了本专利技术实施例所提供的一种闪存控制器的一种示意性结构图;图8示出了本专利技术实施例所提供的一种闪存控制器的指令添加模块的一种示意性结构图;图9示出了本专利技术实施例所提供的一种闪存控制器的第二收发模块的一种示意性结构图。图中:10-闪存系统;100-固件;200-闪存控制器;210-第一收发模块;220-状态监听模块;230-指令添加模块;231-子队列确定单元;232-指令拆分单元;233-子命令添加单元;240-第二收发模块;241-当前发送队列确定单元;242-指令发送单元;243-子队列切换单元;300-存储单元。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。下面结合附图,对本专利技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。读写擦是闪存完成数据转移、存储及管理的基本操作。从闪存的角度看,读命令从闪存内部存储阵列读取数据;写(编程)命令完成数据写入闪存内部存储阵列;擦除命令完成闪存内部存储阵列数据清除。比如,请参阅图1,图1为一种闪存系统10的结构示意图,在该闪存系统10中,包括有固件100、闪存控制器200及存储单元300,固件100与闪存控制器200通信连接,且闪存控制器200与存储单元300电连接;存储单元300包括有多个LUN,将所有的LUN划分为多个CE,且每一CE均与闪存控制器200电连接,比如在如图1所示的示意图中,假定按照每两个LUN划分为1个CE的原则,2n数量的LUN共计划分有n个CE。由于LUN的特性之一为:LUN在执行操作指令时,不允许接收新的指令,这一限制能够确保LUN指令正确地被执行。但对于如图1所示的Multi-LUN闪存系统10,为了提升闪存的性能,一般需要Multi-LUN的并发,也就是多个LUN同时执行各自的指令,比如在如图1所示的示意图中,虽然LUN1在执本文档来自技高网...

【技术保护点】
1.一种闪存控制方法,其特征在于,应用于与存储单元电连接的闪存控制器,所述存储单元包括多个逻辑单元号LUN,所述方法包括:获得固件发送的目标操作指令,其中,所述目标操作指令包含有目标LUN;监听所述目标LUN的当前状态,其中,所述当前状态包括空闲状态或忙碌状态;当所述目标LUN处于空闲状态时,将所述目标操作指令添加到命令队列,其中,所述命令队列用于记录所有对应LUN处于空闲状态时的操作指令;将所述命令队列中所有操作指令分别发送给所述存储单元,以使所述存储单元执行所述命令队列中的所有操作指令。

【技术特征摘要】
1.一种闪存控制方法,其特征在于,应用于与存储单元电连接的闪存控制器,所述存储单元包括多个逻辑单元号LUN,所述方法包括:获得固件发送的目标操作指令,其中,所述目标操作指令包含有目标LUN;监听所述目标LUN的当前状态,其中,所述当前状态包括空闲状态或忙碌状态;当所述目标LUN处于空闲状态时,将所述目标操作指令添加到命令队列,其中,所述命令队列用于记录所有对应LUN处于空闲状态时的操作指令;将所述命令队列中所有操作指令分别发送给所述存储单元,以使所述存储单元执行所述命令队列中的所有操作指令。2.如权利要求1所述的方法,其特征在于,所述闪存控制器预先配置有状态查找表,所述状态查找表记录有每一LUN各自的当前状态;所述监听所述目标LUN的当前状态的步骤,包括:在所述状态查找表中查找与所述目标LUN对应的当前状态。3.如权利要求2所述的方法,其特征在于,在所述将所述目标操作指令添加到命令队列的步骤之后,所述方法还包括:更新所述状态查找表,以使所述目标LUN在所述状态查找表中的当前状态修改为忙碌状态。4.如权利要求1所述的方法,其特征在于,所述命令队列包括多个子队列,每一所述子队列预先被配置为存储至少一个LUN的操作指令,且每一所述子队列均包括第一队列及第二队列;所述将所述目标操作指令添加到命令队列的步骤,包括:确定出所述目标LUN所属的目标子队列;拆分所述目标操作命令,得到第一类目标子命令和第二类目标子命令,其中,所述第一类目标子命令为所述目标操作命令中监听所述目标LUN的当前状态之前的子命令,所述第二类目标子命令为所述目标操作命令中监听所述目标LUN的当前状态时或监听所述目标LUN的当前状态后的子命令;将所述第一类目标子命令和所述第二类目标子命令分别添加至所述目标子队列中的第一队列及第二队列。5.如权利要求4所述的方法,其特征在于,所述将所述命令队列中所有操作指令分别发送给所述存储单元的步骤,包括:在所...

【专利技术属性】
技术研发人员:汪再金
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1