一种闪存介质的访问方法及控制器技术

技术编号:18209687 阅读:44 留言:0更新日期:2018-06-13 08:47
本申请公开了一种闪存介质的访问方法,包括:控制器从N个功能队列中按照预定义规则选择一个目标功能队列;其中,目标功能队列为非空队列,且与目标功能队列关联的Die所在的闪存介质为空闲状态,N为大于1的整数;从目标功能队列中取出一个基础指令;根据预设的队列映射信息确定与目标功能队列关联的Die;其中,控制器连接至少一个闪存介质,至少一个闪存介质包括N个Die,队列映射信息表示N个功能队列与N个Die呈一一映射关系;根据预设的信号生成规则生成与基础指令对应的时序信号,以及向关联的Die所在的闪存介质发送时序信号。采用本发明专利技术,能提高闪存介质指令执行的效率以及控制器对不同闪存介质的兼容性。

【技术实现步骤摘要】
【国外来华专利技术】一种闪存介质的访问方法及控制器
本专利技术涉及存储领域,尤其涉及一种闪存介质的访问方法及控制器。
技术介绍
固态硬盘(SolidStateDevice,SSD)因其具有存取速度快和抗震性能好等优点,使其应用越来越广泛。固态硬盘的主要存储介质为闪存介质,例如NandFlash,一个NandFlash为一个设备(device),一个设备可以由1个或多个晶片(Die)构成,一个晶片可以分成多个闪存片(Plane),一个闪存片可以分成若干个块(Block),一个块又被分成很多个页(Page)。NandFlash的数据读写操作的基本单位为页,以块为单位进行数据擦除。不同的NandFlash厂家生产的NandFlash拥有不同的模式、速度、命令和协议,甚至相同的生产厂家的不同工艺和批次的NandFlash对应的模式、速度、命令和协议也可能不相同,现有的NandFlash控制器采用固件的形式来控制闪存介质,无法兼容不同类型的闪存介质。同时,NandFlash控制器的操作方法是:在接收到操作指令后,先将操作指令拆分为多个基础指令,再将多个基础指令依次发送给闪存介质,NandFlash控制器在等待闪存介质执行完一个基础指令后,再将下一个基础指令发送给闪存介质。由于不同的基础指令执行时间的差异,控制器将会浪费很多的等待时间去等待当前指令被闪存介质执行完之后再发送新的指令,造成操作指令执行效率低。
技术实现思路
本申请公开了一种闪存介质的访问方法及控制器,能够提高操作指令的执行效率和兼容不同类型的存储介质。本申请第一方面提供了一种闪存介质的访问方法,存储介质可以为NandFlash,控制器可以为NandFlash控制器,控制器可位于个人计算机、服务器、磁盘阵列或固态硬盘中。N个功能队列可以设置于控制器内部的存储器中,例如:控制器内部的寄存器或缓存中,功能队列用于存放基础指令。基础指令由控制器的上层设备发出的操作指令拆分而成,上层设备可以为SSD(SolidStateDrives,固态硬盘,简称SSD)控制器。控制器连接有至少一个闪存介质,至少一个闪存介质中每个闪存介质包括至少一个Die。控制器中功能队列的数量等于控制器连接的的Die的数量,即Die的数量也为N个,N个功能队列和N个Die呈一一映射关系,即一个功能队列唯一对应的一个Die。操作指令表示SSD控制器发出的针对NandFlash的逻辑操作,例如:读页操作或擦除块操作等,操作指令需要由NandFlash控制器具体来执行,NandFlash控制器在执行SSD控制器发出的操作指令时需要执行的一组微操作,该微操作即为基础指令,基础指令可由控制器可直接执行例如:基础指令为:块擦除操作、写数据操作、写等待操作和状态查询操作等。下面对控制器的工作原理进行说明:控制器从N个功能队列中根据预定义规则选择一个目标功能队列,其中,选择的目标功能队列满足非空队列和目标功能队列对应的Die所在的闪存介质为空闲状态的条件,非空队列表示功能队列中至少存放一个基础指令。控制器检测Die所在的闪存介质的状态的方法可以是:控制器向Die所在的闪存介质发送专有的状态检测指令,状态检测指令能优先被闪存介质响应,在极短的时间内返回Die的状态,由此控制器可检测Die所在的闪存介质的状态;需要说明的是,在闪存介质包括多个Die的情况下,多个Die中至少有1个Die所在的闪存介质为空闲状态时表明对应的闪存介质空闲状态。其中,控制器获取功能队列中的基础指令的数量的方法可以是:控制器可以维护一个记录表,记录表中存放表示N个功能队列中每个功能队列中当前的基础指令数量的表项,当某个功能队列中队列头的基础指令发生入队操作或出队操作时,控制器更新记录表中存储该功能队列的表项。控制器从目标功能队列中取出一个基础指令。控制器根据预设的队列映射信息确定与目标功能队列关联的Die,同时根据预设的闪存介质与Die的对应关系,确定关联的Die所在的闪存介质,控制器根据预设的信号生成规则生成与基础指令对应的时序信号,信号生成规则表示基础指令的时序信号生成规则,例如:输出的时钟周期数量、输出的引脚的序号、每个时钟周期内引脚上的电平状态等,控制器向关联的Die所在的闪存介质发送时序信号。其中,控制器与闪存介质之间的通信协议可遵循Toggle(切换)或ONFI(OpenNandFlashInterface,开放Nand闪存接口)协议。上述实施例,控制器在根据预定义规则选择目标功能队列时,满足目标功能队列为非空队列且目标功能队列关联的Die所在的闪存介质为空闲状态,这样能实现不同的Die并行的执行控制器发送的基础指令,提高操作指令的执行效率。同时,基础指令对应的时序信号由预设的信号生成规则生成,这样可以通过配置与不同类型的闪存介质对应的信号生成规则,以达到匹配不同类型的闪存介质的作用,提高了控制器对闪存介质的兼容性。在一种可能的实施方式中,所述方法还包括:控制器接收操作指令,操作指令的类型可以是读操作指令或写操作指令,操作指令携带访问地址。操作指令可以由不同类型的基础指令通过不同的组合方式构成,控制器可以根据预设的拆分规则将操作指令拆分为至少两个基础指令,拆分规则可以为:根据预先定义的操作指令与基础指令的映射关系进行拆分。例如拆分规则可以是:当读操作指令为读页命令时,读命令中可携带自身的标识,控制器可根据预存的操作命令的标识与基础指令的标识的对应关系,得到关联的3个基础命令的标识,根据3个基础命令的标识将将读页命令拆分为三个基础指令:发送读命令、检查状态寄存器和读数据传输,每个基础命令中携带自身的标识;又例如拆分规则可以是:写操作指令为写页命令时,根据预存的写页命令的标识与基础指令的标识的映射关系可以将操作指令拆分成3个基础指令:1、擦除块,2、检查状态寄存器,3、传输数据,每个基础指令可携带自身的标识。本实施例中操作指令的拆分规则并不限于上述举例,可以根据需要采用现有的任意一种方法进行拆分。控制器连接有至少一个闪存介质,至少一个闪存介质中每个闪存介质包括至少一个Die,控制器连接的Die的数量等于功能队列的数量N,N个Die中每个Die具有不同的地址区间,由于N个功能队列和N个Die是一一映射关系,每个功能队列对应一个地址区间,控制器根据操作指令中携带的访问地址所在的地址区间来从N个功能队列中确定关联的功能队列。控制器将拆分后的至少两个基础指令放入关联的功能队列。需要说明的是,控制器将拆分后的基础指令放入功能队列时,发送基础指令的顺序可按照先进先出的规则。值得说明的是,不同厂商的闪存介质对操作指令拆分的方法可不相同,例如对于同一操作指令,不同厂商拆分操作指令得到的基础指令的类型和数量可以各不相同,具体的拆分规则本专利技术不作限制。上述实施例,将操作指令拆分为多个基础指令,将拆分后的基础指令根据访问地址放入对应的功能队列,以便不同操作指令对应的基础指令并发的被执行,提高闪存介质的Die的并发性,减少执行时间。在本专利技术的一种可能的实施方式中,控制器接收到上层设备发送的一个操作指令时,控制器可将接收到的操作指令缓存在命令队列中,命令队列可以为先进先出队列,命令队列起到缓冲作用,控制器每次从命令队列中取出一个操作指令。其中,命令队列可以设置在控本文档来自技高网...
一种闪存介质的访问方法及控制器

【技术保护点】
一种闪存介质的访问方法,其特征在于,包括:控制器从N个功能队列中选择一个目标功能队列;其中,所述目标功能队列为非空队列,且与所述目标功能队列关联的Die所在的闪存介质为空闲状态,N为大于1的整数;所述控制器从所述目标功能队列中取出一个基础指令;所述控制器根据预设的队列映射信息确定与所述目标功能队列关联的Die;其中,所述控制器连接至少一个闪存介质,所述至少一个闪存介质中每个闪存介质包括至少一个Die,所述控制器连接的Die的数量等于N,所述队列映射信息表示所述N个功能队列与N个Die之间的映射关系;所述控制器根据预设的信号生成规则生成与所述基础指令对应的时序信号;所述控制器向所述关联的Die所在的闪存介质发送所述时序信号。

【技术特征摘要】
【国外来华专利技术】1.一种闪存介质的访问方法,其特征在于,包括:控制器从N个功能队列中选择一个目标功能队列;其中,所述目标功能队列为非空队列,且与所述目标功能队列关联的Die所在的闪存介质为空闲状态,N为大于1的整数;所述控制器从所述目标功能队列中取出一个基础指令;所述控制器根据预设的队列映射信息确定与所述目标功能队列关联的Die;其中,所述控制器连接至少一个闪存介质,所述至少一个闪存介质中每个闪存介质包括至少一个Die,所述控制器连接的Die的数量等于N,所述队列映射信息表示所述N个功能队列与N个Die之间的映射关系;所述控制器根据预设的信号生成规则生成与所述基础指令对应的时序信号;所述控制器向所述关联的Die所在的闪存介质发送所述时序信号。2.如权利要求1所述的方法,其特征在于,所述控制器根据预设的信号生成规则生成与所述基础指令对应的时序信号包括:所述控制器获取所述基础指令的标识;所述控制器查询与所述基础指令的标识关联的至少一种引脚电平状态信息和输出顺序信息;其中,引脚电平状态信息表示一个时钟周期内指定引脚上的电平状态,所述输出顺序信息表示所述至少一种引脚电平状态信息的输出顺序,所述指定引脚为所述控制器上的控制引脚;所述控制器根据所述至少一种引脚电平状态信息和所述输出顺序信息生成所述时序信号。3.如权利要求1所述的方法,其特征在于,所述控制器根据预设的信号生成规则生成与所述基础指令对应的时序信号包括:所述控制器获取所述基础指令的标识;所述控制器根据预设的信号生成规则查询与所述基础指令的标识关联的时钟周期数量信息和电平状态信息;其中,所述时钟周期数量信息表示待输出的时钟周期的数量,电平状态信息表示待输出的时钟周期中每个时钟周期在指定引脚上的电平状态;所述控制器根据所述时钟周期数量信息和所述电平状态信息生成所述时序信号。4.如权利要求1-3任意一项所述的方法,其特征在于,还包括;所述控制器接收SSD固态硬盘控制器发送的操作指令;其中,所述操作指令携带访问地址;所述控制器将所述操作指令拆分为至少两个基础指令;所述控制器从所述N个功能队列中确定与所述访问地址关联的功能队列;所述控制器将所述至少两个基础指令放入所述关联的功能队列。5.如权利要求4所述的方法,其特征在于,所述控制器确定所述N个功能队列中与所述访问地址关联的功能队列包括:根据所述访问地址所在的地址区间确定目标Die;其中,所述N个Die中每个Die对应一个地址区间;根据所述队列映射信息确定与所述目标Die关联的功能队列,其中,所述目标Die为所述控制器连接的N个Die中的一个。6.如权利要求1-5任意一项所述的方法,其特征在于,所述控制器从N个功能队列中选择一个目标功能队列包括:所述控制器根据优先级降序的方式每次从所述N个功能队列中选择一个非空的功能队列作为所述目标功能队列;或所述控制器随机方式每次从所述N个功能队列中选择一个非空的功能队列作为所述目标功能队列;或所述控制器根据队列ID升序或队列ID降序的方式每次从所述N个功能队列中选择一个非空的功能队列作为所述...

【专利技术属性】
技术研发人员:李涛周冠锋李生
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1